Deployment supports nginx and PostgreSQL installed on the host, added import of an existing installation.

Co-Authored-By: Claude Opus 5.5 <[email protected]>
This commit is contained in:
2026-10-12 18:24:20 +02:00
co-authored by Claude Opus 5.5
parent 156fe1a0f4
commit 6c59c87f27
6 changed files with 378 additions and 76 deletions
+9 -1
View File
@@ -1,11 +1,15 @@
# Shared infrastructure for running one Rezervovator container per customer:
# the reverse proxy and the PostgreSQL server. Customer containers are not listed
# here, they are created with ./rezervator.sh (see README.md in this directory).
#
# Both services are optional and selected by profiles: ./rezervator.sh init starts
# "traefik" unless REZERVATOR_PROXY=nginx, and "postgres" unless REZERVATOR_POSTGRES=host.
name: ${REZERVATOR_PREFIX:-rezervator}
services:
proxy:
profiles: ["traefik"]
image: traefik:v3
container_name: ${REZERVATOR_PREFIX:-rezervator}-proxy
restart: unless-stopped
@@ -31,11 +35,12 @@ services:
- rezervator
postgres:
profiles: ["postgres"]
image: postgres:17
container_name: ${REZERVATOR_PREFIX:-rezervator}-postgres
restart: unless-stopped
environment:
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:?Set POSTGRES_PASSWORD in .env (./rezervator.sh init creates it)}
POSTGRES_PASSWORD: ${POSTGRES_PASSWORD:-}
# Every customer instance may open up to CUSTOMER_MAX_CONNECTIONS connections
command: ["postgres", "-c", "max_connections=${PG_MAX_CONNECTIONS:-300}"]
volumes:
@@ -48,9 +53,12 @@ services:
networks:
- rezervator
# Created by ./rezervator.sh init, because customer containers use it even when
# neither service above runs
networks:
rezervator:
name: ${REZERVATOR_PREFIX:-rezervator}
external: true
volumes:
letsencrypt: