summaryrefslogtreecommitdiffstats
path: root/Dockerfile
diff options
context:
space:
mode:
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"]