Messenger/infra/centrifugo/config.json
Заид Омар Медхат | Zaid Omar Medhat db5c1610b3 Phase 6: media messages + avatars via MinIO presigned uploads
- Media (voice/video/image/file): private bucket, presigned PUT upload,
  reference-only publish, membership-gated presigned GET for viewing
- Avatars: public bucket, presigned PUT + direct public URL, profile.update event
- messages.media_key + media_meta (migration 1720000000005_media)
- Explicit MinIO region on presigning client (avoids getBucketRegion network call)
- Event type values sourced from EventType constants (no raw string literals)
- Web: attach button, MediaView renderer, avatar upload in topbar

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01BFRyKxkKEjfAgpXygzoNiD
2026-07-10 18:11:25 +05:00

54 lines
1.3 KiB
JSON

{
"$schema": "https://raw.githubusercontent.com/centrifugal/centrifugo/master/internal/config/schema.json",
"client": {
"allowed_origins": ["*"]
},
"http_api": {
"enabled": true
},
"engine": {
"type": "redis",
"redis": {
"address": "redis://redis:6379"
}
},
"channel": {
"namespaces": [
{
"name": "conv",
"presence": true,
"join_leave": true,
"force_push_join_leave": true,
"allow_presence_for_subscriber": true,
"history_size": 100,
"history_ttl": "300s",
"force_recovery": true,
"subscribe_proxy_enabled": true,
"subscribe_proxy_name": "backend"
},
{
"name": "user",
"presence": true,
"join_leave": true,
"history_size": 100,
"history_ttl": "300s",
"force_recovery": true,
"subscribe_proxy_enabled": true,
"subscribe_proxy_name": "backend"
},
{
"name": "eph",
"allow_publish_for_subscriber": true,
"subscribe_proxy_enabled": true,
"subscribe_proxy_name": "backend"
}
]
},
"proxies": [
{
"name": "backend",
"endpoint": "http://backend:4000/centrifugo/subscribe",
"timeout": "3s"
}
]
}