Примеры конфигурации
Ниже приведен полный пример config.yaml, демонстрирующий типичную производственную настройку с включенными Webhooks и MQTT, пользовательской конфигурацией GC и начальным набором камер и тегов для миграции при первом запуске.
yaml
server:
port: 8080
debug: false
pprof_port: 0
record_retention_days: 30
gc_percent: 50
gc_memory_limit_mb: 2048
cors_allowed_origins:
- "https://dashboard.mycompany.com"
auth:
secret: "" # Будет сгенерировано автоматически
global_tags:
- id: "indoor"
name: "Indoor"
color: "#3b82f6"
- id: "outdoor"
name: "Outdoor"
color: "#ef4444"
cameras:
- id: "cam-front"
url: "rtsp://admin:pass@10.0.10.50/stream1"
record: true
retention_days: 14
transport: "tcp"
tags: ["outdoor"]
- id: "cam-lobby"
url: "rtsp://admin:pass@10.0.10.51/stream1"
record: true
retention_days: 0 # Использует глобальные 30 дней
transport: "tcp"
tags: ["indoor"]
lazy_hls: true
events:
webhooks:
- url: "https://internal-api.mycompany.com/ruseon-events"
topics: ["camera.online", "camera.offline"]
secret: "super-secret-key"
mqtt:
enabled: true
broker: "tcp://mqtt.mycompany.com:1883"
username: "ruseon_agent"
password: "strongpassword"
topic: "building/cameras"