6.0 KiB
VPS Миран (СПБ): боты и STUN/TURN
VPS в ЦОД Миран (Санкт-Петербург). Развёрнуты два Telegram-бота (telegram-helper-bot, anonBot), инфраструктура prod (мониторинг, метрики), а также сервер STUN/TURN для Galene (call.katykhin.ru).
Доступ и логины
- SSH:
ssh -p 15722 deploy@185.147.80.190(пользователь deploy, в группе docker). IP: 185.147.80.190, хостнейм vm220416.vds.miran.ru, ОС Ubuntu. - S3 (контент ботов): URL https://api.s3.miran.ru, порт 443. Access key:
j3tears100@gmail.com, Secret key:wQ1-6sZEPs92sbZTSf96(полная таблица — в разделе «S3» ниже). - Админка Миран (панель хостинга VPS): логин
j3tears100@gmail.com, парольgonPok-xifrys-4nuxde. - Grafana, Uptime Kuma, админки ботов: логины и пароли — в
.envпроекта prod или в менеджере паролей.
Что развёрнуто
1. Боты и prod (Docker Compose)
Проект в /home/prod/: docker-compose.yml, каталоги bots/, infra/, CI (GitHub Actions в .github/). Запуск от пользователя deploy.
| Сервис | Образ / контейнер | Порт | Назначение |
|---|---|---|---|
| telegram-bot | prod-telegram-bot | 8080 | telegram-helper-bot |
| anon-bot | prod-anon-bot | 8081 | anonBot |
| prometheus | prom/prometheus | 9090 | Метрики |
| alertmanager | prom/alertmanager | 9093 | Алерты |
| grafana | grafana/grafana | 3000 | Дашборды |
| uptime-kuma | louislam/uptime-kuma | 3001 | Мониторинг доступности |
Сеть контейнеров: prod_bots_network (bridge). Переменные окружения и секреты — в .env и настройках сервисов (в доку не дублируются).
2. STUN/TURN (Galene)
coTURN — системный сервис coturn, конфиг /etc/turnserver.conf.
- Порты: 3478/UDP (STUN/TURN), TLS/DTLS отключены (
no-tls,no-dtls). - Realm: call.katykhin.ru
- External IP: 185.147.80.190
- Диапазон портов для релея: 49152–49252
- Учётные данные для Galene заданы в конфиге (user/realm); на сервере Galene (контейнер 108) в настройках указывается этот TURN-сервер для обхода NAT.
Трафик с Galene (домашний сервер 192.168.1.108, call.katykhin.ru) уходит на этот VPS для STUN/TURN, чтобы видеозвонки работали при симметричном NAT и ограничениях провайдера.
3. S3 (контент ботов)
Объектное хранилище Миран (S3-совместимый API) для контента, который отдают боты (медиа, файлы). Доступ по HTTPS.
| Параметр | Значение |
|---|---|
| URL | https://api.s3.miran.ru |
| Порт | 443 (HTTPS) |
| Access key | j3tears100@gmail.com |
| Secret key | wQ1-6sZEPs92sbZTSf96 |
В ботаx (переменные окружения prod) заданы S3_ENDPOINT_URL=https://api.s3.miran.ru, регион и креды для загрузки/выдачи контента. Для локальной разработки или других клиентов использовать те же endpoint и ключи.
4. Остальное на хосте
- nginx — порты 80 и 443; по умолчанию отдаёт статику из
/var/www/html. - prometheus-node-exporter — порт 9100, метрики хоста для Prometheus.
- vps-metrics — systemd-сервис, API метрик для виджета Homepage (порт 3497).
- cron — по расписанию при необходимости.
Порты (сводка)
| Порт | Служба / контейнер | Протокол |
|---|---|---|
| 15722 | SSH | TCP |
| 80, 443 | nginx | TCP |
| 3478 | coturn (STUN/TURN) | UDP |
| 3497 | vps-metrics (Homepage) | TCP |
| 8080 | telegram-bot | TCP |
| 8081 | anon-bot | TCP |
| 9090 | Prometheus | TCP |
| 9093 | Alertmanager | TCP |
| 9100 | node-exporter | TCP |
| 3000 | Grafana | TCP |
| 3001 | Uptime Kuma | TCP |
Управление ботами и prod
Рабочий каталог Compose: /home/prod/. От пользователя deploy:
cd /home/prod
docker compose ps
docker compose up -d
docker compose logs -f telegram-bot
Образы ботов собираются из репозитория (Dockerfile в проекте); деплой через Makefile / CI при необходимости.
Связь с домашним контуром
- Galene (контейнер 108, call.katykhin.ru): в настройках сервера Galene указан TURN-сервер 185.147.80.190:3478 (realm call.katykhin.ru), чтобы клиенты за NAT могли устанавливать медиа-сессии через этот VPS.
- Homepage (контейнер 100): виджет метрик может показывать данные с vps-metrics (185.147.80.190:3497).
Остальные узлы homelab (Proxmox, NPM и т.д.) описаны в архитектуре.