1- FROM node:18-alpine as frontend
1+ FROM node:18-alpine AS frontend
22
33COPY server/frontend /src
44RUN chown -R node:node /src
@@ -8,7 +8,7 @@ WORKDIR /src
88RUN npm install
99RUN npm run production
1010
11- FROM python:3.10 -alpine as backend
11+ FROM python:3.12 -alpine AS backend
1212
1313RUN apk add --no-cache build-base git mariadb-dev && pip install tomli
1414
@@ -20,7 +20,7 @@ RUN cd /src && \
2020 python -c "import tomli; from itertools import chain; pyp=tomli.load(open('pyproject.toml','rb')); deps=pyp['project']['dependencies']; extras=pyp['project']['optional-dependencies']; print('\0 '.join(chain(deps, extras['docker'], extras['server'])))" | xargs -0 pip wheel -q -c requirements.txt --wheel-dir /var/cache/wheels && \
2121 pip wheel -q --wheel-dir /var/cache/wheels wheel setuptools_scm[toml]
2222
23- FROM python:3.10 -alpine
23+ FROM python:3.12 -alpine
2424
2525RUN adduser -D worker && \
2626 apk add --no-cache bash git mariadb-client mariadb-connector-c openssh-client-default && \
@@ -46,18 +46,18 @@ RUN mkdir -p /data/fuzzing-tc-config && chown -R worker:worker /src /data/fuzzin
4646# Note: the extras must be duplicated above in the Python
4747# script to pre-install dependencies.
4848USER worker
49- ENV PATH "${PATH}:/home/worker/.local/bin"
49+ ENV PATH= "${PATH}:/home/worker/.local/bin"
5050RUN pip install --no-cache-dir --no-index --find-links /var/cache/wheels --no-deps -q /src[docker,server]
5151
5252# Use a custom settings file that can be overwritten
53- ENV DJANGO_SETTINGS_MODULE "server.settings_docker"
53+ ENV DJANGO_SETTINGS_MODULE= "server.settings_docker"
5454
5555WORKDIR /src/server
5656
5757# Collect staticfiles, including Vue.js build
5858RUN python manage.py collectstatic --no-input
5959
6060# Run with gunicorn, using container's port 80
61- ENV PORT 80
61+ ENV PORT= 80
6262EXPOSE 80
6363CMD ["gunicorn" , "--bind" , "0.0.0.0:80" , "--error-logfile" , "-" , "--access-logfile" , "-" , "--capture-output" , "server.wsgi" ]
0 commit comments