# Dockerfile FROM python:3.12.9-slim-bookworm # Create a working directory for the app WORKDIR /app # Copy requirements first, to leverage Docker's layer caching COPY instalinks/instalinks/requirements.txt /app/ # Install dependencies RUN pip install --no-cache-dir -r requirements.txt && \ apt update && apt install -y nginx uwsgi which gcc # Copy the rest of the source code COPY instalinks/ /app/ COPY static /app/static COPY nginx/etc/nginx/sites-available /etc/nginx/sites-available COPY running.sh /app/ COPY manage.py /app/ ENV DB_USER=/run/secrets/DB_USER ENV DB_PASSWORD=/run/secrets/DB_PASSWORD ENV DB_NAME=/run/secrets/DB_NAME # Set environment variables for Django ENV PYTHONUNBUFFERED 1 ENV DJANGO_SETTINGS_MODULE settings # Expose the port Django runs on # EXPOSE 8000 EXPOSE 8080 # Default command: run the Django dev server CMD /app/running.sh