Установка панели
Подробное руководство по установке панели V2RayTun: требования, Docker-сервисы, переменные окружения и проверка.
Системные требования
| Параметр | Минимум |
|---|---|
| CPU | 1 vCPU |
| RAM | 1 GB |
| Диск | 10 GB SSD |
| ОС | Ubuntu 20.04+ / Debian 11+ |
| Docker | 24+ |
| Docker Compose | v2 |
| Домен | Привязанный A-запись к IP сервера |
Скрипт установки
Скрипт выполняет следующие шаги:
- Проверяет и устанавливает Docker и Docker Compose
- Загружает утилиту
v2raytunsetup - Создаёт рабочую директорию
/opt/v2raytun
bash <(curl -fsSL https://raw.githubusercontent.com/v2RayTun/install-panel/main/install.sh)
v2raytunsetup install-panelDocker-сервисы
Панель разворачивается как набор контейнеров:
| Сервис | Назначение | Порт |
|---|---|---|
postgres | Основная БД | 5432 (внутренний) |
redis | Кеш и сессии | 6379 (внутренний) |
rabbitmq | Очередь сообщений для нод | 5672 (внутренний) |
backend | API и бизнес-логика | 3000 (внутренний) |
frontend | Веб-интерфейс | 3001 (внутренний) |
caddy | Обратный прокси + TLS | 80, 443 |
Все сервисы объединены внутренней Docker-сетью. Наружу открыты только порты 80 и 443 через Caddy.
Переменные окружения
Основные переменные задаются в .env файле в директории /opt/v2raytun:
V2RAYTUN_PANEL_DOMAIN=panel.example.com
V2RAYTUN_SUB_DOMAIN=sub.example.com
POSTGRES_PASSWORD=auto-generated-password
RABBITMQ_DEFAULT_PASS=auto-generated-password
JWT_SECRET=auto-generated-secretПароли и секреты генерируются автоматически при установке. Менять их вручную не рекомендуется без остановки всех сервисов.
Caddy и Let's Encrypt
Caddy автоматически получает TLS-сертификаты от Let's Encrypt для указанных доменов. Для успешного выпуска:
- Порты 80 и 443 должны быть открыты
- DNS A-запись должна указывать на IP сервера
- Домен должен быть доступен из интернета
Сертификаты хранятся в Docker-томе caddy_data и обновляются автоматически.
Проверка установки
Убедитесь, что все контейнеры работают:
docker ps --format "table {{.Names}}\t{{.Status}}"Все сервисы должны показывать статус Up и (healthy).
Проверьте API:
curl -s https://panel.example.com/api/health/ready | jqОжидаемый ответ:
{
"status": "ok",
"services": {
"database": "connected",
"redis": "connected",
"rabbitmq": "connected"
}
}Возможные проблемы
- Caddy не получает сертификат — проверьте DNS и открытость портов 80/443
- Backend не стартует — проверьте логи:
docker logs v2raytun-backend - PostgreSQL не готов — дождитесь инициализации:
docker logs v2raytun-postgres