37 lines
980 B
Docker
37 lines
980 B
Docker
ARG PYTHON_VERSION=3.12.11
|
|
FROM python:${PYTHON_VERSION}-slim as base
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 PYTHONUNBUFFERED=1
|
|
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
build-essential \
|
|
gcc \
|
|
postgresql-client \
|
|
curl \
|
|
tini \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
ARG UID=10001
|
|
ARG GID=10001
|
|
RUN groupadd -g ${GID} appuser && useradd -u ${UID} -g ${GID} -M -d /nonexistent -s /usr/sbin/nologin appuser
|
|
|
|
WORKDIR /app
|
|
|
|
RUN mkdir -p /app/logs && chown -R appuser:appuser /app
|
|
COPY ../requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
COPY ../common /app/common
|
|
COPY ../config /app/config
|
|
COPY ../scripts /app/scripts
|
|
COPY ../patched_packages /app/patched_packages
|
|
|
|
RUN chown -R appuser:appuser /app && chmod +x /app/scripts/start.sh
|
|
|
|
ENV PYTHONPATH=/app:/app/patched_packages:${PYTHONPATH}
|
|
|
|
USER appuser
|
|
EXPOSE 8080
|
|
|
|
ENTRYPOINT ["/usr/bin/tini","-g","--"]
|
|
CMD ["bash","-lc","scripts/start.sh"] |