1+ # docker build -f Dockerfile.base -t roo-code-benchmark-base ..
12# docker build -f Dockerfile.dev -t roo-code-benchmark-dev ..
2- # docker run -d -p 2222:22 -it roo-code-benchmark-dev
3+ # docker run -d -p 2222:22 -v ~/Documents/Roo-Code:/home/vscode/repo - it roo-code-benchmark-dev
34# docker exec -it $(docker ps --filter "ancestor=roo-code-benchmark-dev" -q) /bin/bash
45# ssh vscode@localhost -p 2222
56# Or, use VSCode SSH remote extension to connect.
67
7- FROM ubuntu:latest
8+ FROM roo-code-benchmark-base
89
9- # Install dependencies
10- RUN apt update && apt install -y curl git vim
11-
12- # Install VS Code
13- # https://code.visualstudio.com/docs/setup/linux
14- RUN apt update && apt install -y wget gpg apt-transport-https
15- RUN wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > packages.microsoft.gpg
16- RUN install -D -o root -g root -m 644 packages.microsoft.gpg /etc/apt/keyrings/packages.microsoft.gpg
17- RUN echo "deb [arch=amd64,arm64,armhf signed-by=/etc/apt/keyrings/packages.microsoft.gpg] https://packages.microsoft.com/repos/code stable main" | tee /etc/apt/sources.list.d/vscode.list > /dev/null
18- RUN rm -f packages.microsoft.gpg
19- RUN apt update && apt install -y code
20-
21- # Install Xvfb
22- RUN apt install -y xvfb
10+ WORKDIR /
11+ USER root
2312
2413# Install SSH server
2514RUN apt install -y openssh-server
@@ -28,34 +17,16 @@ RUN mkdir -p /var/run/sshd && \
2817 echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
2918RUN ssh-keygen -A
3019
31- # Install node.js
32- RUN curl -sL https://deb.nodesource.com/setup_18.x | bash -
33- RUN apt update && apt install -y nodejs
34-
35- # Create a `vscode` user
36- RUN apt install -y sudo && \
37- useradd -m vscode -s /bin/bash && \
38- echo "vscode ALL=(ALL) NOPASSWD:ALL" > /etc/sudoers.d/vscode && \
39- chmod 0440 /etc/sudoers.d/vscode
40-
41- WORKDIR /home/vscode
42- USER vscode
43-
20+ # Setup SSH keys
4421RUN mkdir -p /home/vscode/.ssh
4522RUN echo "ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABgQDKGzg3BQ0QHU4m6G6CAdQ57LnBVljlPWfdySrsjV3twQaOYoJ8eEy1ck7kYZfH7DIbCteH4hkNIk32ghjWE84j3unO2/3wGC+CId9raZMudi8UbNgAFMYZZqTcrWR1lCxSLpDNT01JHYHw4BCMkJ4XjH2so+b5t/OzKVqvLJHOVTE7aZARsqrdQdiAmd9bbArFIoaLnvHYvArPprLU9clfhQJrAXi484t4eK2h2lMtiitmHph9WpcTxYiDdEg4fxlA2yYDkQZGcjoNPFTBEP5RpmXMcNV7/Zb2U0rJIOPrFqIwZ5yG79Kic8ajPdtmGdVpYec/OlR1Oer0kfakU2RImTzJPZeGnXy/hvcQErAqgpzTLn7dz2YaWMYdcLm6HOmZl1nj3LauWmRcCB8cxM34GjFXMpNm+6Ey8pmgoCMGLdBjL5/xqT6PbQxbYgUJNXMc51qMX8C3lkX/muQD8pDaj5kLXJhYkCgVGwcoC+hbJAOYSry4NQ8aTsFmjyTkaTE= cte@monstera" > /home/vscode/.ssh/authorized_keys
4623RUN chown -R vscode:vscode /home/vscode/.ssh
4724RUN chmod 700 /home/vscode/.ssh
4825RUN chmod 600 /home/vscode/.ssh/authorized_keys
4926
5027COPY benchmark/entrypoint.sh /usr/local/bin/
51- COPY --chown=vscode:vscode . /home/vscode/repo
52-
53- WORKDIR /home/vscode/repo
54- RUN npm run install:all
5528
5629WORKDIR /home/vscode/repo/benchmark
57- RUN git clone https://github.com/cte/Roo-Code-Benchmark.git exercises
58- RUN npm run build
59-
30+ USER vscode
6031ENTRYPOINT ["/usr/local/bin/entrypoint.sh"]
6132CMD ["/bin/bash"]
0 commit comments