Marzban
Панель управления Xray
VPN / ПроксиБесплатно
Панель Xray с нодами
Скрипт бесплатный · VPS от $10.20 в месяц · установка около 7 минут
root@vps:~# command -v docker >/dev/null || curl -fsSL https://get.docker.com | sh; mkdir -p /opt/remnawave && cd /opt/remnawave && curl -o docker-compose.yml https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/docker-compose-prod.yml && curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sample && sed -i "s/^APP_SECRET=.*/APP_SECRET=$(openssl rand -hex 64)/" .env && sed -i "s/^METRICS_PASS=.*/METRICS_PASS=$(openssl rand -hex 64)/" .env && sed -i "s/^WEBHOOK_SECRET_HEADER=.*/WEBHOOK_SECRET_HEADER=$(openssl rand -hex 64)/" .env && pw=$(openssl rand -hex 24) && sed -i "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$pw/" .env && sed -i "s|^\(DATABASE_URL=\"postgresql://postgres:\)[^\@]*\(@.*\)|\1$pw\2|" .env && docker compose up -d
✓ Remnawave 3.4.4 установлен · около 3 минут
root@vps:~#
Remnawave — панель управления прокси на Xray-core для тех, кто продаёт доступ или обслуживает много серверов. Панель и ноды разделены: в панели пользователи, подписки и статистика, на нодах — Xray.
Панель работает в Docker вместе с PostgreSQL и Valkey и слушает только 127.0.0.1, поэтому снаружи её открывают через обратный прокси с HTTPS. Ноды Remnawave Node ставятся на отдельные серверы и подключаются из интерфейса.
Проект активно развивается, есть API и SDK для интеграции с Telegram-ботами и биллингом.
Для Remnawave — не меньше 4 vCPU, 4 ГБ RAM и 100 ГБ NVMe.
Три шага в боте, командная строка не нужна. Бот показывает прогресс, установка обычно занимает около 7 минут.
Кнопка установки на этой странице откроет @ExpressHost_bot — скрипт Remnawave бот подставит сам.
Скрипт появится на шаге «Скрипты» автоматически, останется оплатить сервер.
Когда установка закончится, бот пришлёт данные для входа в чат.
/opt/remnawave на Ubuntu 22.04 или 24.04 и генерирует секреты и пароль базы.имя-сервера.expresshost.cloud и его поддомены.subs.имя-сервера.expresshost.cloud./opt/remnanode, порт 2222) и подключает её к профилю конфигурации панели. Порт 443 здесь занят nginx панели, поэтому inbound’ы этой ноды должны слушать другие порты.Панель работает в Docker вместе с PostgreSQL и Valkey. Минимум по документации — 2 ядра и 2 ГБ RAM, рекомендуется 4 ядра и 4 ГБ, диск 20 ГБ.
| Порт | Протокол | Назначение |
|---|---|---|
| 3000 | tcp | Панель и API (только 127.0.0.1, наружу через обратный прокси) |
| 3001 | tcp | Метрики (только 127.0.0.1) |
| 443 | tcp | HTTPS обратного прокси перед панелью |
Нужен Docker с плагином Compose.
sudo curl -fsSL https://get.docker.com | shmkdir /opt/remnawave && cd /opt/remnawave
curl -o docker-compose.yml https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/docker-compose-prod.yml && curl -o .env https://raw.githubusercontent.com/remnawave/backend/refs/heads/main/.env.sampleAPP_SECRET, METRICS_PASS и WEBHOOK_SECRET_HEADER нужны для аутентификации. Пароль Postgres по умолчанию тоже стоит сменить — это вторая строка.
sed -i "s/^APP_SECRET=.*/APP_SECRET=$(openssl rand -hex 64)/" .env && sed -i "s/^METRICS_PASS=.*/METRICS_PASS=$(openssl rand -hex 64)/" .env && sed -i "s/^WEBHOOK_SECRET_HEADER=.*/WEBHOOK_SECRET_HEADER=$(openssl rand -hex 64)/" .env
pw=$(openssl rand -hex 24) && sed -i "s/^POSTGRES_PASSWORD=.*/POSTGRES_PASSWORD=$pw/" .env && sed -i "s|^\(DATABASE_URL=\"postgresql://postgres:\)[^\@]*\(@.*\)|\1$pw\2|" .envВ .env задайте FRONT_END_DOMAIN — домен панели, например panel.yourdomain.com, и SUB_PUBLIC_DOMAIN — тот же домен с /api/sub на конце.
nano .envПанель слушает только 127.0.0.1:3000 — наружу её открывает обратный прокси. Не публикуйте сервисы Remnawave в интернет напрямую.
docker compose up -d && docker compose logs -f -tДокументация требует обратный прокси с HTTPS перед панелью. Нужен свой домен с A-записью на IP сервера, сертификат Caddy выпустит сам.
mkdir -p /opt/remnawave/caddy && cd /opt/remnawave/caddy && nano CaddyfileВместо YOUR_DOMAIN укажите домен панели.
https://YOUR_DOMAIN {
encode
reverse_proxy * http://remnawave:3000
}
:443 {
tls internal
respond 204
}Вставьте в файл конфигурацию ниже.
cd /opt/remnawave/caddy && nano docker-compose.ymlservices:
caddy:
image: caddy:2.9
container_name: 'caddy'
hostname: caddy
restart: always
ports:
- '0.0.0.0:443:443'
- '0.0.0.0:80:80'
networks:
- remnawave-network
volumes:
- ./Caddyfile:/etc/caddy/Caddyfile
- caddy-ssl-data:/data
networks:
remnawave-network:
name: remnawave-network
driver: bridge
external: true
volumes:
caddy-ssl-data:
driver: local
external: false
name: caddy-ssl-dataОткройте домен в браузере. Первый зарегистрированный пользователь становится суперадмином.
docker compose up -d && docker compose logs -f -tВ самой панели Xray нет: подключения обслуживает Remnawave Node — лёгкий контейнер с Xray-core. Ноду рекомендуют ставить на отдельный сервер, ей нужно от 1 ядра и 1 ГБ RAM.
Nodes → Management → «+». Node Port — порт внутреннего API, по которому панель управляет нодой. Нажмите Copy docker-compose.yml.
Вставьте скопированный конфиг в docker-compose.yml.
sudo curl -fsSL https://get.docker.com | sh
mkdir /opt/remnanode && cd /opt/remnanode && nano docker-compose.ymldocker compose up -d && docker compose logs -f -tВ карточке ноды нажмите Next, выберите Config Profile и Create. Порт NODE_PORT закройте файрволом для всех, кроме IP панели.
VLESS Reality и другие inbound’ы задаются в Config Profiles. Чтобы пользователи их получили, привяжите inbound’ы к Hosts и включите в Internal Squads (Default-Squad). Для REALITY сертификат на ноде не нужен.
Сначала обновляйте панель, потом ноды, и перед этим читайте changelog.
cd /opt/remnawave && docker compose pull && docker compose down && docker compose up -d && docker compose logs -fcd /opt/remnanode && docker compose pull && docker compose down && docker compose up -d && docker compose logs -fЕсли она стоит в /opt/remnawave/subscription, как при установке из бота.
cd /opt/remnawave/subscription && docker compose pull && docker compose down && docker compose up -d && docker compose logs -fТак задумано: панель слушает только 127.0.0.1, наружу её выводит обратный прокси с HTTPS на домене.
Xray не запустился из-за ошибки в конфиге. Причину покажет docker exec remnanode xlogs, исправьте профиль в панели и сохраните.
Inbound’ы нужно привязать к Hosts и включить в Internal Squads.
Rescue CLI позволяет пересоздать суперадмина: docker exec -it remnawave cli.
Команды и шаги сверены с официальной документацией 25 октября 2026. Что делает установка из бота — по её скрипту.
Не нашли ответ? Пишите @ExpressHost_SupportBot.
Документация требует минимум 2 ядра и 2 ГБ RAM, рекомендует 4 ядра и 4 ГБ. Ноде достаточно 1 ядра и 1 ГБ, но Xray под нагрузкой потребляет больше.
Можно, но разработчики рекомендуют ставить ноду на отдельный сервер: в самой панели Xray нет.
cd /opt/remnawave && docker compose pull && docker compose down && docker compose up -d. Сначала обновляйте панель, затем ноды.
Настройки — в /opt/remnawave/.env, база PostgreSQL — в Docker-томе рядом с проектом. Перед обновлением делайте дамп базы.
Remnawave ставится при заказе — в боте.
Нидерланды, Амстердам
$11.22/мес
$0.40 за 24 часа · $2.81 за 7 дней
Remnawave можно выбрать на шаге «Скрипты» при заказе сервера.
Германия, Франкфурт
$15.30/мес
$0.55 за 24 часа · $3.83 за 7 дней
Remnawave можно выбрать на шаге «Скрипты» при заказе сервера.
Польша, Варшава
$10.20/мес
$0.36 за 24 часа · $2.55 за 7 дней
Remnawave можно выбрать на шаге «Скрипты» при заказе сервера.
Эстония, Таллин
$15.26/мес
$0.55 за 24 часа · $3.82 за 7 дней
Remnawave можно выбрать на шаге «Скрипты» при заказе сервера.