Spaces:
Running
Running
FROM python:3.10 | |
# Set working directory | |
WORKDIR /app | |
# Install system dependencies for GRIB processing | |
RUN apt-get update && apt-get install -y \ | |
libeccodes0 \ | |
libeccodes-dev \ | |
libeccodes-tools \ | |
libnetcdf-dev \ | |
libhdf5-dev \ | |
libproj-dev \ | |
proj-bin \ | |
proj-data \ | |
wget \ | |
curl \ | |
build-essential \ | |
gcc \ | |
gfortran \ | |
&& rm -rf /var/lib/apt/lists/* | |
# Copy requirements and install Python dependencies | |
COPY requirements.txt . | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Copy application code | |
COPY . . | |
# Create temp directory for wave data | |
RUN mkdir -p /tmp/wave_data | |
# Set environment variables | |
ENV PYTHONPATH=/app | |
ENV GRADIO_SERVER_NAME="0.0.0.0" | |
ENV GRADIO_SERVER_PORT=7860 | |
# Expose port | |
EXPOSE 7860 | |
# Health check | |
HEALTHCHECK --interval=30s --timeout=10s --start-period=60s --retries=3 \ | |
CMD curl -f http://localhost:7860/ || exit 1 | |
# Run the Gradio app | |
CMD ["python", "app.py"] |