This repository has been archived on 2025-03-03. You can view files and clone it, but cannot push or open issues or pull requests.
facturio/Dockerfile

75 lines
1.2 KiB
Text
Raw Permalink Normal View History

2024-08-17 21:28:13 +02:00
ARG PYTHON_VERSION=3.12
FROM python:${PYTHON_VERSION}-alpine AS base
ENV PYTHONUNBUFFERED=1 \
PIP_DISABLE_PIP_VERSION_CHECK=on \
POETRY_VIRTUALENVS_CREATE=false \
VENV=/root/.venv
RUN adduser --disabled-password --gecos "" django
2024-08-17 21:33:03 +02:00
FROM base AS poetry
2024-08-17 21:28:13 +02:00
ARG POETRY_VERSION=1.8.3
RUN : \
&& python -m venv ${VENV} \
&& . ${VENV}/bin/activate \
&& pip install poetry==${POETRY_VERSION} \
&& apk add gettext shadow \
&& apk -v cache clean \
2024-08-17 21:28:13 +02:00
&& :
ENV PATH="${VENV}/bin:${PATH}"
2024-08-17 21:33:03 +02:00
FROM poetry AS deps
2024-08-17 21:28:13 +02:00
WORKDIR /app
COPY pyproject.toml poetry.lock ./
RUN poetry install --no-interaction --no-ansi -vvv
COPY scripts/ /usr/local/tmp-bin
RUN : \
&& chmod +x /usr/local/tmp-bin/* \
2024-08-17 21:28:13 +02:00
&& mv /usr/local/tmp-bin/* /usr/local/bin \
&& rmdir /usr/local/tmp-bin \
&& :
2024-08-17 21:28:13 +02:00
ENTRYPOINT ["entrypoint.sh"]
CMD ["run.sh"]
FROM deps AS development
WORKDIR /app
ARG GID=1000
ARG UID=1000
RUN : \
&& groupmod django -g $GID \
&& usermod django -u $UID -g $GID \
&& :
COPY --chown=django . .
USER django
CMD ["run-dev.sh"]
2024-08-17 21:28:13 +02:00
2024-08-17 21:33:03 +02:00
FROM deps AS production
2024-08-17 21:28:13 +02:00
WORKDIR /app
COPY --chown=django . .
USER django
RUN : \
&& ./manage.py compilemessages \
&& ./manage.py collectstatic --noinput \
&& :