{
  "Urls": "http://0.0.0.0:5000",
  "ConnectionStrings": {
    "DefaultConnection": ""
  },
  "Jwt": {
    "Secret": "CHANGE_ME_minimum_32_characters_long_secret_key",
    "Issuer": "EchoHub.Server",
    "Audience": "EchoHub.Client"
  },
  "Server": {
    "Name": "My EchoHub Server",
    "Description": "A self-hosted EchoHub chat server",
    "PublicServer": false,
    "PublicHosts": [],
    "Tags": [],
    "Admins": [],
    "Registration": "open",
    "DirectoryClaimPath": ""
  },
  "Storage": {
    "Path": "",
    "CleanupIntervalHours": 1,
    "RetentionDays": 30
  },
  "Uploads": {
    "MaxFileSizeMB": 100,
    "MaxImageSizeMB": 10,
    "MaxAudioSizeMB": 10,
    "MaxAvatarSizeMB": 2,
    "MaxAttachmentsPerMessage": 10
  },
  "Spam": {
    "Enabled": true,
    "MaxMessagesPerWindow": 8,
    "WindowSeconds": 5,
    "MaxDuplicateMessages": 3,
    "AutoMuteMinutes": 5,
    "ViolationThreshold": 5,
    "ViolationWindowMinutes": 5,
    "MaxJoinsPerWindow": 25,
    "JoinWindowSeconds": 30,
    "MaxChannelCreatesPerWindow": 3,
    "ChannelCreateWindowMinutes": 10
  },
  "Encryption": {
    "Key": "",
    "EncryptDatabase": false
  },
  "ServerLogs": {
    "Enabled": true,
    "RoomName": "server-logs",
    "MinRole": "Mod",
    "MinLevel": "Information",
    "BacklogLines": 100,
    "LogDirectory": "logs",
    "LogFilePattern": "echohub-server-*.log"
  },
  "Stats": {
    "Enabled": true,
    "IntervalHours": 6,
    "RetentionDays": 90
  },
  "Irc": {
    "Enabled": false,
    "Port": 6667,
    "TlsEnabled": false,
    "TlsPort": 6697,
    "TlsCertPath": "",
    "TlsCertPassword": "",
    "ServerName": "echohub",
    "Motd": "Welcome to EchoHub IRC Gateway!",
    "PublicBaseUrl": ""
  },
  "Cors": {
    "AllowedOrigins": []
  },
  "Serilog": {
    "MinimumLevel": {
      "Default": "Information",
      "Override": {
        "Microsoft": "Warning",
        "Microsoft.AspNetCore": "Warning",
        "Microsoft.EntityFrameworkCore": "Warning",
        "System": "Warning"
      }
    },
    "WriteTo": [
      { "Name": "Console" },
      {
        "Name": "File",
        "Args": {
          "path": "logs/echohub-server-.log",
          "rollingInterval": "Day",
          "retainedFileCountLimit": 14,
          "outputTemplate": "{Timestamp:yyyy-MM-dd HH:mm:ss.fff} [{Level:u3}] {Message:lj}{NewLine}{Exception}"
        }
      }
    ]
  },
  "AllowedHosts": "*"
}
