forked from ungleich-public/ipv6ula
50 lines
1.1 KiB
Docker
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"
|
|
|