summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Dockerfile13
-rw-r--r--conf/settings/prod.py8
-rwxr-xr-xdocker-entrypoint.sh6
-rw-r--r--nginx-conf/nginx.conf5
4 files changed, 17 insertions, 15 deletions
diff --git a/Dockerfile b/Dockerfile
index df55594..db9b131 100644
--- a/Dockerfile
+++ b/Dockerfile
@@ -1,29 +1,24 @@
FROM registry.access.redhat.com/ubi8/python-38
-# Add application sources
USER 0
-# Install system dependencies
RUN yum install -y postgresql-devel gcc && \
yum clean all && \
rm -rf /var/cache/yum
+ENV DJANGO_SETTINGS_MODULE conf.settings.prod
+ENV PYTHONBUFFERED 1
+
WORKDIR /app
COPY . /app
-ENV DJANGO_SETTINGS_MODULE=conf.settings.prod
-
-RUN mkdir -p /app/static/css /app/static/js /app/static/img
+#RUN mkdir -p /app/static/css /app/static/js /app/static/img
-# Install Python dependencies
RUN pip install -U "pip>=24.0.0" && \
pip install -r requirements.txt && \
python manage.py collectstatic --noinput
-# Switch to non-root user
USER 1001
-# Start app
-
ENTRYPOINT ["/app/docker-entrypoint.sh"]
diff --git a/conf/settings/prod.py b/conf/settings/prod.py
index f6b2d77..cb1842a 100644
--- a/conf/settings/prod.py
+++ b/conf/settings/prod.py
@@ -2,9 +2,6 @@ import os
from .base import *
-# Database
-# https://docs.djangoproject.com/en/4.0/ref/settings/#databases
-
# Check if running in OpenShift cluster
if os.path.exists("/etc/secret-volume"):
# Read database credentials from mounted Secret volume
@@ -33,3 +30,8 @@ DATABASES = {
"PORT": db_port,
}
}
+
+if os.getenv("STATIC_ROOT"):
+ STATIC_ROOT = os.getenv("STATIC_ROOT")
+else:
+ STATIC_ROOT = "/data/static"
diff --git a/docker-entrypoint.sh b/docker-entrypoint.sh
index 2b17530..aed4a9f 100755
--- a/docker-entrypoint.sh
+++ b/docker-entrypoint.sh
@@ -2,14 +2,14 @@
cd /app
# Run migrations
-python manage.py migrate
+python manage.py --settings=conf.settings.prod migrate
# Try to create a superuser, skip if email is already taken
echo "Attempting to create superuser..."
-python manage.py createsuperuser --noinput || true
+#python manage.py createsuperuser --settings=conf.settings.prod --noinput || true
# Collect static files
-#python manage.py collectstatic --noinput
+python manage.py collectstatic --settings=conf.settings.prod --noinput
# Start Gunicorn
exec gunicorn --bind ':8000' --workers 3 ded.wsgi:application
diff --git a/nginx-conf/nginx.conf b/nginx-conf/nginx.conf
index c899096..0156c52 100644
--- a/nginx-conf/nginx.conf
+++ b/nginx-conf/nginx.conf
@@ -18,5 +18,10 @@ http {
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
+
+ location /static/ {
+ alias /data/static/;
+ }
+
}
}