server:
  host: "0.0.0.0"
  port: 8080
  baseURL: "%%APP_ORIGIN%%"
  cors:
    origins: ["%%APP_ORIGIN%%"]
  sessionSecret: "%%SESSION_SECRET%%"

database:
  host: "%%POSTGRESQL_HOST%%"
  port: %%POSTGRESQL_PORT%%
  user: "%%POSTGRESQL_USERNAME%%"
  password: "%%POSTGRESQL_PASSWORD%%"
  database: "%%POSTGRESQL_DATABASE%%"
  ssl: true
  sslMode: "require"
  maxOpenConns: 25
  maxIdleConns: 25
  connMaxLifetime: "1h"

storage:
  type: "s3"
  s3:
    endpoint: "%%S3_ENDPOINT%%"
    region: "%%S3_REGION%%"
    bucket: "%%S3_BUCKET%%"
    accessKey: "%%S3_ACCESS_KEY%%"
    secretKey: "%%S3_SECRET_KEY%%"
    prefix: "%%S3_PREFIX%%"
    forcePathStyle: true

email:
  smtp:
    host: "%%MAIL_SMTP_SERVER%%"
    port: %%MAIL_SMTP_PORT%%
    user: "%%MAIL_SMTP_USERNAME%%"
    password: "%%MAIL_SMTP_PASSWORD%%"
    secure: true
  from:
    email: "%%MAIL_FROM%%"
    name: "%%MAIL_FROM_DISPLAY_NAME%%"

auth:
  jwtSecret: "%%JWT_SECRET%%"
  tokenExpiry: 86400
  sessionSecret: "%%SESSION_SECRET%%"

logging:
  level: "info"
  format: "text"
  
# Additional settings based on Museum requirements
keygen:
  master: "%%MASTER_KEY%%"

payments:
  enabled: false
  
metadata:
  localPath: "/app/data/storage/metadata"
  
tempDirectory: "/app/data/storage/temp"

memoryCache:
  enabled: true
  size: 100