feat: add containerized application delivery #11
Conventional commits / commits (pull_request) Successful in 10s
Conventional commits / commits (pull_request) Successful in 10s
This commit was merged in pull request #12.
This commit is contained in:
@@ -41,7 +41,7 @@ git clone ssh://git@git.personal.ksv741.ru:2222/WealthLedger/specs.git specs
|
||||
|
||||
Root отслеживает входные документы, собственные engineering conventions и исторический migration
|
||||
inventory в `.ai/`, npm/release-конфигурацию, changelog,
|
||||
один CI workflow с commitlint. Точный allowlist — в `.gitignore`.
|
||||
Compose configuration, безопасные env examples и один CI workflow с commitlint. Точный allowlist — в `.gitignore`.
|
||||
Остальные root-пути игнорируются по умолчанию:
|
||||
вложенные repos, `.env`, базы и WAL, импорты выписок, PDF, `references/`,
|
||||
`design/`, `todo/` и локальные настройки инструментов.
|
||||
@@ -53,6 +53,35 @@ inventory в `.ai/`, npm/release-конфигурацию, changelog,
|
||||
Не запускайте очистку workspace через `git clean -fdx`: ignored-пути содержат
|
||||
локальные данные. Правила tracking не удаляют файлы и вложенные `.git`.
|
||||
|
||||
## Запуск через Docker Compose
|
||||
|
||||
Нужны Docker Engine и Compose >= 2.24.4, а для development — checkout
|
||||
`frontend/` и `backend/` рядом с root. Компоненты собираются независимо:
|
||||
|
||||
```bash
|
||||
docker compose --env-file .env.development.example \
|
||||
-f compose.yaml -f compose.development.yaml up -d --build --wait --wait-timeout 180
|
||||
```
|
||||
|
||||
Откройте `http://localhost:5173`: Vite HMR и `/api/` используют один origin,
|
||||
Nest работает в watch mode. Host `node_modules` и `.env` не монтируются.
|
||||
Данные development хранятся отдельно в named volume `development-data` проекта `wealthledger-dev`;
|
||||
обычные restart/down их сохраняют. Изменение dependencies/config требует rebuild.
|
||||
|
||||
Production использует `compose.yaml` и restricted env по `.env.compose.example`:
|
||||
две ссылки на опубликованные версии images, persistent absolute host data path,
|
||||
постоянные JWT/encryption secrets и публичный HTTPS origin. Каталог данных
|
||||
должен существовать и принадлежать UID/GID 1000:1000. Только frontend публикует
|
||||
`127.0.0.1:8080`; серверный Caddy направляет туда весь домен. Backend port
|
||||
остаётся внутренним, migration service использует тот же backend image.
|
||||
|
||||
Полная процедура установки, независимых обновлений, stopped-backend backup
|
||||
и explicit restore — [документация](https://git.personal.ksv741.ru/WealthLedger/docs),
|
||||
страница `architecture/deployment.md`.
|
||||
Перед backend update обязательны остановка, backup и успешная migration.
|
||||
Image rollback не восстанавливает старую базу. Публикация component images
|
||||
принадлежит их Gitea workflows; root CI остаётся только commitlint.
|
||||
|
||||
## Подготовка и запуск
|
||||
|
||||
Нужны nvm и Node из `.nvmrc` каждого npm-repo (сейчас 24.21.0, npm 11.19).
|
||||
|
||||
Reference in New Issue
Block a user