From bc4dddd4c58e64204912308869f280a0cff52945 Mon Sep 17 00:00:00 2001 From: Redume Date: Sat, 12 Oct 2024 19:31:31 +0300 Subject: [PATCH] =?UTF-8?q?=D0=94=D0=BE=D0=B1=D0=B0=D0=B2=D0=BB=D0=B5?= =?UTF-8?q?=D0=BD=20revers=20proxy=20(nginx).=20=D0=A2=D0=B5=D0=BF=D0=B5?= =?UTF-8?q?=D1=80=D1=8C=20ChartService=20=D0=BD=D0=B5=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D1=83=D1=81=D1=82=D0=B8=D1=82=D1=81=D1=8F,=20=D0=BF=D0=BE?= =?UTF-8?q?=D0=BA=D0=B0=20postgres=20=D0=BD=D0=B5=20=D0=B1=D1=83=D0=B4?= =?UTF-8?q?=D0=B5=D1=82=20=D0=B3=D0=BE=D1=82=D0=BE=D0=B2=20=D0=BF=D1=80?= =?UTF-8?q?=D0=B8=D0=BD=D0=B8=D0=BC=D0=B0=D1=82=D1=8C=20=D0=B7=D0=B0=D0=BF?= =?UTF-8?q?=D1=80=D0=BE=D1=81=D1=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docker-compose.yaml | 28 ++++++++++++++++++---- nginx.conf | 57 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 80 insertions(+), 5 deletions(-) create mode 100644 nginx.conf diff --git a/docker-compose.yaml b/docker-compose.yaml index d02ddff..63f259b 100644 --- a/docker-compose.yaml +++ b/docker-compose.yaml @@ -1,13 +1,23 @@ -version: '3.8' - services: + nginx: + image: nginx:latest + ports: + - '80:80' + - '443:443' + volumes: + - ./nginx.conf:/etc/nginx/nginx.conf + - ./CertSSL:/etc/nginx/ssl + depends_on: + - server + - chart + server: build: context: ./ dockerfile: Dockerfile-server restart: unless-stopped ports: - - '0.0.0.0:3000:3000' + - '3000:3000' volumes: - './CertSSL:/CertSSL' - './config.yaml:/config.yaml' @@ -19,12 +29,13 @@ services: context: ./chart restart: unless-stopped ports: - - '0.0.0.0:3030:3030' + - '3030:3030' volumes: - './CertSSL:/CertSSL' - './config.yaml:/config.yaml' depends_on: - - postgres + postgres: + condition: service_healthy collect-currency: build: @@ -40,8 +51,15 @@ services: image: postgres:latest restart: unless-stopped env_file: .env + ports: + - '5432:5432' volumes: - ./postgres-data:/var/lib/postgresql/data + healthcheck: + test: ["CMD-SHELL", "pg_isready -U $POSTGRES_USER"] + interval: 10s + timeout: 5s + retries: 5 volumes: server: diff --git a/nginx.conf b/nginx.conf new file mode 100644 index 0000000..f623cec --- /dev/null +++ b/nginx.conf @@ -0,0 +1,57 @@ +events { } + +http { + upstream server_backend { + server server:3000; + } + + upstream chart_backend { + server chart:3030; + } + + server { + listen 80; + server_name localhost; # Your domain + + + location / { + proxy_pass http://server_backend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /api/getChart { + proxy_pass http://chart_backend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + } + + server { + listen 443 ssl; + server_name localhost; + + ssl_certificate /etc/nginx/ssl/fullchain.pem; + ssl_certificate_key /etc/nginx/ssl/privkey.pem; + + location / { + proxy_pass http://server_backend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + + location /api/getChart { + proxy_pass http://chart_backend; + proxy_set_header Host $host; + proxy_set_header X-Real-IP $remote_addr; + proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; + proxy_set_header X-Forwarded-Proto $scheme; + } + } +} \ No newline at end of file