Skip to content

Деплой: выкладка клиента на свой сервер скриптом web/deploy/deploy.sh - #49

Merged
devAsmodeus merged 1 commit into
mainfrom
claude/modest-bell-3zz7pd
Sep 30, 2026
Merged

devAsmodeus merged 1 commit into
mainfrom
claude/modest-bell-3zz7pd

Conversation

@devAsmodeus

Copy link
Copy Markdown
Owner

Что сделано

  • web/deploy/deploy.sh — выкладка на свой сервер (Ubuntu, nginx) по ssh, в том же стиле, что деплой бота в undercontrol: адрес UF_DEPLOY_HOST и домен UF_DOMAIN берутся из .env. Собирает web/dist, заливает tar-потоком в /var/www/underfire/dist.new и атомарно подменяет dist. Флаги: --nginx (поставить nginx, обновить конфиг сайта, отключить стандартный default), --assets (сервер сам скачивает ассеты релиза assets-v1.3.12 скриптом tools/fetch_assets.py в /var/www/underfire/assets, с компьютера уходит только сборка), --status.
  • web/deploy/underfire.nginx.conf — сайт на 80-м порту: сборка в корне, /assets/ через alias, gzip для JSON/JS/CSS, static/ с хэшами кэшируется на год, index.html не кэшируется, ассеты — 7 дней. __DOMAIN__ подставляется из .env или _.
  • .env.example, .env в .gitignore; README — раздел «Деплой» и строка в структуре; CONTRIBUTING — про .env.

Зачем

Проект договорились размещать на сервере проекта Under Control. Схема повторяет уже работающий там bot/deploy/deploy.sh: один скрипт с локальной машины, без секретов в CI.

Как проверено

  • bash -n, отказ без .env и на неизвестный флаг.
  • Полный прогон скрипта локально с заглушкой ssh, выполняющей команды в контейнере: сборка выложилась в /var/www/underfire/dist, повторный прогон заменил старую сборку целиком, --status отработал.
  • python3 tools/fetch_assets.py --only json --out <каталог> кладёт ассеты в произвольный каталог (так скрипт делает на сервере).
  • Конфиг nginx проверить nginx -t в контейнере не удалось (apt недоступен): он проверяется при первом deploy.sh --nginx, где nginx -t идёт до reload.

Generated by Claude Code

web/deploy/deploy.sh собирает web/dist и по ssh выкладывает на сервер
(Ubuntu, nginx) в /var/www/underfire/dist с атомарной заменой; флаги
--nginx (установка и конфиг сайта), --assets (сервер сам скачивает ассеты
релиза через tools/fetch_assets.py), --status. Конфиг nginx —
web/deploy/underfire.nginx.conf: сборка и /assets/, кэширование, gzip.
Адрес сервера и домен — UF_DEPLOY_HOST и UF_DOMAIN в .env (.env.example,
.env в .gitignore). README — раздел «Деплой», CONTRIBUTING — про .env.
@devAsmodeus
devAsmodeus merged commit a45f1e9 into main Sep 30, 2026
3 checks passed
@devAsmodeus
devAsmodeus deleted the claude/modest-bell-3zz7pd branch September 30, 2026 11:59
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants