chore: erweitere Resilience4j-Bundle um Kotlin-Support, aktualisiere PingController um Fallback-Logik, füge Fehlerhandler hinzu, verbessere PingControllerTest, synchronisiere .env und dc-infra.yaml
This commit is contained in:
@@ -0,0 +1,246 @@
|
||||
# ==========================================
|
||||
# Meldestelle – Docker Compose Environment
|
||||
# Single Source of Truth (SSoT)
|
||||
# ==========================================
|
||||
# WARNING: This file contains secrets (passwords).
|
||||
# Do NOT commit this file to version control if it contains production secrets.
|
||||
|
||||
# --- PROJECT ---
|
||||
PROJECT_NAME=meldestelle
|
||||
|
||||
# --- BACKUP ---
|
||||
BACKUP_DIR=/home/stefan/backups/meldestelle
|
||||
BACKUP_RETENTION_DAYS=7
|
||||
|
||||
# Docker build versions (optional overrides)
|
||||
DOCKER_VERSION=1.0.0-SNAPSHOT
|
||||
DOCKER_REGISTRY=git.mo-code.at/mocode-software/meldestelle
|
||||
DOCKER_BUILD_DATE=2026-03-16T12:00:00Z
|
||||
DOCKER_GRADLE_VERSION=9.3.1
|
||||
DOCKER_JAVA_VERSION=25
|
||||
DOCKER_NODE_VERSION=24.12.0
|
||||
DOCKER_NGINX_VERSION=1.28.0-alpine
|
||||
|
||||
# JVM Power Flags (Lokal leer lassen, da Intel/AMD Architektur)
|
||||
JVM_OPTS_ARM64=
|
||||
|
||||
# --- POSTGRES ---
|
||||
POSTGRES_IMAGE=postgres:16-alpine
|
||||
POSTGRES_SHARED_BUFFERS=256MB
|
||||
POSTGRES_EFFECTIVE_CACHE_SIZE=768MB
|
||||
POSTGRES_USER=pg-user
|
||||
POSTGRES_PASSWORD=pg-password
|
||||
POSTGRES_DB=pg-meldestelle-db
|
||||
POSTGRES_PORT=5432:5432
|
||||
POSTGRES_DB_URL=jdbc:postgresql://postgres:5432/pg-meldestelle-db
|
||||
|
||||
# --- VALKEY (formerly Redis) ---
|
||||
VALKEY_IMAGE=valkey/valkey:9-alpine
|
||||
VALKEY_PASSWORD=valkey-password
|
||||
VALKEY_PORT=6379:6379
|
||||
VALKEY_SERVER_HOSTNAME=valkey
|
||||
VALKEY_SERVER_PORT=6379
|
||||
VALKEY_SERVER_CONNECT_TIMEOUT=5s
|
||||
VALKEY_POLICY=allkeys-lru
|
||||
VALKEY_MAX_MEMORY=256MB
|
||||
SPRING_DATA_VALKEY_HOST=localhost
|
||||
SPRING_DATA_VALKEY_PORT=6379
|
||||
SPRING_DATA_VALKEY_PASSWORD=valkey-password
|
||||
|
||||
# --- KEYCLOAK ---
|
||||
KEYCLOAK_IMAGE_TAG=latest
|
||||
KC_HEAP_MIN=512M
|
||||
KC_HEAP_MAX=1024M
|
||||
# Lokale Entwicklung: start-dev (kein Pre-Build nötig, kein --optimized)
|
||||
# Server/Produktion: start --optimized --import-realm (nutzt das pre-built Registry-Image)
|
||||
KC_COMMAND=start-dev --import-realm
|
||||
# System-Admin (Master Console)
|
||||
KC_BOOTSTRAP_ADMIN_USERNAME=kc-admin
|
||||
KC_BOOTSTRAP_ADMIN_PASSWORD=kc-password
|
||||
# Fach-Admin User Passwort (wird im Realm Import genutzt)
|
||||
# Hinweis: Wenn du das hier änderst, müsstest du auch die JSON anpassen
|
||||
# oder dort eine Variable nutzen.
|
||||
|
||||
KC_DB=postgres
|
||||
KC_DB_SCHEMA=keycloak
|
||||
KC_DB_URL=jdbc:postgresql://postgres:5432/pg-meldestelle-db
|
||||
KC_DB_USERNAME=pg-user
|
||||
KC_DB_PASSWORD=meldestelle
|
||||
|
||||
# Lokal: localhost | Server: echte IP oder Domain (z.B. 10.0.0.50 oder auth.meldestelle.at)
|
||||
# WICHTIG: Nur den Hostnamen angeben, OHNE Port (Keycloak 26.x hostname v2)
|
||||
KC_HOSTNAME=localhost
|
||||
# false = Zugriff über beliebige Hostnamen erlaubt (nötig ohne TLS / für HTTP-Betrieb)
|
||||
KC_HOSTNAME_STRICT=false
|
||||
KC_HOSTNAME_STRICT_HTTPS=false
|
||||
KC_PORT=8180:8080
|
||||
KC_MANAGEMENT_PORT=9000:9000
|
||||
|
||||
KC_HTTP_ENABLE=true
|
||||
|
||||
KC_API_GATEWAY_CLIENT_SECRET=K5RqonwVOaxPKaXVH4mbthSRbjRh5tOK
|
||||
# KC_POSTMAN_CLIENT_SECRET=postman-secret-123
|
||||
# KC_BOOTSTRAP_ADMIN_PASSWORD=Admin#1234
|
||||
KC_FRONTEND_URL=http://localhost:8180
|
||||
KC_PROXY_HEADERS=xforwarded
|
||||
|
||||
# --- KEYCLOAK TOKEN VALIDATION ---
|
||||
# Public Issuer URI (must match the token issuer from browser/postman)
|
||||
# Lokal: http://localhost:8180 | Produktion: http://10.0.0.50:8180
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI=http://localhost:8180/realms/meldestelle
|
||||
# Internal JWK Set URI (for service-to-service communication within Docker)
|
||||
SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI=http://keycloak:8080/realms/meldestelle/protocol/openid-connect/certs
|
||||
|
||||
# --- CONSUL ---
|
||||
CONSUL_IMAGE=hashicorp/consul:1.22.1
|
||||
CONSUL_PORT=8500:8500
|
||||
CONSUL_UDP_PORT=8600:8600/udp
|
||||
CONSUL_HOST=consul
|
||||
SPRING_CLOUD_CONSUL_HOST=consul
|
||||
SPRING_CLOUD_CONSUL_PORT=8500
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_SERVICE_NAME=api-gateway
|
||||
SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS=true
|
||||
|
||||
# --- Zipkin ---
|
||||
ZIPKIN_IMAGE=openzipkin/zipkin:3
|
||||
ZIPKIN_MIN_HEAP=256M
|
||||
ZIPKIN_MAX_HEAP=512M
|
||||
ZIPKIN_PORT=9411:9411
|
||||
ZIPKIN_ENDPOINT=http://zipkin:9411/api/v2/spans
|
||||
ZIPKIN_SAMPLING_PROBABILITY=1.0
|
||||
|
||||
# --- Mailpit ---
|
||||
MAILPIT_IMAGE=axllent/mailpit:v1.29
|
||||
MAILPIT_WEB_PORT=8025:8025
|
||||
MAILPIT_SMTP_PORT=1025:1025
|
||||
|
||||
# --- PGADMIN ---
|
||||
PGADMIN_IMAGE=dpage/pgadmin4:8
|
||||
PGADMIN_EMAIL=meldestelle@mo-code.at
|
||||
PGADMIN_PASSWORD=pgadmin
|
||||
PGADMIN_PORT=8888:80
|
||||
|
||||
# --- POSTGRES-EXPORTER ---
|
||||
POSTGRES_EXPORTER_IMAGE=prometheuscommunity/postgres-exporter:v0.18.0
|
||||
|
||||
# --- ALERTMANAGER ---
|
||||
ALERTMANAGER_IMAGE=prom/alertmanager:v0.29.0
|
||||
ALERTMANAGER_PORT=9093:9093
|
||||
|
||||
# --- PROMETHEUS ---
|
||||
PROMETHEUS_IMAGE=prom/prometheus:v3.7.3
|
||||
PROMETHEUS_PORT=9090:9090
|
||||
|
||||
# --- GRAFANA ---
|
||||
GF_IMAGE=grafana/grafana:12.3
|
||||
GF_ADMIN_USER=gf-admin
|
||||
GF_ADMIN_PASSWORD=gf-password
|
||||
GF_PORT=3000:3000
|
||||
|
||||
# --- API-GATEWAY ---
|
||||
GATEWAY_PORT=8081:8081
|
||||
GATEWAY_DEBUG_PORT=5005:5005
|
||||
GATEWAY_SERVER_PORT=8081
|
||||
GATEWAY_SPRING_PROFILES_ACTIVE=docker
|
||||
GATEWAY_DEBUG=true
|
||||
GATEWAY_SERVICE_NAME=api-gateway
|
||||
GATEWAY_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- PING-SERVICE ---
|
||||
PING_SPRING_PROFILES_ACTIVE=docker
|
||||
PING_PORT=8082:8082
|
||||
PING_DEBUG_PORT=5006:5006
|
||||
PING_SERVER_PORT=8082
|
||||
PING_DEBUG=true
|
||||
PING_SERVICE_NAME=ping-service
|
||||
PING_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- MAIL-SERVICE ---
|
||||
MAIL_PORT=8083:8083
|
||||
MAIL_DEBUG_PORT=5014:5014
|
||||
MAIL_SERVER_PORT=8083
|
||||
MAIL_SPRING_PROFILES_ACTIVE=docker
|
||||
MAIL_DEBUG=true
|
||||
MAIL_SERVICE_NAME=mail-service
|
||||
MAIL_CONSUL_PREFER_IP=true
|
||||
MAIL_SMTP_HOST=smtp.world4you.com
|
||||
MAIL_SMTP_PORT=587
|
||||
MAIL_SMTP_USER=online-nennen@mo-code.at
|
||||
MAIL_SMTP_PASSWORD=secret
|
||||
MAIL_SMTP_AUTH=true
|
||||
MAIL_SMTP_STARTTLS=true
|
||||
|
||||
# --- MASTERDATA-SERVICE ---
|
||||
MASTERDATA_PORT=8086:8086
|
||||
MASTERDATA_DEBUG_PORT=5007:5007
|
||||
MASTERDATA_SERVER_PORT=8086
|
||||
MASTERDATA_SPRING_PROFILES_ACTIVE=docker
|
||||
MASTERDATA_DEBUG=true
|
||||
MASTERDATA_SERVICE_NAME=masterdata-service
|
||||
MASTERDATA_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- EVENTS-SERVICE ---
|
||||
EVENTS_PORT=8085:8085
|
||||
EVENTS_DEBUG_PORT=5008:5008
|
||||
EVENTS_SERVER_PORT=8085
|
||||
EVENTS_SPRING_PROFILES_ACTIVE=docker
|
||||
EVENTS_DEBUG=true
|
||||
EVENTS_SERVICE_NAME=events-service
|
||||
EVENTS_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- ZNS-IMPORT-SERVICE ---
|
||||
ZNS_IMPORT_PORT=8095:8095
|
||||
ZNS_IMPORT_DEBUG_PORT=5009:5009
|
||||
ZNS_IMPORT_SERVER_PORT=8095
|
||||
ZNS_IMPORT_SPRING_PROFILES_ACTIVE=docker
|
||||
ZNS_IMPORT_DEBUG=true
|
||||
ZNS_IMPORT_SERVICE_NAME=zns-import-service
|
||||
ZNS_IMPORT_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- RESULTS-SERVICE ---
|
||||
RESULTS_PORT=8088:8088
|
||||
RESULTS_DEBUG_PORT=5010:5010
|
||||
RESULTS_SERVER_PORT=8088
|
||||
RESULTS_SPRING_PROFILES_ACTIVE=docker
|
||||
RESULTS_DEBUG=true
|
||||
RESULTS_SERVICE_NAME=results-service
|
||||
RESULTS_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- BILLING-SERVICE ---
|
||||
BILLING_PORT=8087:8087
|
||||
BILLING_DEBUG_PORT=5012:5012
|
||||
BILLING_SERVER_PORT=8087
|
||||
BILLING_SPRING_PROFILES_ACTIVE=docker
|
||||
BILLING_DEBUG=true
|
||||
BILLING_SERVICE_NAME=billing-service
|
||||
BILLING_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- SCHEDULING-SERVICE ---
|
||||
SCHEDULING_PORT=8084:8084
|
||||
SCHEDULING_DEBUG_PORT=5013:5013
|
||||
SCHEDULING_SERVER_PORT=8084
|
||||
SCHEDULING_SPRING_PROFILES_ACTIVE=docker
|
||||
SCHEDULING_DEBUG=true
|
||||
SCHEDULING_SERVICE_NAME=scheduling-service
|
||||
SCHEDULING_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- SERIES-SERVICE ---
|
||||
SERIES_PORT=8089:8089
|
||||
SERIES_DEBUG_PORT=5011:5011
|
||||
SERIES_SERVER_PORT=8089
|
||||
SERIES_SPRING_PROFILES_ACTIVE=docker
|
||||
SERIES_DEBUG=true
|
||||
SERIES_SERVICE_NAME=series-service
|
||||
SERIES_CONSUL_PREFER_IP=true
|
||||
|
||||
# --- WEB-APP ---
|
||||
CADDY_VERSION=2.11-alpine
|
||||
WEB_APP_PORT=4000:4000
|
||||
WEB_BUILD_PROFILE=dev
|
||||
# Lokal: http://localhost:8081 | Produktion: http://10.0.0.50:8081
|
||||
WEB_APP_API_URL=http://localhost:8081
|
||||
WEB_APP_KEYCLOAK_URL=http://auth.mo-code.at
|
||||
|
||||
# --- DESKTOP-APP ---
|
||||
DESKTOP_APP_VNC_PORT=5901:5901
|
||||
DESKTOP_APP_NOVNC_PORT=6080:6080
|
||||
Reference in New Issue
Block a user