Skip to content

Админ-кабинет — обзор

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

Экраны админ-кабинета

Вход

Суперадмин создаётся автоматически при старте приложения из переменных окружения:

bash
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

Аудит

Каждое изменяющее действие в кабинете (правка баланса, бан, смена настройки, создание промокода) пишется в журнал аудита с именем админа. Последние события видны на дашборде.

MIT License · сделано для тех, кто продаёт VPN, а не настраивает ботов