Перейти к содержимому

Установка панели

Подробное руководство по установке панели V2RayTun: требования, Docker-сервисы, переменные окружения и проверка.

Системные требования

ПараметрМинимум
CPU1 vCPU
RAM1 GB
Диск10 GB SSD
ОСUbuntu 20.04+ / Debian 11+
Docker24+
Docker Composev2
ДоменПривязанный A-запись к IP сервера

Скрипт установки

Скрипт выполняет следующие шаги:

  1. Проверяет и устанавливает Docker и Docker Compose
  2. Загружает утилиту v2raytunsetup
  3. Создаёт рабочую директорию /opt/v2raytun
Bash
bash <(curl -fsSL https://raw.githubusercontent.com/v2RayTun/install-panel/main/install.sh)
v2raytunsetup install-panel

Docker-сервисы

Панель разворачивается как набор контейнеров:

СервисНазначениеПорт
postgresОсновная БД5432 (внутренний)
redisКеш и сессии6379 (внутренний)
rabbitmqОчередь сообщений для нод5672 (внутренний)
backendAPI и бизнес-логика3000 (внутренний)
frontendВеб-интерфейс3001 (внутренний)
caddyОбратный прокси + TLS80, 443

Все сервисы объединены внутренней Docker-сетью. Наружу открыты только порты 80 и 443 через Caddy.

Переменные окружения

Основные переменные задаются в .env файле в директории /opt/v2raytun:

Bash
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 и обновляются автоматически.

Проверка установки

Убедитесь, что все контейнеры работают:

Bash
docker ps --format "table {{.Names}}\t{{.Status}}"

Все сервисы должны показывать статус Up и (healthy).

Проверьте API:

Bash
curl -s https://panel.example.com/api/health/ready | jq

Ожидаемый ответ:

JSON
{
  "status": "ok",
  "services": {
    "database": "connected",
    "redis": "connected",
    "rabbitmq": "connected"
  }
}

Возможные проблемы

  • Caddy не получает сертификат — проверьте DNS и открытость портов 80/443
  • Backend не стартует — проверьте логи: docker logs v2raytun-backend
  • PostgreSQL не готов — дождитесь инициализации: docker logs v2raytun-postgres