Админ-кабинет — обзор
Веб-кабинет — главный пульт управления магазином. SPA раздаётся по адресу https://ваш-домен/admin, всё API живёт под /api/admin/*. Тарифы, промо, рассылки, настройки бота и миниаппы правятся отсюда без захода на сервер: почти все изменения применяются без рестарта.

Вход
Суперадмин создаётся автоматически при старте приложения из переменных окружения:
ADMIN__USERNAME=owner # логин (без @)
ADMIN__PASSWORD=strongpass # парольЕсли оба значения заданы, при каждом старте база проверяет: аккаунта нет — создаётся с ролью OWNER; пароль в env изменился — хэш перезаписывается. Так пароль меняется простым редактированием .env + рестартом.
Логин по паре логин/пароль (POST /api/admin/auth/login) выдаёт JWT-токен, подписанный APP__JWT_SECRET. Срок жизни сессии — ADMIN__SESSION_TTL_HOURS, по умолчанию 12 часов. Неверный логин и неверный пароль возвращают одну и ту же ошибку — перебор логинов не работает.
В кабинет пускают только аккаунты со staff-ролью (ADMIN и выше) в статусе ACTIVE. Забаненному или разжалованному админу токен перестаёт действовать сразу — роль и статус проверяются на каждом запросе.
Демо-режим
ADMIN__DEMO_ENABLED=true включает кнопку «Демо-режим (только просмотр)» на экране логина: сессия с ролью PREVIEW видит все разделы, но любой изменяющий запрос отбивается с 403. Так устроено публичное демо кабинета. По умолчанию выключено.
Дашборд

Первый экран после входа — сводка по бизнесу:
| Блок | Что показывает |
|---|---|
| Выручка сегодня | Сумма за день + сравнение со вчера. Считаются только внешние деньги: пополнения и оплаты через шлюзы. Покупка с внутреннего баланса не учитывается повторно — эти рубли уже засчитаны при пополнении. Тестовые платежи исключены |
| Активные подписки | Подписки в статусах ACTIVE / TRIAL / LIMITED, рядом — всего пользователей |
| Новых за 24ч | Регистрации и новые триалы за сутки, плюс конверсия триала в оплату |
| Онлайн | Суммарный онлайн по всем нодам панели |
| Выручка · 14 дней | График по дням |
| Источники · 30 дн | Откуда пришли новые юзеры: кампании / рефералы / органика |
| Последние события | Лента аудита — последние 20 действий админов (кто, что, над чем) |
| Система | Здоровье панели Remnawave (версия), Redis, размер PostgreSQL, режим техработ, автобэкап |
Тут же кнопки быстрых действий: «Бэкап сейчас», «Создать рассылку», «Синхронизировать Remnawave», «Создать промокод».
Разделы кабинета
Сайдбар сгруппирован в пять блоков. Поиск вверху сайдбара ищет и по разделам, и по названиям настроек — совпавший параметр открывается сразу в нужном месте экрана «Все настройки».
Продукт
| Раздел | Документация |
|---|---|
| Пользователи — поиск, карточка, ручные операции | /cabinet/users |
| Тарифы и цены — планы, конструктор, режим продаж | /cabinet/tariffs |
| Акции и промокоды — промокоды, группы, gift-пачки | /cabinet/promos |
Конструктор
| Раздел | Документация |
|---|---|
| Меню бота — визуальный конструктор кнопок и экранов | /bot/menu-builder |
| Мини-приложение — темы, блоки, публикация | /miniapp/configuration |
Маркетинг
| Раздел | Документация |
|---|---|
| Рассылки — сегменты, медиа, кнопки | /cabinet/broadcasts |
| Автоуведомления — напоминания о продлении, календарь акций, winback | /cabinet/reminders |
| Реклама и UTM — кампании и источники трафика | /cabinet/campaigns |
Деньги
| Раздел | Документация |
|---|---|
| Платежи и кассы — транзакции, провайдеры, прибыль | /payments/ |
| Поддержка — тикеты | /bot/tickets |
| ИИ-поддержка — автоответы в тикетах | /features/ai-support |
Система
| Раздел | Документация |
|---|---|
| Серверы — ноды и сквады панели | /cabinet/servers |
| Все настройки — hot-reload параметры бота | /cabinet/settings |
| Система — техработы, бэкапы, обслуживание | /cabinet/maintenance |
Аудит
Каждое изменяющее действие в кабинете (правка баланса, бан, смена настройки, создание промокода) пишется в журнал аудита с именем админа. Последние события видны на дашборде.
