# Base image | |
FROM python:3.9-slim | |
# Set the working directory | |
WORKDIR /app | |
# Copy only the dependency file first to leverage Docker cache | |
COPY requirements.txt . | |
# Install dependencies (make sure python-dotenv and gunicorn are in requirements.txt) | |
RUN pip install --no-cache-dir -r requirements.txt | |
# Copy the rest of the application files | |
COPY . . | |
# Create the uploads directory and set correct permissions | |
RUN mkdir -p /app/uploads && chmod -R 777 /app/uploads | |
# Ensure the application user has permissions to write in the working directory | |
RUN chmod -R 777 /app | |
# Expose the port your app runs on | |
EXPOSE 7860 | |
# Command to run the application | |
CMD ["gunicorn", "-w", "4", "-b", "0.0.0.0:7860", "app:app"] | |