From 0cddff3b1e1ed0e49986be8a1351d0228b9d8097 Mon Sep 17 00:00:00 2001 From: Kenzo-Hugo Hillion <kenzo-hugo.hillion1@pasteur.fr> Date: Thu, 20 Jun 2019 10:54:55 +0200 Subject: [PATCH] update docker compose to work with 4 services --- docker-compose.dev.yaml | 14 +++++++--- nginx/dev/Dockerfile | 5 ++++ nginx/dev/dev.conf | 58 +++++++++++++++++++++++++++++++++++++++++ 3 files changed, 74 insertions(+), 3 deletions(-) create mode 100644 nginx/dev/Dockerfile create mode 100644 nginx/dev/dev.conf diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml index e15ea00..838da46 100644 --- a/docker-compose.dev.yaml +++ b/docker-compose.dev.yaml @@ -3,9 +3,11 @@ version: '3.7' services: backend: container_name: backend - build: ./backend + build: + context: ./backend volumes: - ./backend:/code + - django-static:/backend/public/static ports: - "8000:8000" env_file: .env @@ -24,6 +26,8 @@ services: - "5433:5432" volumes: - db-data:/var/lib/postgresql/data + networks: + - main frontend: build: @@ -42,19 +46,23 @@ services: - NODE_ENV=development nginx: - image: nginx:alpine + build: + context: . + dockerfile: nginx/dev/Dockerfile ports: - "80:80" depends_on: - backend volumes: - - ./nginx/dev.conf:/etc/nginx/nginx.conf:ro + - ./nginx/dev/dev.conf:/etc/nginx/nginx.conf:ro + - django-static:/usr/src/app/static networks: - main volumes: db-data: + django-static: networks: main: diff --git a/nginx/dev/Dockerfile b/nginx/dev/Dockerfile new file mode 100644 index 0000000..33e83cc --- /dev/null +++ b/nginx/dev/Dockerfile @@ -0,0 +1,5 @@ +FROM nginx:1.13.12-alpine +COPY nginx/dev/dev.conf /etc/nginx/nginx.conf +COPY backend/public/static /usr/src/app/static/ +EXPOSE 80 +CMD ["nginx", "-g", "daemon off;"] diff --git a/nginx/dev/dev.conf b/nginx/dev/dev.conf new file mode 100644 index 0000000..41d210c --- /dev/null +++ b/nginx/dev/dev.conf @@ -0,0 +1,58 @@ +user nginx; +worker_processes 1; + +events { + worker_connections 1024; +} + +http { + include /etc/nginx/mime.types; + client_max_body_size 100m; + + upstream backend { + server backend:8000; + } + + upstream frontend { + server frontend:8080; + } + + server { + listen 80; + charset utf-8; + + # frontend urls + location / { + proxy_redirect off; + proxy_pass http://frontend; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + # frontend dev-server + location /sockjs-node { + proxy_redirect off; + proxy_pass http://frontend; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $remote_addr; + proxy_set_header Host $host; + proxy_set_header Upgrade $http_upgrade; + proxy_set_header Connection "upgrade"; + } + + # backend urls + location ~ ^/(admin|api|catalog|auth) { + proxy_redirect off; + proxy_pass http://backend; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header Host $http_host; + } + + # static files + location /static { + autoindex on; + alias /usr/src/app/static; + } + + } +} -- GitLab