39 lines
1.1 KiB
Docker
39 lines
1.1 KiB
Docker
FROM python:3.9.1-alpine3.13
|
|
|
|
MAINTAINER "Ameya Shenoy <shenoy.ameya@gmail.com>"
|
|
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
WORKDIR /code
|
|
|
|
COPY requirements.txt /
|
|
|
|
RUN set -ex \
|
|
&& apk add --no-cache --virtual .build-deps \
|
|
gcc \
|
|
musl-dev \
|
|
linux-headers \
|
|
postgresql-dev \
|
|
python3-dev \
|
|
&& apk add --no-cache \
|
|
libpq \
|
|
&& pip install --no-cache-dir uwsgi==2.0.19.1 \
|
|
&& pip install --no-cache-dir -r /requirements.txt \
|
|
&& rm -rf requirements.txt \
|
|
&& apk del .build-deps
|
|
|
|
COPY . /code
|
|
|
|
ARG APP_USER=app
|
|
RUN addgroup -S ${APP_USER} && adduser -S ${APP_USER} -G ${APP_USER}
|
|
|
|
EXPOSE 8000
|
|
ENV DJANGO_SETTINGS_MODULE=backend.settings
|
|
ENV UWSGI_WSGI_FILE=backend/wsgi.py
|
|
ENV UWSGI_HTTP=:8000 UWSGI_MASTER=1 UWSGI_HTTP_AUTO_CHUNKED=1 UWSGI_HTTP_KEEPALIVE=1 UWSGI_LAZY_APPS=1 UWSGI_WSGI_ENV_BEHAVIOR=holy
|
|
ENV UWSGI_WORKERS=2 UWSGI_THREADS=4
|
|
ENV UWSGI_STATIC_MAP="/static/=/code/static/" UWSGI_STATIC_EXPIRES_URI="/static/.*\.[a-f0-9]{12,}\.(css|js|png|jpg|jpeg|gif|ico|woff|ttf|otf|svg|scss|map|txt) 315360000"
|
|
|
|
USER ${APP_USER}:${APP_USER}
|
|
ENTRYPOINT ["sh", "/code/prod-entrypoint.sh"]
|
|
|