- New Build and startup procedures for all services, compliant for both docker, podman and k8s
This commit is contained in:
36
docker/Dockerfile.base
Normal file
36
docker/Dockerfile.base
Normal file
@@ -0,0 +1,36 @@
|
||||
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
|
||||
|
||||
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"]
|
||||
Reference in New Issue
Block a user