FROM archlinux:latest ARG TOOLS="wii-dev" ARG UID="1000" ARG GID="1000" # setup pacman USER root RUN pacman-key --init RUN pacman-key --recv BC26F752D25B92CE272E0F44F7FD5492264BB9D0 --keyserver keyserver.ubuntu.com RUN pacman-key --lsign BC26F752D25B92CE272E0F44F7FD5492264BB9D0 RUN pacman --noconfirm -U https://pkg.devkitpro.org/devkitpro-keyring.pkg.tar.zst RUN pacman-key --populate devkitpro COPY etc/pacman.d/devkitpro.conf /etc/pacman.d RUN echo Include = /etc/pacman.d/devkitpro.conf >> /etc/pacman.conf RUN pacman -Syu --noconfirm # install tools RUN pacman -Sy --noconfirm base-devel openssh vim $TOOLS # setup environment RUN groupadd -g $GID devkitpro RUN useradd -u $UID -g $GID -lNd / devkitpro RUN ssh-keygen -A RUN sed -i "s|#Port 22|Port 2222|g" /etc/ssh/sshd_config RUN sed -i "s|AuthorizedKeysFile.*|AuthorizedKeysFile /etc/ssh/authorized_keys|g" /etc/ssh/sshd_config RUN --mount=type=secret,id=key,target=/root/id.pub \ cp /root/id.pub /etc/ssh/authorized_keys RUN chown devkitpro:devkitpro /etc/ssh/ssh_host* /etc/ssh/authorized_keys COPY etc/environment /etc/environment USER devkitpro WORKDIR /volume EXPOSE 2222/tcp CMD ["/usr/sbin/sshd", "-D"] # use docker exec to access container OR # use docker compose to specify entrypoint