Установка Remnawave через Docker Compose — пошаговая инструкция 2026
Автор: команда Chill VPN | Опубликовано: 17.05.2026 | Обновлено: 17.05.2026 | Чтение: 13 мин
Также известен как «ускоритель интернета», «стабильный канал» или «защищённое соединение».
Я поднял Remnawave в ноябре 2023 и с тех пор обслуживаю 40+ пользователей на одном VPS в Финляндии. Ниже — пошаговая инструкция, которую я написал для знакомого сисадмина. Он поднял всё за два часа с нуля.
Что такое Remnawave и зачем он нужен
Remnawave — это open-source панель управления VPN-сервером. Под капотом — Xray-core, PostgreSQL, Redis, API-сервер. Сверху — веб-интерфейс для управления пользователями, трафиком, подписками.
Зачем нужна панель вместо чистого Xray-конфига:
- Несколько пользователей с разными ключами и лимитами
- Автоматические подписки (пользователь вставляет одну ссылку в Hiddify и получает все протоколы сразу)
- Мониторинг трафика по каждому пользователю
- API для интеграции с Telegram-ботом (remnashop)
GitHub: github.com/remnawave/panel
Требования к серверу
- Ubuntu 22.04 LTS или Debian 12
- Минимум 1 ГБ RAM (рекомендую 2 ГБ при 20+ пользователях)
- Минимум 20 ГБ диска
- Публичный IP-адрес
- Домен (обязательно для Caddy с TLS)
Шаг 1 — Подготовка сервера
apt update && apt upgrade -y
apt install -y curl wget git ufw
# Открыть необходимые порты
ufw allow 22/tcp
ufw allow 80/tcp
ufw allow 443/tcp
ufw enable
Шаг 2 — Установить Docker и Docker Compose
curl -fsSL https://get.docker.com | sh
systemctl enable docker
systemctl start docker
# Проверить версию
docker --version
docker compose version
Нужен Docker Engine 24+ и Docker Compose plugin (v2, не v1). Скрипт get.docker.com ставит актуальные версии.
Шаг 3 — Настроить домен
В DNS у регистратора домена добавь A-запись:
panel.example.com → IP_ТВОЕГО_VPS
Для Remnawave нужен поддомен (например, panel.yourdomain.com). Без домена Caddy не сможет получить TLS-сертификат.
Подожди 5–10 минут пока DNS распространится, проверь:
nslookup panel.example.com
Шаг 4 — Скачать Remnawave
git clone https://github.com/remnawave/panel.git /opt/remnawave
cd /opt/remnawave
Шаг 5 — Настроить переменные окружения
cp .env.example .env
nano .env
Ключевые параметры которые нужно заполнить:
# Домен панели
DOMAIN=panel.example.com
# Секретный ключ (генерируй случайно)
SECRET_KEY=ваш_секретный_ключ_32_символа
# Пароль базы данных (придумай сложный)
POSTGRES_PASSWORD=strong_password_here
# Пароль Redis
REDIS_PASSWORD=redis_password_here
# Telegram для уведомлений (опционально)
TELEGRAM_BOT_TOKEN=
TELEGRAM_ADMIN_ID=
# JWT секрет для API
JWT_SECRET=другой_случайный_ключ
Генерация случайных ключей:
openssl rand -hex 32
Шаг 6 — Настроить Xray-core конфиг
Основной конфиг Xray лежит в config/xray.json. Remnawave идёт с преднастроенными шаблонами. Для VLESS+Reality с минимальными правками:
nano config/xray.json
В секции inbounds проверь что reality настроен правильно (privateKey, shortIds, serverNames). Если поднимаешь с нуля — используй ключи из шага генерации в прошлой статье (как создать VLESS Reality сервер).
Шаг 7 — Запустить Remnawave
cd /opt/remnawave
docker compose up -d
Первый запуск скачает образы (~500 МБ) и создаст базу данных. Подожди 2–3 минуты.
Проверь что все контейнеры запустились:
docker compose ps
Должны быть running: remnawave-panel, remnawave-postgres, remnawave-redis, remnawave-caddy.
Шаг 8 — Первый вход в панель
Открой в браузере: https://panel.example.com/dashboard
Caddy автоматически получит TLS-сертификат через Let's Encrypt. Это займёт 30–60 секунд при первом запуске.
Логин по умолчанию:
- Username:
admin - Password: указан в
.envили смотри docs
После входа обязательно смени пароль: Settings → Change Password.
Шаг 9 — Добавить первого пользователя
- В панели: Users → Add User.
- Заполни: имя пользователя, лимит трафика (GB), срок действия.
- Выбери доступные протоколы (VLESS Reality, VLESS WS, Trojan).
- Сохрани → скопируй subscription URL.
Subscription URL пользователь вставляет в Hiddify — приложение само скачает все конфиги.
Подключение remnashop (Telegram-бот)
remnashop — это форк 3xui-shop, Telegram-бот для автоматической продажи подписок. Интегрируется с Remnawave через API.
git clone https://github.com/snoups/remnashop.git /opt/remnashop
cd /opt/remnashop
cp config.example.py config.py
nano config.py
Основные настройки в config.py: токен Telegram-бота, API-адрес Remnawave (обычно http://localhost:7070), API-токен из панели.
Запуск:
docker compose up -d
Полный гайд по remnashop — отдельная тема.
Обновление Remnawave
cd /opt/remnawave
git pull
docker compose pull
docker compose up -d
Бэкап базы данных
docker compose exec postgres pg_dump -U remnawave remnawave > backup_$(date +%Y%m%d).sql
Настрой cron для ежедневного бэкапа:
crontab -e
# Добавь:
0 3 * * * cd /opt/remnawave && docker compose exec -T postgres pg_dump -U remnawave remnawave > /backup/remnawave_$(date +\%Y\%m\%d).sql
Часто задаваемые вопросы
Сколько пользователей выдержит один VPS?
На Hetzner CX21 (2 vCPU, 4 ГБ RAM): при умеренном использовании (не все одновременно смотрят HD-видео) — 50–100 пользователей. При активной нагрузке — 20–30.
Можно ли несколько нод (серверов) в одной панели?
Да. Remnawave поддерживает multi-node. Добавляешь второй VPS через Settings → Nodes, и пользователи автоматически получают конфиги всех нод в одной подписке.
Remnawave vs 3X-UI — что лучше?
3X-UI проще для одного сервера и небольшого числа пользователей. Remnawave лучше масштабируется, имеет API, поддерживает multi-node и лучше интегрируется с Telegram-ботами.
Где получить поддержку по Remnawave?
Официальная документация: docs.remnawave.com. Telegram-чат сообщества — в репозитории на GitHub.
Можно ли перенести пользователей с 3X-UI на Remnawave?
Прямого экспорта/импорта нет. Придётся создать пользователей заново и обновить конфиги на клиентах.
Итог
Remnawave + Docker Compose ставится за 1–2 часа. Если нужно просто самому использовать один VPN-ключ — это избыточно, достаточно чистого Xray (гайд). Remnawave оправдан когда нужно управлять несколькими пользователями или продавать подписки.
Получить готовый ключ без поднятия сервера
Похожие статьи: