165 Zeilen
3.8 KiB
YAML
165 Zeilen
3.8 KiB
YAML
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
|
|
|
|
# auth-service:
|
|
# build:
|
|
# context: ../lizenzserver/services/auth
|
|
# container_name: auth-service
|
|
# restart: always
|
|
# # Port 5001 - nur intern erreichbar
|
|
# env_file: .env
|
|
# environment:
|
|
# TZ: Europe/Berlin
|
|
# DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/v2_adminpanel
|
|
# REDIS_URL: redis://redis:6379/1
|
|
# JWT_SECRET: ${JWT_SECRET}
|
|
# FLASK_ENV: production
|
|
# depends_on:
|
|
# - postgres
|
|
# - redis
|
|
# networks:
|
|
# - internal_net
|
|
# deploy:
|
|
# resources:
|
|
# limits:
|
|
# cpus: '1'
|
|
# memory: 1g
|
|
|
|
# analytics-service:
|
|
# build:
|
|
# context: ../lizenzserver/services/analytics
|
|
# container_name: analytics-service
|
|
# restart: always
|
|
# # Port 5003 - nur intern erreichbar
|
|
# env_file: .env
|
|
# environment:
|
|
# TZ: Europe/Berlin
|
|
# DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/v2_adminpanel
|
|
# REDIS_URL: redis://redis:6379/2
|
|
# JWT_SECRET: ${JWT_SECRET}
|
|
# FLASK_ENV: production
|
|
# depends_on:
|
|
# - postgres
|
|
# - redis
|
|
# - rabbitmq
|
|
# networks:
|
|
# - internal_net
|
|
# deploy:
|
|
# resources:
|
|
# limits:
|
|
# cpus: '1'
|
|
# memory: 2g
|
|
|
|
# admin-api-service:
|
|
# build:
|
|
# context: ../lizenzserver/services/admin_api
|
|
# container_name: admin-api-service
|
|
# restart: always
|
|
# # Port 5004 - nur intern erreichbar
|
|
# env_file: .env
|
|
# environment:
|
|
# TZ: Europe/Berlin
|
|
# DATABASE_URL: postgresql://postgres:${POSTGRES_PASSWORD}@postgres:5432/v2_adminpanel
|
|
# REDIS_URL: redis://redis:6379/3
|
|
# JWT_SECRET: ${JWT_SECRET}
|
|
# FLASK_ENV: production
|
|
# depends_on:
|
|
# - postgres
|
|
# - redis
|
|
# - rabbitmq
|
|
# networks:
|
|
# - internal_net
|
|
# deploy:
|
|
# resources:
|
|
# limits:
|
|
# cpus: '1'
|
|
# memory: 2g
|
|
|
|
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:
|