summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-05-23 15:42:28 +0100
committerMatthew Lemon <y@yulqen.org>2024-05-23 15:42:28 +0100
commit3f0c11112173c3f969c61f1bcc48ebd27e18edc1 (patch)
tree7d650e6e53c31f5f69cc20932cf8e24144c11a1f /Dockerfile
parentc89d53a2921e4e6b681c6a9dc97f7cc8eeb43956 (diff)
Revert "Ditched the redhat builder stage"
This reverts commit 5f9ca9b3e597a9dfda9ffb3af25a60b2c7309986.
Diffstat (limited to '')
-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"]