FROM python:3.12-slim WORKDIR /app # Instalar uv COPY --from=ghcr.io/astral-sh/uv:latest /uv /bin/uv # Copiar archivos de dependencias COPY pyproject.toml uv.lock* ./ # Crear directorio src si no existe y copiar código RUN mkdir -p src COPY app/ ./app/ # Sincronizar dependencias con uv RUN uv sync --frozen # Exponer puerto EXPOSE 8000 # Comando para desarrollo (con reload) # Reinstalar dependencias al inicio para asegurar compatibilidad con volumen montado CMD ["sh", "-c", "uv sync --frozen && uv run uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload"]