FROM python:3.10-slim
# Install system dependencies
RUN apt-get update && apt-get install -y \
gcc \
g++ \
libpq-dev \
&& rm -rf /var/lib/apt/lists/*
# Set working directory
WORKDIR /app
# Install Python packages
RUN pip install --no-cache-dir \
flask \
gunicorn \
sqlalchemy \
psycopg2-binary \
redis \
plotly \
pandas
# Copy dashboard application
COPY dashboard/ /app/dashboard/
COPY src/database.py /app/src/database.py
COPY src/models.py /app/src/models.py
# Set Python path
ENV PYTHONPATH=/app:$PYTHONPATH
# Expose port
EXPOSE 8080
# Run the dashboard
CMD ["gunicorn", "--bind", "0.0.0.0:8080", "--workers", "2", "dashboard.app:app"]