summaryrefslogtreecommitdiffstats
path: root/solve/Dockerfile
blob: 0a480b599aee42e0d388f79c74a03762d8ac443b (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
# syntax=docker/dockerfile:1
FROM alpine:3.18.2@sha256:25fad2a32ad1f6f510e528448ae1ec69a28ef81916a004d3629874104f8a7f70

# Install OS dependencies and add a challenge user
RUN apk add nodejs npm chromium \
    && addgroup -S wsbx \
    && adduser -S -G wsbx wsbx \
    && mkdir -p /home/wsbx/Downloads \
    && chown -R wsbx:wsbx /home/wsbx

# Set config for running in a container
ENV FLAG=CSCG{fake_flag} \
    HOST=0.0.0.0 \
    PORT=1337 \
    PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium-browser

# Install NPM dependencies
WORKDIR /app
COPY package.json package-lock.json /app/
RUN npm ci

# Add the actual app
COPY . /app

# Don't run as root
USER wsbx

CMD ["node", "server.js"]