diff --git a/docker-compose.dev.yaml b/docker-compose.dev.yaml index e15ea00ce7e79d0d7ebaf976c1d4c55fb02ea645..838da46b6f97a68ab6aa1c4545a4bc1ca41e94eb 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 0000000000000000000000000000000000000000..33e83ccd83ddc756612e84df334d1b39f144119d --- /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 0000000000000000000000000000000000000000..41d210cdfdb795d1e5a149e43840ea8386237ba3 --- /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; + } + + } +}