diff --git a/remna_node.md b/remna_node.md new file mode 100644 index 0000000..6a82e78 --- /dev/null +++ b/remna_node.md @@ -0,0 +1,297 @@ +# 🚀 RemnaNode Setup Guide + +> Полное руководство по установке и настройке ноды RemnaNode с использованием Docker +> Минимум боли — максимум эстетики ✨ + +--- + +## 📦 Установка Docker + +Если Docker ещё не установлен — выполни: + +```bash +sudo curl -fsSL https://get.docker.com | sh +``` + +--- + +## 📁 Шаг 1 — Создание директории проекта + +```bash +mkdir /opt/remnanode && cd /opt/remnanode +``` + +--- + +## ➕ Шаг 2 — Добавление Node + +1. Перейди в: + ``` + Nodes → Management + ``` +2. Нажми кнопку **➕ Add Node** +3. Заполни форму + +### ⚠️ Важно + +- Поле **Node Port** используется **только** для внутренних API-запросов между Panel и Node +- Этот порт **не используется** нигде больше + +После заполнения: +- Нажми **Copy docker-compose.yml** + +--- + +## 🧾 Шаг 3 — Создание `docker-compose.yml` + +```bash +cd /opt/remnanode && nano docker-compose.yml +``` + +Вставь скопированную конфигурацию и сохрани файл. + +--- + +## ▶️ Шаг 4 — Запуск контейнеров + +```bash +docker compose up -d && docker compose logs -f -t +``` + +--- + +## ✅ Шаг 5 — Завершение настройки + +1. Вернись в панель +2. Нажми **Next** +3. Выбери нужный **Config Profile** +4. Нажми **Create** + +--- + +## 🔒 Важно + +> Обязательно закрой `NODE_PORT` в firewall +> Разреши доступ **только для IP панели** + +--- + +# ⚙️ Advanced Usage + +--- + +## 🌐 Кастомные GeoSite и GeoIP + +### ⚠️ Важно + +- Названия `*-zapret.dat` — **пример** +- Категория `:zapret` — **пример** +- Реальные значения могут отличаться + +### Серверный routing + +- Влияет **только на сервер** +- **Не влияет** на DIRECT подключения клиентов + +--- + +## 📂 Подключение файлов + +Монтируй файлы в контейнер: + +```yaml +services: + remnanode: + container_name: remnanode + hostname: remnanode + image: remnawave/node:latest + restart: always + network_mode: host + environment: + - NODE_PORT=2222 + - SECRET_KEY="supersecretkey" + volumes: + - './geo-zapret.dat:/usr/local/share/xray/geo-zapret.dat' + - './ip-zapret.dat:/usr/local/share/xray/ip-zapret.dat' +``` + +### ⚠️ Осторожно + +- **Не** монтируй всю директорию +- Монтируй **только отдельные файлы** + +--- + +## 🧠 Использование в Xray config + +```json +"routing": { + "rules": [ + { + "type": "field", + "domain": [ + "ext:geo-zapret.dat:zapret" + ], + "inboundTag": [ + "VLESS_TCP_REALITY" + ], + "outboundTag": "NOT_RU_OUTBOUND" + }, + { + "type": "field", + "ip": [ + "ext:ip-zapret.dat:zapret" + ], + "inboundTag": [ + "VLESS_TCP_REALITY" + ], + "outboundTag": "NOT_RU_OUTBOUND" + } + ] +} +``` + +--- + +# 📜 Логи Node + +## 📁 Подключение логов + +```yaml +services: + remnanode: + container_name: remnanode + hostname: remnanode + image: remnawave/node:latest + restart: always + network_mode: host + environment: + - NODE_PORT=2222 + - SECRET_KEY="supersecretkey" + volumes: + - '/var/log/remnanode:/var/log/remnanode' +``` + +--- + +## 🧠 Конфиг Xray + +```json +"log": { + "error": "/var/log/remnanode/error.log", + "access": "/var/log/remnanode/access.log", + "loglevel": "warning" +} +``` + +--- + +## 📂 Создание директории + +```bash +mkdir -p /var/log/remnanode +``` + +--- + +## 🔄 Logrotate + +### Установка + +```bash +sudo apt update && sudo apt install logrotate +``` + +### Конфиг + +```bash +nano /etc/logrotate.d/remnanode +``` + +Вставь: + +```conf +/var/log/remnanode/*.log { + size 50M + rotate 5 + compress + missingok + notifempty + copytruncate +} +``` + +### Проверка + +```bash +logrotate -vf /etc/logrotate.d/remnanode +``` + +--- + +# 🔐 SSL сертификаты для Xray + +## ⚠️ Внимание + +> Это нужно **только если используешь TLS** +> Например: `VLESS-Vision-TLS` +> Для Reality — **не требуется** + +--- + +## 📂 Монтирование сертификатов + +```yaml +remnawave: + image: remnawave/backend:latest + container_name: 'remnawave' + hostname: remnawave + restart: always + ports: + - '127.0.0.1:3000:3000' + env_file: + - .env + networks: + - remnawave-network + volumes: + - '/opt/remnawave/nginx:/var/lib/remnawave/configs/xray/ssl' + depends_on: + remnawave-db: + condition: service_healthy + remnawave-redis: + condition: service_healthy +``` + +--- + +## ℹ️ Как это работает + +- Panel автоматически читает файлы +- Отправляет сертификаты на Node +- Используется директория: + +``` +/var/lib/remnawave/configs/xray/ssl/ +``` + +--- + +## 🧠 Использование в Xray + +```json +"certificates": [ + { + "keyFile": "/var/lib/remnawave/configs/xray/ssl/privkey.key", + "certificateFile": "/var/lib/remnawave/configs/xray/ssl/fullchain.pem" + } +] +``` + +--- + +## ⚠️ Важно + +- `.key` — приватный ключ +- `.pem` — сертификат + +👉 Не перепутай расширения 🚀 \ No newline at end of file