FROM python:3.14

WORKDIR /app

ENV PYTHONDONTWRITEBYTECODE=1
ENV PYTHONUNBUFFERED=1

# ---- APT Iran-safe configuration ----
RUN rm -f /etc/apt/sources.list.d/debian.sources && \
    printf '%s\n' \
    'deb http://mirror.arvancloud.ir/debian trixie main contrib non-free non-free-firmware' \
    'deb http://mirror.arvancloud.ir/debian trixie-updates main contrib non-free non-free-firmware' \
    'deb http://mirror.arvancloud.ir/debian-security trixie-security main contrib non-free non-free-firmware' \
    > /etc/apt/sources.list && \
    echo 'Acquire::Check-Valid-Until "false";' > /etc/apt/apt.conf.d/99no-check-valid

RUN apt-get update \
    && apt-get install -y --no-install-recommends \
        gcc \
        libpq-dev \
        rustc \
        cargo \
        pkg-config \
    && rm -rf /var/lib/apt/lists/*

COPY requirements/ /app/requirements/

RUN pip install --no-cache-dir --upgrade pip setuptools wheel \
    && pip install --no-cache-dir -r requirements/base.txt \
    && pip install --no-cache-dir -r requirements/prod.txt

COPY . .

CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]