18 lines
947 B
Docker
18 lines
947 B
Docker
# Упаковка готового статического бинаря в минимальный образ.
|
||
# Бинарь собирается снаружи (см. 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").
|
||
FROM gcr.io/distroless/static-debian12
|
||
|
||
COPY jellybit /usr/local/bin/jellybit
|
||
|
||
EXPOSE 8080
|
||
|
||
# В distroless нет shell/curl — проверку делает сам бинарь (порт берёт из
|
||
# /data/config.toml). compose может переопределить параметры healthcheck.
|
||
HEALTHCHECK --interval=30s --timeout=5s --start-period=10s --retries=3 \
|
||
CMD ["/usr/local/bin/jellybit", "healthcheck"]
|
||
|
||
ENTRYPOINT ["/usr/local/bin/jellybit", "--config", "/data/config.toml"]
|