Some checks failed
Build and Publish Docker Image / build (push) Failing after 17s
58 lines
1.1 KiB
Docker
58 lines
1.1 KiB
Docker
FROM python:3.13-slim AS base
|
|
|
|
FROM base AS builder
|
|
|
|
ARG DEBIAN_FRONTEND="noninteractive"
|
|
|
|
RUN pip install poetry==1.8.3
|
|
|
|
ENV PYTHONUNBUFFERED=1 \
|
|
PYTHONDONTWRITEBYTECODE=1 \
|
|
PYTHONPATH=/app \
|
|
POETRY_NO_INTERACTION=1 \
|
|
POETRY_VIRTUALENVS_IN_PROJECT=1 \
|
|
POETRY_VIRTUALENVS_CREATE=1 \
|
|
POETRY_CACHE_DIR=/tmp/poetry_cache
|
|
|
|
WORKDIR /app
|
|
|
|
COPY pyproject.toml poetry.lock ./
|
|
|
|
RUN poetry install --without dev --no-root --compile
|
|
|
|
FROM base
|
|
|
|
RUN apt update \
|
|
&& apt dist-upgrade -y \
|
|
&& apt install -y --no-install-recommends \
|
|
libpango-1.0-0 \
|
|
libpangoft2-1.0-0 \
|
|
libharfbuzz-subset0 \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
RUN adduser --system --uid 1000 --group app
|
|
USER app
|
|
|
|
WORKDIR /app
|
|
|
|
ENV VIRTUAL_ENV=/app/.venv \
|
|
PATH="/app/.venv/bin:$PATH"
|
|
|
|
COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}
|
|
|
|
COPY app.py ./
|
|
|
|
ARG PORT=8080
|
|
ENV PORT=$PORT
|
|
EXPOSE $PORT
|
|
|
|
CMD ["sh", "-c", \
|
|
"exec gunicorn --preload \
|
|
--bind 0.0.0.0:${PORT} \
|
|
--workers 2 \
|
|
--threads 2 \
|
|
--worker-tmp-dir /dev/shm \
|
|
--access-logfile - \
|
|
--forwarded-allow-ips '*' \
|
|
app:app"]
|