# Деплой 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` добавлена проверка: если `root` в `Caddyfile` не совпадает, деплой прерывается с ошибкой. - Для ручного обхода проверки (только осознанно): `ALLOW_CADDY_MISMATCH=1 ./gradlew deployUI`. - При необходимости можно явно переопределить путь деплоя: - `REMOTE_UI_DIR=/нужный/путь ./gradlew deployUI` - `EXPECTED_CADDY_UI_ROOT=/нужный/путь ./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:/?localWsPort=`. ## Обязательные правила 1. Перед серверным деплоем проверить локально. 2. При нестандартном деплое (другой хост, другая структура, ручные шаги) обязательно уточнить у пользователя, нужно ли обновить этот шаблон. 3. Если деплой-процесс изменился, этот файл и файлы в `servers/` обновлять в том же коммите.