docs: enhance local dev docs, update Docker Compose, and archive old journals

Added Mailpit setup and updated Keycloak configuration in local development runbooks. Improved Docker Compose stability with updated service dependencies and configurations. Archived outdated journal entries and documents for better organization.
This commit is contained in:
2026-01-20 14:00:09 +01:00
parent 5dc8f18201
commit 46361185d0
56 changed files with 596 additions and 1832 deletions
+53 -55
View File
@@ -13,77 +13,75 @@ spring:
jpa:
database-platform: org.hibernate.dialect.PostgreSQLDialect
hibernate:
ddl-auto: update
ddl-auto: validate # In Production/Docker nutzen wir Flyway!
open-in-view: false
properties:
hibernate:
format_sql: true
# --- REDIS KONFIGURATION (NEU) ---
# --- FLYWAY MIGRATION ---
flyway:
enabled: ${SPRING_FLYWAY_ENABLED:true}
baseline-on-migrate: true
locations: classpath:db/migration
# --- REDIS KONFIGURATION ---
data:
redis:
host: ${SPRING_DATA_REDIS_HOST:localhost}
port: ${SPRING_DATA_REDIS_PORT:6379}
password: ${SPRING_DATA_REDIS_PASSWORD:redis-password} # Leer lassen als Default
# Optional: Timeouts für Stabilität
password: ${SPRING_DATA_REDIS_PASSWORD:redis-password}
connect-timeout: 5s
timeout: 2s
# --- CONSUL SERVICE DISCOVERY ---
cloud:
consul:
host: ${CONSUL_HOST:localhost}
port: ${CONSUL_PORT:8500}
enabled: ${CONSUL_ENABLED:true}
host: ${SPRING_CLOUD_CONSUL_HOST:localhost}
port: ${SPRING_CLOUD_CONSUL_PORT:8500}
enabled: ${SPRING_CLOUD_CONSUL_ENABLED:true}
discovery:
enabled: ${CONSUL_ENABLED:true}
register: ${CONSUL_ENABLED:true}
health-check-path: /actuator/health
enabled: ${SPRING_CLOUD_CONSUL_DISCOVERY_ENABLED:true}
register: ${SPRING_CLOUD_CONSUL_DISCOVERY_REGISTER:true}
prefer-ip-address: ${SPRING_CLOUD_CONSUL_DISCOVERY_PREFER_IP_ADDRESS:true}
health-check-path: ${SPRING_CLOUD_CONSUL_DISCOVERY_HEALTH_CHECK_PATH:/actuator/health}
health-check-interval: 10s
instance-id: ${spring.application.name}-${server.port}-${random.uuid}
instance-id: ${spring.application.name}:${random.value}
service-name: ${spring.application.name}
# # Redis configuration for cache
# redis:
# host: ${SPRING_DATA_REDIS_HOST:localhost}
# port: ${SPRING_DATA_REDIS_PORT:6379}
# password: ${SPRING_DATA_REDIS_PASSWORD:redis-password}
# database: 0
# connection-timeout: 5s
# read-timeout: 2s
# use-pooling: true
# max-pool-size: 8
# min-pool-size: 2
# connection-check-interval: 10000 # 10 seconds
# local-cache-cleanup-interval: 60000 # 1 minute
# sync-interval: 300000 # 5 minutes
#
# # Redis configuration for event store
# event-store:
# host: ${SPRING_DATA_REDIS_HOST:localhost}
# port: ${SPRING_DATA_REDIS_PORT:6379}
# password: ${SPRING_DATA_REDIS_PASSWORD:redis-password}
# database: 1 # Use a different database for event store
# connection-timeout: 5s
# read-timeout: 2s
# use-pooling: true
# max-pool-size: 8
# min-pool-size: 2
# consumer-group: event-processors
# consumer-name:
# "${spring.application.name}-${random.uuid}"
# stream-prefix:
# "event-stream:"
# all-events-stream:
# "all-events"
# claim-idle-timeout: 60000 # 1 minute
# poll-timeout: 100 # 100 milliseconds
# poll-interval: 100 # 100 milliseconds
# max-batch-size: 100
# create-consumer-group-if-not-exists: true
# --- SECURITY (OAUTH2 RESOURCE SERVER) ---
security:
oauth2:
resourceserver:
jwt:
issuer-uri: ${SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_ISSUER_URI:http://localhost:8180/realms/meldestelle}
jwk-set-uri: ${SPRING_SECURITY_OAUTH2_RESOURCESERVER_JWT_JWK_SET_URI:http://localhost:8180/realms/meldestelle/protocol/openid-connect/certs}
# Logging configuration
# --- OBSERVABILITY (ACTUATOR & ZIPKIN) ---
management:
endpoints:
web:
exposure:
include: "health,info,prometheus,metrics"
endpoint:
health:
show-details: always
probes:
enabled: true
tracing:
sampling:
probability: ${MANAGEMENT_TRACING_SAMPLING_PROBABILITY:1.0}
zipkin:
tracing:
endpoint: ${MANAGEMENT_ZIPKIN_TRACING_ENDPOINT:http://localhost:9411/api/v2/spans}
# --- LOGGING ---
logging:
level:
root: INFO
at.mocode: DEBUG
org.springframework.data.redis: INFO
## Server configuration
#server:
# port: 8080
org.springframework.web: INFO
org.springframework.security: INFO
org.springframework.cloud.gateway: INFO
pattern:
level: "%5p [${spring.application.name:},%X{traceId:-},%X{spanId:-}]"