FROM python:3.12-slim ENV PYTHONDONTWRITEBYTECODE=1 ENV PYTHONUNBUFFERED=1 WORKDIR /app # Debian/Ubuntu mirrors for apt RUN rm -f /etc/apt/sources.list.d/debian.sources && \ printf '%s ' \ 'deb https://linux-mirror.liara.ir/repository/debian bookworm main' \ 'deb https://linux-mirror.liara.ir/repository/debian bookworm-updates main' \ 'deb https://linux-mirror.liara.ir/repository/debian-security bookworm-security main' \ > /etc/apt/sources.list # System deps for MySQL client (pkg-config required by mysqlclient to find libs) RUN apt-get update && apt-get install -y --no-install-recommends \ default-libmysqlclient-dev \ build-essential \ pkg-config \ && rm -rf /var/lib/apt/lists/* COPY requirements.txt . # Python mirrors RUN pip config --user set global.index-url https://package-mirror.liara.ir/repository/pypi/simple && \ pip config --user set global.extra-index-url https://mirror.cdn.ir/repository/pypi/simple && \ pip config --user set global.trusted-host package-mirror.liara.ir && \ pip config --user set global.trusted-host mirror.cdn.ir && \ pip config --user set global.trusted-host mirror-pypi.runflare.com RUN pip install --no-cache-dir -r requirements.txt COPY . . EXPOSE 8000 CMD ["gunicorn", "config.wsgi:application", "--bind", "0.0.0.0:8000"]