diff --git a/config/devtainer/Dockerfile b/config/devtainer/Dockerfile new file mode 100644 index 00000000..5281a170 --- /dev/null +++ b/config/devtainer/Dockerfile @@ -0,0 +1,20 @@ +FROM archlinux:latest + +RUN pacman -Syu --noconfirm \ + && pacman -S --noconfirm openssh sudo jdk17-openjdk \ + && rm -rf /var/cache/pacman/pkg/* \ + && mkdir -p /var/run/sshd + +RUN sed -i 's/.*PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config \ + && sed -i 's/#PermitEmptyPasswords no/PermitEmptyPasswords yes/' /etc/ssh/sshd_config \ + && sed -i 's/#PasswordAuthentication yes/PasswordAuthentication yes/' /etc/ssh/sshd_config \ + && sed -i 's/UsePAM yes/UsePAM no/' /etc/ssh/sshd_config + +RUN ssh-keygen -A && passwd -d root + +RUN pacman -S --noconfirm zsh git curlie micro ripgrep python3 exa \ + && rm -rf /var/cache/pacman/pkg/* \ + && chsh -s /bin/zsh root \ + && curl -sL hydev.org/zsh | bash + +CMD ["/usr/sbin/sshd", "-D"] diff --git a/config/devtainer/README.md b/config/devtainer/README.md new file mode 100644 index 00000000..42cd0f4a --- /dev/null +++ b/config/devtainer/README.md @@ -0,0 +1,11 @@ +Add this to your `~/.ssh/config`: + +``` +Host aquadx-devtainer + HostName localhost + Port 2322 + User root + StrictHostKeyChecking no +``` + +Then you can use `ssh aquadx-devtainer` to connect to the container. diff --git a/config/devtainer/docker-compose.yaml b/config/devtainer/docker-compose.yaml new file mode 100644 index 00000000..c63086f9 --- /dev/null +++ b/config/devtainer/docker-compose.yaml @@ -0,0 +1,13 @@ +services: + dev: + build: + context: . + dockerfile: Dockerfile + volumes: + - ../../:/workspaces:cached + cap_add: + - SYS_PTRACE + ports: + - "127.0.0.1:2322:22" + environment: + - JAVA_OPTS=-Xmx2g \ No newline at end of file