diff --git a/server/README.md b/server/README.md index 084c00c..eba5e41 100644 --- a/server/README.md +++ b/server/README.md @@ -10,6 +10,7 @@ XMPP-сервер на базе [Snikket](https://snikket.org/) (обёртка | `snikket_proxy` | `snikket/snikket-web-proxy:stable` | Веб-прокси (nginx) | | `snikket_certs` | `snikket/snikket-cert-manager:stable` | Автоматическое получение TLS-сертификатов (Let's Encrypt) | | `snikket_portal` | `snikket/snikket-web-portal:stable` | Веб-портал для управления пользователями и инвайтами | +| `snikket_turn` | `coturn/coturn:latest` | TURN/STUN-сервер для голосовых и видеозвонков | | `s3_upload_handler` | собирается из `./s3-upload-handler` | Обработчик загрузки файлов — принимает файлы от XMPP-клиентов и сохраняет в S3 | | `postgres` | `postgres:15` | База данных PostgreSQL для Prosody | @@ -40,10 +41,28 @@ XMPP-сервер на базе [Snikket](https://snikket.org/) (обёртка | 5000 | TCP | Proxy65 (передача файлов) | | 5050 | TCP | S3 upload handler (HTTP Upload External) | | 5432 | TCP | PostgreSQL | -| 3478, 3479 | TCP+UDP | STUN/TURN | -| 5349, 5350 | TCP+UDP | STUN/TURN over TLS | +| 3478 | TCP+UDP | STUN/TURN | +| 5349 | TCP+UDP | TURNS (TURN over TLS) | | 49152–65535 | UDP | TURN relay (аудио/видео данные) | +### Настройка файрвола (UFW) + +```bash +# XMPP и веб +ufw allow 80/tcp +ufw allow 443/tcp +ufw allow 5222/tcp +ufw allow 5269/tcp +ufw allow 5000/tcp + +# STUN/TURN (голосовые и видеозвонки) +ufw allow 3478/udp +ufw allow 3478/tcp +ufw allow 5349/tcp +ufw allow 5349/udp +ufw allow 49152:65535/udp +``` + ## Конфигурация ### prosody.cfg.lua @@ -68,6 +87,7 @@ cp secrets.env.example secrets.env | `AWS_ACCESS_KEY_ID` | Ключ доступа AWS/S3 | | `AWS_SECRET_ACCESS_KEY` | Секретный ключ AWS/S3 | | `POSTGRES_PASSWORD` | Пароль PostgreSQL | +| `TURN_SECRET` | Shared secret для TURN-аутентификации (должен совпадать между coturn и Prosody). Генерация: `openssl rand -hex 32` | ### S3 Upload Handler (environment)