From 90406677b8397aabf55a70cb7c68b2857539224a Mon Sep 17 00:00:00 2001 From: Bryson Steck Date: Sun, 2 Mar 2025 19:38:25 -0700 Subject: [PATCH] use SSH to connect to container now --- Dockerfile | 16 ++++++++++++---- build | 5 +++-- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Dockerfile b/Dockerfile index f0cc814..a49796b 100644 --- a/Dockerfile +++ b/Dockerfile @@ -16,14 +16,22 @@ RUN echo Include = /etc/pacman.d/devkitpro.conf >> /etc/pacman.conf RUN pacman -Syu --noconfirm # install tools -RUN pacman -Sy --noconfirm base-devel $TOOLS +RUN pacman -Sy --noconfirm base-devel openssh $TOOLS # setup environment RUN groupadd -g $GID devkitpro -RUN useradd -u $UID -g $GID -MN devkitpro +RUN useradd -u $UID -g $GID -mN devkitpro +RUN ssh-keygen -A +RUN sed -i "s|#Port 22|Port 2222|g" /etc/ssh/sshd_config +RUN chown devkitpro:devkitpro /etc/ssh/ssh_host* +RUN mkdir /home/devkitpro/.ssh +RUN --mount=type=secret,id=key,target=/root/id.pub \ + cp /root/id.pub /home/devkitpro/.ssh/authorized_keys +RUN chown devkitpro -R /home/devkitpro USER devkitpro WORKDIR /volume -ENTRYPOINT ["tail", "-f", "/dev/null"] +RUN echo cd /volume >> /home/devkitpro/.bashrc +EXPOSE 2222/tcp +CMD ["/usr/sbin/sshd", "-D"] # use docker exec to access container OR # use docker compose to specify entrypoint - diff --git a/build b/build index c62e03e..ee281a4 100755 --- a/build +++ b/build @@ -2,12 +2,13 @@ uid=$(id -u) gid=$(id -g) +key=$HOME/.ssh/id_rsa.pub kits=(gp32-dev gp2x-dev gba-dev nds-dev 3ds-dev gamecube-dev wii-dev wiiu-dev switch-dev) for kit in ${kits[@]}; do echo building $kit... - docker build -t devkitpro:$(echo $kit | sed "s|-dev||") --build-arg TOOLS="$kit" --build-arg UID=$uid --build-arg GID=$gid . + docker build -t devkitpro:$(echo $kit | sed "s|-dev||") --build-arg TOOLS="$kit" --build-arg UID=$uid --build-arg GID=$gid --secret id=key,src=$key . done echo building all devkits... -docker build -t devkitpro:all --build-arg TOOLS="$(echo "${kits[@]}")" --build-arg UID=$uid --build-arg GID=$gid . +docker build -t devkitpro:all --build-arg TOOLS="$(echo "${kits[@]}")" --build-arg UID=$uid --build-arg GID=$gid --secret id=key,src=$key .