Dockerfile (686B)
1# syntax=docker/dockerfile:1 2FROM alpine:3.18.2@sha256:25fad2a32ad1f6f510e528448ae1ec69a28ef81916a004d3629874104f8a7f70 3 4# Install OS dependencies and add a challenge user 5RUN apk add nodejs npm chromium \ 6 && addgroup -S wsbx \ 7 && adduser -S -G wsbx wsbx \ 8 && mkdir -p /home/wsbx/Downloads \ 9 && chown -R wsbx:wsbx /home/wsbx 10 11# Set config for running in a container 12ENV FLAG=CSCG{fake_flag} \ 13 HOST=0.0.0.0 \ 14 PORT=1337 \ 15 PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser 16 17# Install NPM dependencies 18WORKDIR /app 19COPY package.json package-lock.json /app/ 20RUN npm ci 21 22# Add the actual app 23COPY . /app 24 25# Don't run as root 26USER wsbx 27 28CMD ["node", "server.js"]