FROM ghcr.io/astral-sh/uv:python3.12-bookworm-slim

WORKDIR /app

# Copiar archivos de dependencias primero (cache de layers)
COPY pyproject.toml uv.lock ./

# Instalar dependencias (sin el proyecto mismo todavía)
RUN uv sync --frozen --no-install-project

# Copiar el resto del código
COPY . .

# Instalar el proyecto
RUN uv sync --frozen

# Directorio de datos persistente (montar como volumen)
RUN mkdir -p /app/data && chown -R 1000:1000 /app

USER 1000

EXPOSE 8080

ENTRYPOINT [".venv/bin/python", "main.py"]
