gemastik-xvii-final/gleam-drive/Dockerfile

36 lines
1.1 KiB
Docker

FROM public.ecr.aws/docker/library/alpine:latest
ARG PASSWORD
RUN \
apk update && \
apk add openrc --no-cache && \
apk add openssh-server && \
apk add openssl && \
rc-update add sshd && \
rc-status && \
touch /run/openrc/softlevel
RUN echo root:${PASSWORD} | chpasswd
RUN echo "PasswordAuthentication yes" >> /etc/ssh/sshd_config
RUN echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
RUN apk add bash curl shadow
RUN chsh -s /bin/bash root
RUN apk add --no-cache --repository http://dl-cdn.alpinelinux.org/alpine/edge/community gleam rebar3 make gcc musl-dev
ADD https://raw.githubusercontent.com/openembedded/openembedded-core/master/meta/recipes-core/musl/bsd-headers/sys-queue.h /usr/include/sys/queue.h
WORKDIR /ctf/gleam-drive
COPY src src/
COPY *.toml .
COPY start.sh .
RUN gleam build
RUN cat /dev/urandom | head -c 16 > .aes-key
RUN openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days 3650 -nodes -subj "/C=XX/ST=GleamDriveState/L=GleamDriveCity/O=GleamDriveCompany/OU=GleamDriveCompanySection/CN=GleamDrive"
RUN chmod +x start.sh
CMD ./start.sh