ipv6ula/Dockerfile
2025-06-04 05:03:39 +00:00

50 lines
1.1 KiB
Docker

FROM docker.io/python:3.12.10-alpine3.21
ENV \
LANG=C.UTF-8 \
LC_ALL=C.UTF-8 \
# python:
PYTHONFAULTHANDLER=1 \
PYTHONUNBUFFERED=1 \
PYTHONHASHSEED=random \
PYTHONDONTWRITEBYTECODE=1
RUN apk add --update --no-cache zlib-dev libxml2-dev libxslt-dev libmemcached-dev \
build-base gcc make alpine-sdk musl-dev postgresql-dev openldap-dev \
py3-distutils-extra py3-distutils-extra-pyc shadow python3-dev linux-headers pcre-dev
ENV VIRTUAL_ENV=/venv
ENV DJANGO_CONFIGURATION=production
ENV \
# pip:
PIP_NO_CACHE_DIR=off \
PIP_DISABLE_PIP_VERSION_CHECK=on \
PIP_DEFAULT_TIMEOUT=100
RUN pip install --upgrade pip wheel
RUN python3 -m venv $VIRTUAL_ENV
COPY requirements.txt .
RUN . /venv/bin/activate && pip install -r requirements.txt
RUN mkdir -p /app
COPY ./ /app/
WORKDIR /app
RUN . /venv/bin/activate && \
DJANGO_SECRET_KEY=dummy \
DJANGO_STATIC_ROOT=/app/static ./manage.py collectstatic --no-input
RUN groupadd --gid 1001 app \
&& useradd --home-dir /app --shell /bin/bash --gid app --uid 1001 app
RUN chown -R app:app ./
USER app
ENV PATH="/venv/bin:$PATH"