Требования к серверу
Железо
Цифры для бота, веб-панели и PostgreSQL на одном сервере.
| Параметр | До 1 000 юзеров | 1 000–5 000 | 5 000–20 000 | 20 000+ |
|---|---|---|---|---|
| CPU | 2 vCPU | 4 vCPU | 8 vCPU | 8–16 vCPU |
| RAM | 4 GB | 8 GB | 16+ GB | 32+ GB |
| Диск | 40 GB SSD | 80 GB SSD | 240 GB NVMe | 240+ GB NVMe |
| PostgreSQL | по умолчанию | тюнинг желателен | тюнинг обязателен | отдельный сервер |
Node Agent на каждой ноде съедает около 50 МБ памяти.
С какого размера что менять
С 5 000 пользователей стоит подключить MaxMind GeoIP — локальная база вместо запросов к ip-api.com. С 20 000 — вынести PostgreSQL на отдельный сервер.
Софт
- Docker и Docker Compose
- PostgreSQL 15+ (поднимается сам в compose)
- Панель Remnawave с включённым API
Архитектуры: linux/amd64 и linux/arm64 — образы собираются под обе.
Что подготовить заранее
| Что | Где взять |
|---|---|
| Токен Telegram-бота | @BotFather → /newbot |
| API-токен Remnawave | Панель → Настройки → API |
| Свой Telegram ID | @userinfobot пришлёт числовой ID |
| Две A-записи | одна на веб-панель, одна на webhook бота |
Порты
| Порт | Кто слушает | Наружу |
|---|---|---|
| 3000 | фронтенд веб-панели | через reverse proxy |
| 8081 | бэкенд веб-панели | через reverse proxy |
| 8080 | webhook-сервер бота | через reverse proxy |
| 2525 | приём почты, если включён почтовый сервер | публикуется как 25 |
| 587 | SMTP submission | по необходимости |
Наружу без прокси ничего выставлять не нужно — панель рассчитана на работу за Caddy или nginx.