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"]
|