# Builder stage FROM registry.access.redhat.com/ubi9/python-311:1-52.1712567218 AS builder # Add application sources with correct permissions for OpenShift USER 0 COPY . /app RUN mkdir -p /app/static/css /app/static/js /app/static/img RUN chown -R 1001:0 /app USER 1001 WORKDIR /app # Install the dependencies RUN pip install -U "pip>=24.0.0" && \ pip install -r requirements.txt && \ python manage.py collectstatic --noinput # Final stage FROM python:3.11-slim # Set the working directory WORKDIR /app # Copy the built artifacts and required files from the builder stage COPY --from=builder /app /app # Install the required packages in the final stage RUN pip install -r requirements.txt # Set the appropriate user USER 1001 # Run database migrations RUN python manage.py migrate # Expose the port on which your Django application will run EXPOSE 8080 # Run the application CMD ["python", "manage.py", "runserver", "0.0.0.0:8080"]