FROM python:3.14-slim

ENV PYTHONDONTWRITEBYTECODE=1 \
    PYTHONUNBUFFERED=1 \
    PYTHONPATH=/app/src

WORKDIR /app

COPY pyproject.toml ./
RUN pip install --no-cache-dir --upgrade pip && \
    pip install --no-cache-dir \
    "authlib>=1.6.0" \
    "basedpyright>=1.39.0" \
    "fastapi[standard]>=0.135.3" \
    "mitmproxy>=12.2.2" \
    "motor>=3.7.1" \
    "pwdlib[argon2,bcrypt]>=0.3.0" \
    "pyyaml>=6.0.3" \
    "pydantic-settings>=2.13.1" \
    "redis>=7.4.0" \
    "ruff>=0.15.10"

COPY app ./src

EXPOSE 3671

CMD ["fastapi", "run", "src/main.py", "--host", "0.0.0.0", "--port", "3671"]
