| # Use an official Python runtime as the parent image | |
| FROM python:3.10-slim | |
| # Set the working directory in the container | |
| WORKDIR /app | |
| # Copy the Python requirements file into the container | |
| COPY requirements.txt . | |
| # Install any needed packages specified in requirements.txt | |
| RUN pip install --no-cache-dir -r requirements.txt | |
| # Copy the backend Python script | |
| COPY app.py . | |
| # Create directories for templates and static files | |
| RUN mkdir templates static | |
| # Copy the HTML template | |
| COPY templates/index.html templates/ | |
| # Copy the JavaScript file | |
| COPY static/script.js static/ | |
| # Make port 8000 available to the world outside this container | |
| EXPOSE 8000 | |
| # Define environment variables | |
| ENV FLASK_APP=app.py | |
| ENV FLASK_RUN_HOST=0.0.0.0 | |
| ENV TRANSFORMERS_CACHE=/app/.cache/huggingface/hub | |
| # Create the cache directory | |
| RUN mkdir -p /app/.cache/huggingface/hub | |
| # Run app.py when the container launches | |
| CMD ["flask", "run", "--port=8000"] | |