# Use an official Python runtime as a parent image FROM python:3.10-slim # Set environment variables ENV PYTHONDONTWRITEBYTECODE 1 ENV PYTHONUNBUFFERED 1 ENV PYTHONPATH=/app # Set work directory WORKDIR /app # Install dependencies COPY requirements.txt . RUN pip install --no-cache-dir -r requirements.txt RUN pip install gunicorn # Copy project files COPY . . # Expose the port Flask runs on EXPOSE 5000 # Set environment variable for Flask ENV FLASK_APP=app.py ENV FLASK_ENV=production # Create a startup script RUN echo '#!/bin/bash\npython init_db.py\ngunicorn --bind 0.0.0.0:5000 --chdir /app app:app' > /app/start.sh RUN chmod +x /app/start.sh # Run the startup script CMD ["/app/start.sh"]