Брендинг и языки
Откройте Кабинет и Mini App. Общий бренд используют клиентский сайт, Mini App и страница подключения; основное меню администратора остаётся отдельным интерфейсом.
Настройка
- Укажите название, HTTPS-адреса логотипов для светлой/тёмной темы и favicon. Файлы должны быть доступны клиенту без авторизации.
- Выберите основной и второй цвет. Проверьте контраст текста на кнопках в обеих темах.
- Заполните заголовок и описание витрины, названия блоков, этапы подключения, FAQ, документы и поддержку.
- В блоке English задайте английские тексты, SEO и инструкции. Названия и описания тарифов EN задаются в каждом тарифе.
- Сохраните, перезагрузите форму и проверьте сохранённые значения.
- Откройте витрину без входа на компьютере и телефоне, затем проверьте кабинет и Mini App. Переключите RU/EN и светлую/тёмную тему.
Поведение языков
Параметр ?lang=ru или ?lang=en задаёт язык явно. Затем учитываются сохранённый выбор, язык Telegram и браузера. Выбор сохраняется на текущем домене. Интерфейс переведён отдельно от содержимого владельца: название сервиса и пользовательские данные не переводятся автоматически.
Для пустых обязательных полей кабинет предлагает стартовые тексты RU/EN, SEO и оформление. Их можно отредактировать перед публикацией. Существующие значения сохраняются; цены берутся из настроенных тарифов. Сохранение английской версии не стирает русскую.
SEO и изображения
Проверьте заголовок вкладки, описание, favicon и языковые ссылки страницы. Кабинет формирует canonical/hreflang и карту сайта для опубликованного содержимого. Закрытые клиентские данные не относятся к публичной витрине.
Для логотипов используйте исходные файлы своего бренда. Для скриншотов в публичной документации не показывайте коды доступа, полные ссылки подписки, платёжные ключи, IP клиентов и переписку.
Что сохраняется при обновлении
make update меняет готовый код и применяет новые миграции один раз. Пользователи, подписки, платежи, тарифы, профили, брендинг и тексты находятся в PostgreSQL; обновление не запускает db/seed.sql и не создаёт владельца заново. .env и ключ CABINET_CODE_KEY сохраняются без изменения. Текущая конфигурация reverse proxy и дополнительные настройки systemd при обновлении не переписываются.
Свои изображения размещайте в /opt/stealthnet-software/shared/public/, например logo.svg. При стандартной установке Caddy файл доступен как https://panel.example.com/custom/logo.svg; этот адрес можно указать в брендинге админки. Содержимое shared/ не заменяется релизом и входит в резервную копию обновления. Это публичный каталог: ключи и конфигурационные файлы туда не кладут. Для внешнего прокси настройте аналогичный маршрут /custom/.
Каталоги releases/ и current/web содержат код конкретной версии: свои файлы и ручные правки туда не помещайте. Правки исходников и CSS внутри релиза не являются настройками брендинга. Старый релиз остаётся на диске; при ошибке готовности установщик возвращает прежние бинарники. Возврат бинарников не отменяет применённые миграции; для отката данных используется сохранённый dump.