37 lines
919 B
Docker
37 lines
919 B
Docker
FROM python:3.12-slim
|
|
|
|
# System deps:
|
|
# postgresql-client - pg_isready in entrypoint
|
|
# gcc, libpq-dev - psycopg2 build
|
|
# libcairo2-dev - pycairo (required by svglib -> xhtml2pdf)
|
|
# pkg-config - required by pycairo's meson build
|
|
RUN apt-get update && apt-get install -y --no-install-recommends \
|
|
postgresql-client \
|
|
gcc \
|
|
libpq-dev \
|
|
libcairo2-dev \
|
|
pkg-config \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
WORKDIR /app
|
|
|
|
# Install Python dependencies
|
|
COPY requirements.txt .
|
|
RUN pip install --no-cache-dir -r requirements.txt
|
|
|
|
# Copy the Django project (the inner busManager/ directory)
|
|
COPY busManager/ .
|
|
|
|
# Copy entrypoint
|
|
COPY entrypoint.sh /entrypoint.sh
|
|
RUN chmod +x /entrypoint.sh
|
|
|
|
# Static files will be collected to /app/staticfiles at runtime
|
|
ENV STATIC_ROOT=/app/staticfiles
|
|
ENV PYTHONDONTWRITEBYTECODE=1
|
|
ENV PYTHONUNBUFFERED=1
|
|
|
|
EXPOSE 8000
|
|
|
|
ENTRYPOINT ["/entrypoint.sh"]
|