Added beamershow to deployment

This commit is contained in:
Nicolai Ort 2021-04-08 17:51:42 +02:00
parent 94ccf36b8e
commit 7d28b60f3f
2 changed files with 195 additions and 166 deletions

View File

@ -1,80 +1,89 @@
version: '3.3' version: '3.3'
services: services:
backend_db: backend_db:
image: postgres:11-alpine image: postgres:11-alpine
environment: environment:
POSTGRES_DB: lfk POSTGRES_DB: lfk
POSTGRES_PASSWORD: changeme POSTGRES_PASSWORD: changeme
POSTGRES_USER: lfk POSTGRES_USER: lfk
volumes: volumes:
- ./db:/var/lib/postgresql/data - ./db:/var/lib/postgresql/data
networks: networks:
- default - default
backend_server: backend_server:
image: registry.odit.services/lfk/backend:dev image: registry.odit.services/lfk/backend:latest
environment: environment:
APP_PORT: '4010' APP_PORT: '4010'
APP_URL: http://localhost:4010 APP_URL: http://localhost:4010
DB_HOST: backend_db DB_HOST: backend_db
DB_NAME: lfk DB_NAME: lfk
DB_PASSWORD: changeme DB_PASSWORD: changeme
DB_PORT: '5432' DB_PORT: '5432'
DB_TYPE: postgres DB_TYPE: postgres
DB_USER: lfk DB_USER: lfk
MAIL_FROM: h2ifdztl43xaipix@ethereal.email MAIL_FROM: h2ifdztl43xaipix@ethereal.email
MAIL_PASSWORD: BRG3EYpns67hrd6zMC MAIL_PASSWORD: BRG3EYpns67hrd6zMC
MAIL_PORT: '587' MAIL_PORT: '587'
MAIL_SERVER: smtp.ethereal.email MAIL_SERVER: smtp.ethereal.email
MAIL_USER: h2ifdztl43xaipix@ethereal.email MAIL_USER: h2ifdztl43xaipix@ethereal.email
NODE_ENV: production NODE_ENV: production
POSTALCODE_COUNTRYCODE: DE POSTALCODE_COUNTRYCODE: DE
SEED_TEST_DATA: 'true' SEED_TEST_DATA: 'true'
networks: networks:
- default - default
frontend_server: frontend_server:
image: registry.odit.services/lfk/frontend:dev image: registry.odit.services/lfk/frontend:latest
networks: networks:
- default - default
volumes: volumes:
- ./env_frontend.js:/usr/share/nginx/html/env.js - ./env_frontend.js:/usr/share/nginx/html/env.js
selfservice: selfservice:
image: registry.odit.services/lfk/selfservice:dev image: registry.odit.services/lfk/selfservice:latest
networks: networks:
- default - default
volumes: volumes:
- ./env_selfservice.js:/usr/share/nginx/html/env.js - ./env_selfservice.js:/usr/share/nginx/html/env.js
document_server: document_server:
image: registry.odit.services/lfk/document-server:dev image: registry.odit.services/lfk/document-server:latest
environment: environment:
APP_PORT: 4010 APP_PORT: 4010
NODE_ENV: production NODE_ENV: production
networks: networks:
- default - default
mailer: mailer:
image: registry.odit.services/lfk/mailer:dev image: registry.odit.services/lfk/mailer:latest
environment: environment:
APP_PORT: 4010 APP_PORT: 4010
NODE_ENV: production NODE_ENV: production
APP_URL: http://localhost:4010 APP_URL: http://localhost:4010
MAIL_FROM: h2ifdztl43xaipix@ethereal.email MAIL_FROM: h2ifdztl43xaipix@ethereal.email
MAIL_PASSWORD: BRG3EYpns67hrd6zMC MAIL_PASSWORD: BRG3EYpns67hrd6zMC
MAIL_PORT: '587' MAIL_PORT: '587'
MAIL_SERVER: smtp.ethereal.email MAIL_SERVER: smtp.ethereal.email
MAIL_USER: h2ifdztl43xaipix@ethereal.email MAIL_USER: h2ifdztl43xaipix@ethereal.email
networks: networks:
- default - default
proxy: beamershow:
image: nginx:latest image: registry.odit.services/lfk/beamershow:latest
ports: networks:
- 4010:80 - default
networks: logging:
- default driver: "json-file"
depends_on: options:
- backend_server max-file: "1"
- frontend_server max-size: "1m"
- document_server proxy:
- mailer image: nginx:latest
volumes: ports:
- ./nginx.conf:/etc/nginx/nginx.conf - 4010:80
networks: networks:
default: - default
depends_on:
- backend_server
- frontend_server
- document_server
- mailer
volumes:
- ./nginx.conf:/etc/nginx/nginx.conf
networks:
default:

