# VideoGrace Server configuration

[Db]
MainDb = __VAR__/lib/vgserver/db/main.db
HistoryDb = __VAR__/lib/vgserver/db/history.db
StatisticsDb = __VAR__/lib/vgserver/db/stats.db
APIDb = __VAR__/lib/vgserver/db/api.db
SecurityDb = __VAR__/lib/vgserver/db/security.db
IntegrationDb = __VAR__/lib/vgserver/db/integration.db

[Network]
# Put your domain HERE!
Address =
BindAddress =
Port = 8443
UseIPv6 = 1

[Translator]
StartPort = 5060
Count = 1
MaxOutputBitrate = 4096

[Recorder]
Enabled = 0
Path =
MP3 = 0

[CAN]
# Service control bus for recorder, tolmach, consolidator and external RTC nodes.
# Services connect outbound to wss://<server>/can and authenticate with this bearer token.
Enabled = 0
ServiceToken =
# Hard in-memory queue limit. Finished jobs older than FinishedJobTtlSec are pruned.
MaxJobs = 1000
# Admin dashboard returns all active jobs plus recent finished jobs up to this limit.
MaxStatsJobs = 100
MaxEventsPerJob = 100
FinishedJobTtlSec = 3600

[Push]
# Offline browser notifications for calls and chat messages.
# Requires HTTPS, service worker support and VAPID keys.
Enabled = 0
TTL = 3600
# Maximum number of pending notifications kept in memory.
MaxQueueSize = 4096
Subject = mailto:admin@example.com
VapidPublicKey =
VapidPrivateKey =

[Mail]
# Shared SMTP relay for conference/platform invitations and password recovery.
Enabled = 0
Host =
Port = 587
# starttls (587), tls (465), or none for a trusted local relay.
Security = starttls
VerifyTls = 1
Username =
Password =
FromAddress =
FromName = VideoGrace
TimeoutSec = 15
MaxQueueSize = 256
ResetTokenTtlSec = 1800

[Integration]
# Optional partner backend API and signed hosted VideoRoom links.
# When disabled, /api/v1/integration/* returns 404 and IntegrationDb is not opened.
Enabled = 0
PublicUrl =

[Storage]
# Object storage for chat attachments, avatars and future recordings.
# Type currently supports fs. S3 backend will be added behind the same interface.
Type = fs
Root = __VAR__/lib/vgserver/storage
# Bytes. HTTP chunk uploads reject larger objects/chunks before writing to storage.
MaxObjectSize = 1073741824
MaxChunkSize = 4194304
# Seconds before incomplete upload sessions and uploaded-but-unsent chat files are removed.
PendingUploadTtlSec = 86400
OrphanUploadTtlSec = 86400

[System]
Threads = 4

[Security]
Certs = __VAR__/lib/vgserver/certs
Cert = 
PrivKey =
Fail2Ban = 1

[WebRTC]
# BindAddress is the local UDP interface for WebRTC ICE.
# Use 0.0.0.0 for public Linux servers.
BindAddress = 0.0.0.0
# AdvertiseAddress is the public DNS/IP inserted into ICE candidates.
# Leave empty to reuse [Network] Address.
AdvertiseAddress =
# Open this UDP range in firewall/NAT. Each WebRTC PeerConnection uses a UDP port.
PortRangeBegin = 43000
PortRangeEnd = 43999

[User]
InstallPath = __OPT_PREFIX__/share/vgserver/
LogFilePath = __VAR__/log/vgserver
# 0- max, 6 - min
LogLevel = 2
LogOnlyConsole = 0
DowngradeClients = 0

# Legacy location, kept for compatibility with older binaries.
Threads = 4
Installed = 1
Locale = 135
