34 lines
1.3 KiB
Docker
34 lines
1.3 KiB
Docker
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 -i https://package-mirror.liara.ir/repository/pypi/simple \
|
|
&& pip install --no-cache-dir -r requirements/base.txt -i https://package-mirror.liara.ir/repository/pypi/simple \
|
|
&& pip install --no-cache-dir -r requirements/prod.txt -i https://package-mirror.liara.ir/repository/pypi/simple
|
|
|
|
COPY . .
|
|
|
|
CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"] |