FROM python:3.12-slim
RUN apt-get update && apt-get install -y git && rm -rf /var/lib/apt/lists/*

WORKDIR /app

COPY periscope/src/backend/requirements*.txt /app/backend/
RUN pip install --no-cache-dir -r /app/backend/requirements.txt \
 && if [ -f /app/backend/requirements-gateway.txt ]; then \
      pip install --no-cache-dir -r /app/backend/requirements-gateway.txt; \
    fi

COPY periscope/src/backend/ /app/backend/
COPY periscope/src/taxonomy/ /app/taxonomy/
COPY periscope/src/skills/ /app/skills/
COPY periscope/src/frontend/content/changelog.md /app/changelog.md
COPY vendor/ /app/vendor/

# Leftover seams (not PinScope product): unused LLM providers + GCS storage.
COPY periscope/dependency/backend/services/llm/anthropic_provider.py /app/backend/services/llm/anthropic_provider.py
COPY periscope/dependency/backend/services/llm/gemini_provider.py /app/backend/services/llm/gemini_provider.py
COPY periscope/dependency/backend/services/storage_gcs.py /app/backend/services/storage_gcs.py

EXPOSE 8080

CMD ["uvicorn", "backend.main:app", "--host", "0.0.0.0", "--port", "8080"]
