93 Zeilen
1.9 KiB
YAML
93 Zeilen
1.9 KiB
YAML
version: "3.9"
|
|
|
|
services:
|
|
postgres:
|
|
build:
|
|
context: ../v2_postgres
|
|
container_name: db
|
|
restart: always
|
|
env_file: .env
|
|
environment:
|
|
POSTGRES_HOST: postgres
|
|
POSTGRES_INITDB_ARGS: '--encoding=UTF8 --locale=de_DE.UTF-8'
|
|
POSTGRES_COLLATE: 'de_DE.UTF-8'
|
|
POSTGRES_CTYPE: 'de_DE.UTF-8'
|
|
TZ: Europe/Berlin
|
|
PGTZ: Europe/Berlin
|
|
volumes:
|
|
# Persistente Speicherung der Datenbank auf dem Windows-Host
|
|
- postgres_data:/var/lib/postgresql/data
|
|
# Init-Skript für Tabellen
|
|
- ../v2_adminpanel/init.sql:/docker-entrypoint-initdb.d/init.sql
|
|
networks:
|
|
- internal_net
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2'
|
|
memory: 4g
|
|
|
|
license-server:
|
|
build:
|
|
context: ../v2_lizenzserver
|
|
container_name: license-server
|
|
restart: always
|
|
# Port-Mapping entfernt - nur noch über Nginx erreichbar
|
|
env_file: .env
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
depends_on:
|
|
- postgres
|
|
networks:
|
|
- internal_net
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2'
|
|
memory: 4g
|
|
|
|
admin-panel:
|
|
build:
|
|
context: ../v2_adminpanel
|
|
container_name: admin-panel
|
|
restart: always
|
|
# Port-Mapping entfernt - nur über nginx erreichbar
|
|
env_file: .env
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
depends_on:
|
|
- postgres
|
|
networks:
|
|
- internal_net
|
|
volumes:
|
|
# Backup-Verzeichnis
|
|
- ../backups:/app/backups
|
|
deploy:
|
|
resources:
|
|
limits:
|
|
cpus: '2'
|
|
memory: 4g
|
|
|
|
nginx:
|
|
build:
|
|
context: ../v2_nginx
|
|
container_name: nginx-proxy
|
|
restart: always
|
|
ports:
|
|
- "80:80"
|
|
- "443:443"
|
|
environment:
|
|
TZ: Europe/Berlin
|
|
depends_on:
|
|
- admin-panel
|
|
- license-server
|
|
networks:
|
|
- internal_net
|
|
|
|
networks:
|
|
internal_net:
|
|
driver: bridge
|
|
|
|
volumes:
|
|
postgres_data:
|