- каталог задач: PLAN.md → ROADMAP.md с каноническими секциями, все 44 записи получили тип, заголовки приведены к форме своего типа - расхождения, найденные судьями канона: исключения инварианта «источник неприкосновенен», инвариант про один активный infohash, UTC в logging.md, поведение из architecture.md заменено ссылками на спеки - триггеры профиля ревью переписаны под умолчание standard
2.9 KiB
2.9 KiB
Docker как единица деплоя, образ собирается на сервере
- Дата: 2026-06-13
- Источник: архивного
design.mdнет — решение принято до перехода проекта на OpenSpec (первый архивный change —2026-06-28); первичный материал — история git - Статус: заменено на ADR-2026-07-24-local-image-build
Контекст
jellybit — статический Go-бинарь (см. ADR-2026-06-13-go-single-binary). На сервере umbar qBittorrent и (в планах) Jellyfin работают в docker. Нужно выбрать, как запускать jellybit и как доставлять его на сервер.
Рассмотренные варианты
- Нативный systemd-юнит — ближе всего к «просто скопировать бинарь», но это отдельная среда вне docker; разнобой со смежными приложениями (сети, монтирования, политики рестарта).
- Docker, образ собран и запушен из CI/реестра — каноничнее, но в домашней лаборатории это лишний реестр и пайплайн.
- Docker, образ собирается на сервере из готового бинаря — на сервер
кладутся бинарь +
Dockerfile,docker buildвыполняется на месте.
Решение
jellybit запускаем в docker — в одной среде с qBittorrent/Jellyfin
(единый способ управления, сети, монтирований). Образ собираем на
сервере из доставленного бинаря и Dockerfile (копирует бинарь в
distroless/static). Go-тулчейн и реестр на сервере не нужны. Dockerfile
(упаковка) живёт в jellybit; оркестрация (доставка, build, compose с
общей docker-сетью, user 1000:1000, mount /srv/media и data-тома) — в
umbar.
Последствия
+Одна среда со смежными сервисами; единые сети/монтирования/политики.+Доставка остаётся дешёвой: бинарь +Dockerfile, без реестра.+Образ версионируется (тег по сборке) — есть откат.-Шагdocker buildна сервере (на Intel N150 дёшево).-Лёгкое отступление от «просто скопировать бинарь» — оправдано единообразием среды с qBittorrent/Jellyfin.