View File

@ -1,87 +1,107 @@
worker_processes 1; worker_processes 1;
events { worker_connections 1024; } events { worker_connections 1024; }
http { http {
server { server {
listen 80; #Port that the nginx server listens on listen 80; #Port that the nginx server listens on
#Location / redicts every url not specified in another location to the frontend container #Location / redicts every url not specified in another location to the frontend container
location / { location / {
proxy_pass http://frontend_server:80/; proxy_pass http://frontend_server:80/;
proxy_redirect off; proxy_redirect off;
#Set the headers needed by the frontend for smooth proxying #Set the headers needed by the frontend for smooth proxying
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr; proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Host $server_name;
} }
#Location /api redicts every api related url to the backend container. #Location /api redicts every api related url to the backend container.
location /api { location /api {
proxy_pass http://backend_server:4010; proxy_pass http://backend_server:4010;
proxy_redirect off; proxy_redirect off;
#Set the headers needed by the backend for smooth proxying #Set the headers needed by the backend for smooth proxying
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive; proxy_set_header Connection keep-alive;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Host $server_name;
proxy_set_header X-Forwarded-Prefix /api; proxy_set_header X-Forwarded-Prefix /api;
} }
#Location /documents redicts every documents generation related url to the document-server container. #Location /documents redicts every documents generation related url to the document-server container.
location /documents { location /documents {
rewrite /documents/(.*) /$1 break; rewrite /documents/(.*) /$1 break;
proxy_pass http://document_server:4010; proxy_pass http://document_server:4010;
proxy_redirect off; proxy_redirect off;
#Set the headers needed by the backend for smooth proxying #Set the headers needed by the backend for smooth proxying
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive; proxy_set_header Connection keep-alive;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Host $server_name;
} }
#Location /mailer redicts every mailing related url to the mailer container. #Location /mailer redicts every mailing related url to the mailer container.
location /mailer { location /mailer {
rewrite /mailer/(.*) /$1 break; rewrite /mailer/(.*) /$1 break;
proxy_pass http://mailer:4010; proxy_pass http://mailer:4010;
proxy_redirect off; proxy_redirect off;
#Set the headers needed by the backend for smooth proxying #Set the headers needed by the backend for smooth proxying
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive; proxy_set_header Connection keep-alive;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Host $server_name;
} }
#Location /selfservice redicts every selfservice related url to the selfservice container. #Location /selfservice redicts every selfservice related url to the selfservice container.
location /selfservice { location /selfservice {
rewrite /selfservice/(.*) /$1 break; rewrite /selfservice/(.*) /$1 break;
proxy_pass http://selfservice:80; proxy_pass http://selfservice:80;
proxy_redirect off; proxy_redirect off;
#Set the headers needed by the backend for smooth proxying #Set the headers needed by the backend for smooth proxying
proxy_set_header Upgrade $http_upgrade; proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive; proxy_set_header Connection keep-alive;
proxy_set_header Host $host; proxy_set_header Host $host;
proxy_set_header X-Forwarded-Prefix /selfservice; proxy_set_header X-Forwarded-Prefix /selfservice;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme; proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name; proxy_set_header X-Forwarded-Host $server_name;
} }
#Redirect selfservice without trailing slash to selfservice/ #Redirect selfservice without trailing slash to selfservice/
location =/selfservice{ location =/selfservice{
return 301 /selfservice/; return 301 /selfservice/;
} }
}
#Location /beamershow redicts every beamershow related url to the beamershow container.
location /beamershow {
proxy_pass http://beamershow:80;
proxy_redirect off;
#Set the headers needed by the backend for smooth proxying
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection keep-alive;
proxy_set_header Host $host;
proxy_set_header X-Forwarded-Prefix /beamershow;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_set_header X-Forwarded-Host $server_name;
}
#Redirect beamershow without trailing slash to beamershow/
location =/beamershow{
return 301 /beamershow/;
}
}
} }