2.5 KiB
2.5 KiB
Docker как единица деплоя, образ собирается на сервере
- Дата: 2026-06-13
Контекст
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.