3x-ui/node/README.md
Konstantin Pichugin d7175e7803 multi-node support
2026-01-06 00:12:53 +03:00

70 lines
2.3 KiB
Markdown

# 3x-ui Node Service
Node service (worker) для multi-node архитектуры 3x-ui.
## Описание
Этот сервис запускается на отдельных серверах и управляет XRAY Core инстансами. Панель 3x-ui (master) отправляет конфигурации на ноды через REST API.
## Функциональность
- REST API для управления XRAY Core
- Применение конфигураций от панели
- Перезагрузка XRAY без остановки контейнера
- Проверка статуса и здоровья
## API Endpoints
### `GET /health`
Проверка здоровья сервиса (без аутентификации)
### `POST /api/v1/apply-config`
Применить новую конфигурацию XRAY
- **Headers**: `Authorization: Bearer <api-key>`
- **Body**: JSON конфигурация XRAY
### `POST /api/v1/reload`
Перезагрузить XRAY
- **Headers**: `Authorization: Bearer <api-key>`
### `GET /api/v1/status`
Получить статус XRAY
- **Headers**: `Authorization: Bearer <api-key>`
## Запуск
### Docker Compose
```bash
cd node
NODE_API_KEY=your-secure-api-key docker-compose up -d --build
```
**Примечание:** XRAY Core автоматически скачивается во время сборки Docker-образа для вашей архитектуры. Docker BuildKit автоматически определяет архитектуру хоста. Для явного указания архитектуры используйте:
```bash
DOCKER_BUILDKIT=1 docker build --build-arg TARGETARCH=arm64 -t 3x-ui-node -f node/Dockerfile ..
```
### Вручную
```bash
go run node/main.go -port 8080 -api-key your-secure-api-key
```
## Переменные окружения
- `NODE_API_KEY` - API ключ для аутентификации (обязательно)
## Структура
```
node/
├── main.go # Точка входа
├── api/
│ └── server.go # REST API сервер
├── xray/
│ └── manager.go # Управление XRAY процессом
├── Dockerfile # Docker образ
└── docker-compose.yml
```