summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorYulqen <246857+yulqen@users.noreply.github.com>2024-05-23 15:46:39 +0100
committerGitHub <noreply@github.com>2024-05-23 15:46:39 +0100
commitd7ad757ac6f14fe5e7d35f7a6118128b722b5ab8 (patch)
tree7d650e6e53c31f5f69cc20932cf8e24144c11a1f /Dockerfile
parentc89d53a2921e4e6b681c6a9dc97f7cc8eeb43956 (diff)
parent3f0c11112173c3f969c61f1bcc48ebd27e18edc1 (diff)
Merge pull request #51 from defencedigital/postgres-migration
Revert "Ditched the redhat builder stage"
Diffstat (limited to 'Dockerfile')
-rw-r--r--Dockerfile36
1 files changed, 26 insertions, 10 deletions
diff --git a/Dockerfile b/Dockerfile
index dca00bd..bba15d4 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,23 +1,39 @@
+# Builder stage
+FROM registry.access.redhat.com/ubi9/python-311:1-52.1712567218 AS builder
+
+# Add application sources
+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
+
+ENV DJANGO_SETTINGS_MODULE=conf.settings.base
+
+# Install 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 working directory
WORKDIR /app
-# Copy application code
-COPY . /app
+# Copy from builder
+COPY --from=builder /app /app
-# Install system dependencies
-RUN apt-get update && apt-get install -y \
- libpq-dev \
- gcc \
- && rm -rf /var/lib/apt/lists/*
+RUN apt update && apt install -y --no-install-recommends libpq-dev build-essential
-# Install Python dependencies
-RUN pip install --no-cache-dir -r requirements.txt
+# Install packages
+RUN pip install -r requirements.txt
ENV DJANGO_SETTINGS_MODULE=conf.settings.local
EXPOSE 8000
-# Start gunicorn
+# Start app
CMD ["gunicorn", "ded.wsgi:application", "--bind", "0.0.0.0:8000"]