SHiNE-server/Dev_Docs/deploy
2026-05-27 18:33:26 +04:00
..
servers Добавил гостевой режим, единые shine-ссылки и пометку о нестабильности мнений 2026-05-20 16:14:59 +03:00
agent-bot-coder-local-systemd.md Документировать API и сервис агента-кодера 2026-05-24 08:04:44 +03:00
README.md Промежуточный коммит: состояние до нормальной Solana-first регистрации 2026-05-27 18:33:26 +04:00

Деплой SHiNE (шаблон)

Этот раздел хранит актуальные инструкции по деплою.

Базовый сервер

  • SSH: player@45.136.124.227
  • Домен: shineup.me
  • Базовый путь: /home/player

Локальные команды

  • Деплой сервера: ./gradlew deployServer
  • Деплой UI: ./gradlew deployUI
  • Локальный запуск: ./gradlew startLocal

UI-деплой и Caddy (обязательно)

  • Целевая директория UI-деплоя: /home/player/SHiNE/shine-ui.
  • Caddyfile на сервере должен смотреть в ту же директорию через root * /home/player/SHiNE/shine-ui.
  • В deploy_shine-PWA.sh добавлена проверка: скрипт ищет блок shineup.me { ... } (или значение EXPECTED_CADDY_SITE) и проверяет root внутри этого блока.
  • Если root внутри целевого блока не совпадает, деплой прерывается с ошибкой.
  • Для ручного обхода проверки (только осознанно): ALLOW_CADDY_MISMATCH=1 ./gradlew deployUI.
  • При необходимости можно явно переопределить путь деплоя:
    • REMOTE_UI_DIR=/нужный/путь ./gradlew deployUI
    • EXPECTED_CADDY_UI_ROOT=/нужный/путь ./gradlew deployUI
    • EXPECTED_CADDY_SITE=example.com ./gradlew deployUI

Важно для локального UI (history-router / Ctrl+F5)

  • Локальный UI обязательно поднимать только через ./gradlew startLocal.
  • Эта задача запускает scripts/local_spa_server.py, который делает SPA fallback: любой неизвестный путь (/m/..., /channel/...) возвращает index.html.
  • Это обязательно для корректной работы Ctrl+F5 на внутренних роутов без 404.
  • Рабочий URL выводится задачей в консоль в формате: http://localhost:<WEB_PORT>/?localWsPort=<WS_PORT>.

Обязательные правила

  1. Перед серверным деплоем проверить локально.
  2. При нестандартном деплое (другой хост, другая структура, ручные шаги) обязательно уточнить у пользователя, нужно ли обновить этот шаблон.
  3. Если деплой-процесс изменился, этот файл и файлы в servers/ обновлять в том же коммите.