flood-vulnerability / Dockerfile
adema5051's picture
Update Dockerfile
d5efbd9 verified
FROM python:3.11-slim
WORKDIR /app
# Install system dependencies for geopandas + GDAL
RUN apt-get update && apt-get install -y \
gdal-bin \
libgdal-dev \
g++ \
&& rm -rf /var/lib/apt/lists/*
# Copy requirements first for better layer caching
COPY requirements.txt .
# Install Python dependencies
RUN pip install --no-cache-dir -r requirements.txt
# Copy application code
COPY . .
# Create directories for logs (ephemeral but prevents errors)s
RUN mkdir -p logs
# Cloud Run injects PORT environment variable
ENV PORT=7860
# Expose port for documentation
EXPOSE 7860
# Single worker - your ONNX models are too large for multiple workers
CMD exec uvicorn main:app --host 0.0.0.0 --port ${PORT} --workers 1 --timeout-keep-alive 300