36 lines
799 B
Docker
36 lines
799 B
Docker
FROM python:3.10.9-slim-bullseye
|
|
|
|
LABEL maintainer "Ameya Shenoy <shenoy.ameya@gmail.com>"
|
|
|
|
ENV PYTHONUNBUFFERED=1
|
|
ENV CRYPTOGRAPHY_DONT_BUILD_RUST=1
|
|
|
|
ENV GUNICORN_VERSION=20.1.0
|
|
ARG APP_USER=app
|
|
|
|
WORKDIR /code
|
|
|
|
COPY requirements.txt /
|
|
|
|
RUN set -ex \
|
|
&& pip install --no-cache-dir -r /requirements.txt \
|
|
&& pip install --no-cache-dir gunicorn==$GUNICORN_VERSION \
|
|
&& groupadd ${APP_USER} \
|
|
&& useradd -g ${APP_USER} ${APP_USER} \
|
|
&& mkdir -p /code/static \
|
|
&& mkdir -p /code/media \
|
|
&& mkdir -p /code/static_cdn \
|
|
&& mkdir -p /code/media_cdn \
|
|
&& chown -R ${APP_USER}:${APP_USER} /code/
|
|
|
|
COPY . /code
|
|
WORKDIR /code
|
|
|
|
RUN set -ex \
|
|
&& python manage.py collectstatic --no-input
|
|
|
|
EXPOSE 8000
|
|
|
|
USER ${APP_USER}:${APP_USER}
|
|
ENTRYPOINT gunicorn --workers 2 --bind 0.0.0.0 backend.wsgi
|
|
|