deploy: переход на локальную сборку образа и доставку docker save/load

- task image принимает BUILD_ID и тегает <app>:$BUILD_ID (контракт роли app_image в umbar)
- добавлен ADR-2026-07-24-local-image-build, старый docker-deploy помечен superseded
- README/architecture/roadmap/Dockerfile обновлены под новую схему (без сборки на сервере)
This commit is contained in:
av
2026-07-24 18:33:51 +03:00
parent a2d8140e22
commit 08bef2cac0
8 changed files with 96 additions and 15 deletions
+5 -4
View File
@@ -203,11 +203,12 @@ relink/лечения. Включается конфигом `[jellyfin]` (по
## Деплой
Jellybit работает в **docker** — в одной среде с qBittorrent и Jellyfin
(см. [ADR-2026-06-13-docker-deploy](../adr/ADR-2026-06-13-docker-deploy.md)).
(см. [ADR-2026-07-24-local-image-build](../adr/ADR-2026-07-24-local-image-build.md)).
Сборка: статический бинарь (`GOOS=linux GOARCH=amd64 CGO_ENABLED=0`,
сервер на Intel N150) собирается здесь; на сервер во временную build-папку
кладутся бинарь + `Dockerfile` (копирует бинарь в `distroless/static`),
образ собирается на месте и запускается. Go-тулчейн на сервере не нужен.
сервер на Intel N150) и **полный образ** собираются локально на control-хосте
(`task image` упаковывает бинарь в `distroless/static`). Готовый образ едет
на сервер через `docker save`/`load` (роль `app_image` в umbar), там и
запускается. Go-тулчейн и `docker build` на сервере не нужны.
Параметры запуска (в umbar-compose):