From e334ada5b431d2b83d29e22d92cd1e507cbd792d Mon Sep 17 00:00:00 2001 From: Azalea <22280294+hykilpikonna@users.noreply.github.com> Date: Sat, 28 Mar 2026 03:44:05 -0400 Subject: [PATCH] [+] devtainer --- config/devtainer/Dockerfile | 20 ++++++++++++++++++++ config/devtainer/README.md | 11 +++++++++++ config/devtainer/docker-compose.yaml | 13 +++++++++++++ 3 files changed, 44 insertions(+) create mode 100644 config/devtainer/Dockerfile create mode 100644 config/devtainer/README.md create mode 100644 config/devtainer/docker-compose.yaml 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