23 lines
572 B
Docker
23 lines
572 B
Docker
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"] |