diff options
author | Matthew Lemon <y@yulqen.org> | 2024-05-23 15:05:49 +0100 |
---|---|---|
committer | Matthew Lemon <y@yulqen.org> | 2024-05-23 15:05:49 +0100 |
commit | 5f9ca9b3e597a9dfda9ffb3af25a60b2c7309986 (patch) | |
tree | 345d5259906a72a145095a6e465689d8d8a513d0 | |
parent | 84cdaedf5cbde6a60e2840ab35fcccf8106bd0f2 (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-- | Dockerfile | 36 | ||||
-rw-r--r-- | Makefile | 4 |
2 files changed, 12 insertions, 28 deletions
@@ -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"] @@ -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: |