# Упаковка готового статического бинаря в минимальный образ.
# Бинарь собирается снаружи (см. docs/adr/ADR-2026-06-13-docker-deploy.md):
#   CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -o jellybit ./cmd/jellybit
# distroless/static несёт CA-сертификаты (HTTPS к LLM/TMDB). Пользователь
# задаётся в compose (user: "1000:1000").
#
# Тома (см. compose): /config (ro, рендерится плейбуком — восстановимо при
# деплое) + /data (SQLite, бекапить-и-не-терять).
FROM gcr.io/distroless/static-debian12

COPY jellybit /usr/local/bin/jellybit

EXPOSE 8080

# В distroless нет shell/curl — проверку делает сам бинарь (порт берёт из
# конфига). Путь задаём явно: дефолт загрузчика — config.toml в рабочей
# директории, а конфиг смонтирован в /config. compose может переопределить.
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
	CMD ["/usr/local/bin/jellybit", "healthcheck", "--config", "/config/config.toml"]

ENTRYPOINT ["/usr/local/bin/jellybit", "--config", "/config/config.toml"]
