2026-05-19 04:48:13 +02:00
|
|
|
FROM python:3.12-slim
|
|
|
|
|
|
|
|
|
|
ENV PYTHONDONTWRITEBYTECODE=1 \
|
|
|
|
|
PYTHONUNBUFFERED=1 \
|
|
|
|
|
PIP_NO_CACHE_DIR=1
|
|
|
|
|
|
|
|
|
|
RUN apt-get update \
|
|
|
|
|
&& apt-get install -y --no-install-recommends rsync openssh-client cron default-libmysqlclient-dev build-essential pkg-config \
|
|
|
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
|
|
|
|
WORKDIR /app
|
|
|
|
|
|
2026-05-21 03:10:31 +02:00
|
|
|
COPY pyproject.toml README.md CHANGELOG.md ./
|
2026-05-19 04:48:13 +02:00
|
|
|
COPY src ./src
|
|
|
|
|
COPY manage.py ./
|
|
|
|
|
COPY scripts/docker-entrypoint ./scripts/docker-entrypoint
|
|
|
|
|
|
|
|
|
|
RUN python -m pip install --upgrade pip \
|
|
|
|
|
&& python -m pip install -e ".[mariadb]"
|
|
|
|
|
|
|
|
|
|
RUN mkdir -p /opt/pobsync/config/hosts /opt/pobsync/state/locks /opt/pobsync/logs /var/lib/pobsync
|
|
|
|
|
RUN chmod +x ./scripts/docker-entrypoint
|
|
|
|
|
|
|
|
|
|
EXPOSE 8000
|
|
|
|
|
|
|
|
|
|
ENTRYPOINT ["./scripts/docker-entrypoint"]
|
2026-05-19 15:33:09 +02:00
|
|
|
CMD ["gunicorn", "pobsync_server.wsgi:application", "--bind", "0.0.0.0:8000", "--workers", "2", "--timeout", "120"]
|