Files
jellybit/docs/adr/ADR-2026-06-13-docker-deploy.md
T
av 66d39297c5 docs: проект переведён на канон документов версии 4
- каталог задач: PLAN.md → ROADMAP.md с каноническими секциями, все 44
  записи получили тип, заголовки приведены к форме своего типа
- расхождения, найденные судьями канона: исключения инварианта «источник
  неприкосновенен», инвариант про один активный infohash, UTC в logging.md,
  поведение из architecture.md заменено ссылками на спеки
- триггеры профиля ревью переписаны под умолчание standard
2026-08-06 13:32:06 +03:00

2.9 KiB
Raw Blame History

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.