diff --git a/.dockerignore b/.dockerignore index b570aefca75ae14b8f10b2c47f072612c01950b4..ffd639d0e13f2644e531b518fed3bae9c30ebce0 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,3 +1,5 @@ .git .venv .envrc +static_files/ +media_files/ diff --git a/.gitignore b/.gitignore index 3e8d8fb33e3eed1a5337ff1995bb72cb64e9a955..d72a1d6dae2639b21f9ad37913a78ea244accfea 100644 --- a/.gitignore +++ b/.gitignore @@ -143,5 +143,5 @@ cython_debug/ # direnv .envrc -media/ -static/ +media_files/ +static_files/ diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 1333a50f1542558df6b5aaaa278db3e85c032109..f1d1b9040e478393a7dbc2a1b676ab19fd17d6b9 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -3,6 +3,7 @@ image: docker:19.03.1 variables: DOCKER_TLS_CERTDIR: "/certs" IMAGE_TAG_APP: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG + IMAGE_TAG_NGINX: $CI_REGISTRY_IMAGE:$CI_COMMIT_REF_SLUG-nginx services: - docker:19.03.1-dind @@ -14,4 +15,6 @@ build: stage: build script: - docker build -t $IMAGE_TAG_APP . + - docker build -t $IMAGE_TAG_NGINX . -f Dockerfile.nginx - docker push $IMAGE_TAG_APP + - docker push $IMAGE_TAG_NGINX diff --git a/Dockerfile b/Dockerfile index 3f80ae5d5e19ffe814862bf855627dd6bce786b5..d6f1093d16879a557ae8e6db38fa0335949eb1ce 100644 --- a/Dockerfile +++ b/Dockerfile @@ -12,7 +12,9 @@ RUN useradd app RUN chown -R app /app USER app -ENV DJANGO_SETTINGS_MODULE "majak.settings.production" +# TODO HACK! +# ENV DJANGO_SETTINGS_MODULE "majak.settings.production" +ENV DJANGO_SETTINGS_MODULE "majak.settings.dev" EXPOSE 8000 diff --git a/Dockerfile.nginx b/Dockerfile.nginx new file mode 100644 index 0000000000000000000000000000000000000000..88d4d28e096f43ca0ce5f172f5dd51ceabd130a8 --- /dev/null +++ b/Dockerfile.nginx @@ -0,0 +1,3 @@ +FROM nginx +EXPOSE 8080 +ADD nginx.conf /etc/nginx/conf.d/majak.conf diff --git a/majak/settings/base.py b/majak/settings/base.py index 9695d2f6e439a2a4facdafa52813c67d0c3b55fe..4c216c94cac8c0ddec193627573b6fefcef83197 100644 --- a/majak/settings/base.py +++ b/majak/settings/base.py @@ -137,10 +137,10 @@ STATICFILES_DIRS = [ # See https://docs.djangoproject.com/en/3.0/ref/contrib/staticfiles/#manifeststaticfilesstorage STATICFILES_STORAGE = "django.contrib.staticfiles.storage.ManifestStaticFilesStorage" -STATIC_ROOT = os.path.join(BASE_DIR, "static") +STATIC_ROOT = os.path.join(BASE_DIR, "static_files") STATIC_URL = "/static/" -MEDIA_ROOT = os.path.join(BASE_DIR, "media") +MEDIA_ROOT = os.path.join(BASE_DIR, "media_files") MEDIA_URL = "/media/" diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000000000000000000000000000000000000..ee2e07633fbd58bd46e3d63dad169c50092dac26 --- /dev/null +++ b/nginx.conf @@ -0,0 +1,22 @@ +upstream majak { + ip_hash; + server app:8000; +} + +server { + server_name majak; + listen 8080; + + client_max_body_size 10M; + + location /media/ { + alias /var/opt/majak/media_files/; + } + + location / { + proxy_pass http://majak/; + proxy_set_header Host $host; + proxy_set_header X-Forwarded-Proto https; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + } +}