Files
EchoHub/src/EchoHub.Server/appsettings.example.json
T
HueByte 7525f8b1d8 feat: add periodic server stats reporting and logging
- Introduced ServerStatsReport and ServerStatsCollector for tracking server activity.
- Implemented ServerStatsReportService to generate and persist stats reports periodically.
- Added configuration options for stats reporting in appsettings and .env.example.
- Enhanced logging in ChannelsController and ModerationController to include stats-related actions.
- Updated database context and migrations to support new ServerStatsReport entity.
- Adjusted logging levels in IrcGatewayService and ChatService for better performance.
2026-07-17 22:14:55 +02:00

103 lines
2.3 KiB
JSON

{
"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": "*"
}