summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMatthew Lemon <y@yulqen.org>2024-05-23 15:05:49 +0100
committerMatthew Lemon <y@yulqen.org>2024-05-23 15:05:49 +0100
commit5f9ca9b3e597a9dfda9ffb3af25a60b2c7309986 (patch)
tree345d5259906a72a145095a6e465689d8d8a513d0
parent84cdaedf5cbde6a60e2840ab35fcccf8106bd0f2 (diff)
Ditched the redhat builder stage
- Run make to build and run - Does not use volumes do database data is not retained May have to revert if the CICD kicks this out for using a Dockerhub image.
-rw-r--r--Dockerfile36
-rw-r--r--Makefile4
2 files changed, 12 insertions, 28 deletions
diff --git a/Dockerfile b/Dockerfile
index bba15d4..dca00bd 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,39 +1,23 @@
-# 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 from builder
-COPY --from=builder /app /app
+# Copy application code
+COPY . /app
-RUN apt update && apt install -y --no-install-recommends libpq-dev build-essential
+# Install system dependencies
+RUN apt-get update && apt-get install -y \
+ libpq-dev \
+ gcc \
+ && rm -rf /var/lib/apt/lists/*
-# Install packages
-RUN pip install -r requirements.txt
+# Install Python dependencies
+RUN pip install --no-cache-dir -r requirements.txt
ENV DJANGO_SETTINGS_MODULE=conf.settings.local
EXPOSE 8000
-# Start app
+# Start gunicorn
CMD ["gunicorn", "ded.wsgi:application", "--bind", "0.0.0.0:8000"]
diff --git a/Makefile b/Makefile
index e0ebf25..795701d 100644
--- a/Makefile
+++ b/Makefile
@@ -1,4 +1,4 @@
-all: stop create-network build-postgres run-postgres build-django run-django migrate-and-superuser
+all: stop create-network build-postgres run-postgres build-django run-django
CONFIG := conf.settings.local
@@ -19,7 +19,7 @@ build-postgres:
run-postgres:
docker run -it --name postgres -d --rm -e POSTGRESQL_PASSWORD=ded -e POSTGRESQL_USER=ded -e POSTGRESQL_DATABASE=ded -p 5432:5432 --network dednetwork dso-quay-registry-quay-quay-enterprise.apps.ocp1.azure.dso.digital.mod.uk/defnucsyr-dev-team-a/postgresql:v1.0.0
run-django:
- docker run -it --name ded-web -d -e DJANGO_SETTINGS_MODULE=$(CONFIG) -p 8000:8000 --network dednetwork --rm ded-web:latest
+ docker run -d -it --name ded-web -e DJANGO_SETTINGS_MODULE=$(CONFIG) -p 8000:8000 --network dednetwork --rm ded-web:latest
test:
python manage.py test
migrate-and-superuser: