Add production compose overlay for deploy behind Nginx Proxy Manager

The prod overlay drops host ports for api/frontend and attaches frontend
to the server's external `web` network (alias lux-fiscal-frontend), where
NPM terminates TLS for asist.ystyle.com.ua. migrate/api/worker now share
a single lux-fiscal-backend image instead of three identical copies.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
2026-09-25 20:23:12 +03:00
co-authored by Claude Opus 5.5
parent d92c715c11
commit 44fe648ebc
2 changed files with 25 additions and 0 deletions
+21
View File
@@ -0,0 +1,21 @@
# Прод-оверлей: docker compose -f docker-compose.yml -f docker-compose.prod.yml up -d --build
#
# TLS и публичный домен держит Nginx Proxy Manager сервера (внешняя сеть `web`).
# Наружу торчит только frontend — и то лишь в сеть `web`, без портов на хосте;
# api/postgres/redis доступны исключительно внутри сети compose.
services:
api:
ports: !reset []
frontend:
ports: !reset []
networks:
default:
web:
# Имя, по которому NPM проксирует: Forward Hostname = lux-fiscal-frontend, порт 80.
aliases: [lux-fiscal-frontend]
networks:
web:
external: true
+4
View File
@@ -35,6 +35,8 @@ services:
# Миграции выполняются отдельным одноразовым контейнером, а не при старте api.
# Иначе при нескольких репликах api они пошли бы параллельно.
migrate:
# Один образ на migrate/api/worker, а не три одинаковых копии на диске.
image: lux-fiscal-backend:latest
build:
context: ./backend
env_file: .env
@@ -48,6 +50,7 @@ services:
restart: "no"
api:
image: lux-fiscal-backend:latest
build:
context: ./backend
restart: unless-stopped
@@ -68,6 +71,7 @@ services:
- receipt_storage:/app/storage
worker:
image: lux-fiscal-backend:latest
build:
context: ./backend
restart: unless-stopped