3X-UI
3X-UI — это современная веб-панель управления с открытым исходным кодом, предназначенная для работы с сервером Xray-core.
Она обеспечивает удобный интерфейс для настройки и мониторинга различных VPN- и прокси-протоколов.
Блок-схема установки и настройки
Шаг | Действие | Описание |
---|---|---|
🐳 | Установка Docker и Docker Compose | Скачайте и установите Docker через официальный скрипт |
📂 | Создание папки panel | Подготовьте рабочую директорию |
📝 | Настройка compose.yml | Вставьте конфигурацию сервиса |
▶️ | Запуск контейнера | Выполните `docker compose up -d` |
🔑 | Первичный вход (admin/admin) | Перейдите по адресу `http://your-ip:2053` |
✏️ | Изменение пароля | Настройте *Panel Settings → Authentication* |
🔒 | Настройка безопасности | Включите 2FA и задайте альтернативный веб-путь |
Установка
Docker
Перед началом установки Docker рекомендуется установить следующие утилиты через пакетный менеджер:
- curl
- nano (по необходимости)
Установка Docker с помощью официального скрипта:
bash <(curl -sSL https://get.docker.com)
Установка и использование Docker Compose:
Создайте папку panel и перейдите в неё:
mkdir panel cd panel
Создайте и отредактируйте файл compose.yml и вставьте в него следующее содержимое:
services: 3xui: image: ghcr.io/mhsanaei/3x-ui:latest container_name: 3xui_app # hostname: yourhostname <- опционально volumes: - $PWD/db/:/etc/x-ui/ - $PWD/cert/:/root/cert/ - $PWD/config.json:/app/bin/config.json # хранение конфигурации на хосте environment: XRAY_VMESS_AEAD_FORCED: "false" XUI_ENABLE_FAIL2BAN: "true" TZ: "Europe/Moscow" tty: true network_mode: host restart: unless-stopped
⚠ Пояснение про `$PWD` `$PWD` — это переменная окружения Linux, которая указывает на текущую рабочую директорию. Если запускать `docker compose` от root, `$PWD` может не работать корректно. В таком случае лучше использовать полный путь (например `/root/panel`).
Запустите контейнер:
docker compose up -d
После запуска панель будет доступна по адресу: http://your-ip:2053
Учётные данные для входа:
admin / admin
Важно!
Сразу после первого входа измените логин и пароль администратора:
Panel Settings → Authentication
Рекомендуется:
Включить двухфакторную аутентификацию
Настроить дополнительный веб-путь панели для повышения безопасности
Обновление
Для обновления выполните следующие команды:
docker compose down
docker compose pull
docker compose up -d
Удаление
Для полного удаления выполните:
docker compose down docker system prune -a rm -rf panel
Полезные советы
- 🗄 Резервное копирование базы
Директория `db/` содержит настройки и информацию о пользователях. Настоятельно рекомендуется регулярно делать её бэкап.
- ⚙ Хранение `config.json` вне контейнера
Благодаря привязке тома конфигурация сохраняется даже при обновлении или пересоздании контейнера.
- 🔐 Fail2Ban
Опция `XUI_ENABLE_FAIL2BAN: «true»` активирует защиту от подбора пароля. Убедитесь, что у вас установлен Fail2Ban на хосте.
- 🌍 Часовой пояс
Параметр `TZ` позволяет задать корректный часовой пояс (например, `«Europe/Moscow»`).
- 🛡 Безопасность
- Меняйте порт доступа к панели с 2053 на нестандартный.
- Используйте HTTPS (можно пробросить сертификаты в папку `cert/`).
- Разграничьте доступ к панели через firewall (разрешите только свои IP).
Частые ошибки и решения
- ❌ Панель не запускается на порту 2053
→ Возможно, порт занят другим процессом. Проверьте с помощью:
lsof -i:2053
Измените порт в настройках или освободите его.
- ❌ Не работает `$PWD` в volumes
→ Используйте полный путь, например:
- /root/panel/db/:/etc/x-ui/
- ❌ Забыли пароль администратора
→ Остановите контейнер и удалите файл базы в `db/`. После перезапуска будут восстановлены стандартные учётные данные (admin/admin).
- ❌ Ошибка сертификата (HTTPS)
→ Убедитесь, что файлы сертификата (`fullchain.pem` и `privkey.pem`) корректно проброшены в папку `cert/` и права доступа позволяют их читать.