FROM python:3.12-slim as builder

ENV LANG=C.UTF-8 \
    PYTHONPATH=/app:/app/src \
    PYTHONUNBUFFERED=1 \
    PIP_NO_CACHE_DIR=on

RUN apt update && apt install -y --no-install-recommends \
    build-essential \
    libpq-dev \
    pkg-config \
    && rm -rf /var/lib/apt/lists/*

RUN python -m venv /opt/venv

ENV PATH="/opt/venv/bin:$PATH"

WORKDIR /app

COPY requirements.txt .
COPY src/services/core/requirements.txt src/services/core/

RUN pip install --upgrade pip && pip install --no-cache-dir -r requirements.txt

WORKDIR /app/src/GigaAM

COPY src/GigaAM .

RUN pip install --no-cache-dir -e .

FROM python:3.12-slim

ENV LANG=C.UTF-8 \
    PATH="/opt/venv/bin:$PATH" \
    PYTHONPATH=/app:/app/src \
    PYTHONUNBUFFERED=1 \
    TZ=Europe/Moscow

RUN apt update && apt install -y --no-install-recommends \
    libpq5 \
    libegl1 \
    netbase \
    ffmpeg \
    && apt clean \
    && rm -rf /var/lib/apt/lists/*

COPY --from=builder /opt/venv /opt/venv

WORKDIR /app

COPY . .