Files
meldestelle/server/src/main/resources/application.yaml
T
2025-07-14 22:02:46 +02:00

67 lines
1.8 KiB
YAML

# Meldestelle Server Configuration
ktor:
deployment:
# Server port configuration - can be overridden with SERVER_PORT environment variable
port: 8080
# Connection timeout in seconds
connectionTimeout: 30
# Maximum number of concurrent connections
maxConnections: 1000
# Enable development mode with hot-reload (only for development)
watch:
- classes
- resources
application:
modules:
- at.mocode.ApplicationKt.module
# Database Configuration
database:
# Database driver (postgresql for production, h2 for development)
driver: "${DB_DRIVER:postgresql}"
# Database connection settings
host: "${DB_HOST:localhost}"
port: "${DB_PORT:5432}"
name: "${DB_NAME:meldestelle}"
user: "${DB_USER:postgres}"
password: "${DB_PASSWORD:postgres}"
# Connection pool settings
pool:
maxSize: "${DB_POOL_SIZE:10}"
minIdle: "${DB_POOL_MIN_IDLE:2}"
idleTimeout: 10000
connectionTimeout: 5000
maxLifetime: 1800000
# Security Configuration
security:
# JWT configuration
jwt:
issuer: "meldestelle-server"
audience: "meldestelle-clients"
realm: "meldestelle"
# Secret should be set via an environment variable in production
secret: "${JWT_SECRET:dev-secret-key-change-in-production}"
# Token validity duration in milliseconds (24 hours)
validity: 86400000
# CORS Configuration
cors:
# Allow requests from these origins
allowedHosts:
- "localhost:3000"
- "127.0.0.1:3000"
- "meldestelle.mocode.at"
# Allow credentials (cookies, auth headers)
allowCredentials: true
# Application-specific settings
application:
name: "Meldestelle Server"
version: "1.0.0"
environment: "${ENVIRONMENT:development}"
# Feature flags
features:
enableRegistration: true
enableEmailNotifications: "${ENABLE_EMAIL:false}"