use SSH to connect to container now

This commit is contained in:
Bryson Steck 2025-03-02 19:38:25 -07:00
parent 127bfa0d8b
commit 90406677b8
Signed by: brysonsteck
SSH key fingerprint: SHA256:XpKABw/nP4z8UVaH+weLaBnEOD86+cVwif+QjuYLGT4
2 changed files with 15 additions and 6 deletions

View file

@ -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

5
build
View file

@ -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 .