===== 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/` и права доступа позволяют их читать. ----