• fix(caddy): add SNI connection_policy to layer4 TLS block and anchor redis.libnovel.cc cert
    Some checks failed
    CI / Backend (pull_request) Successful in 30s
    CI / UI (pull_request) Successful in 46s
    Release / Test backend (push) Successful in 32s
    CI / Backend (push) Successful in 49s
    CI / UI (push) Successful in 57s
    Release / Check ui (push) Successful in 31s
    Release / Docker / caddy (push) Successful in 1m19s
    Release / Docker / runner (push) Failing after 1m11s
    Release / Docker / ui (push) Successful in 2m1s
    Release / Docker / backend (push) Successful in 5m1s
    Release / Gitea Release (push) Has been skipped

    kamil released this 2026-03-31 00:02:01 +05:00 | -318 commits to main since this release

    Without a connection_policy, Caddy resolved the TLS cert by the Docker
    internal IP (172.18.0.5) instead of the hostname, causing TLS handshake
    failures on :6380 (rediss:// from prod backend → homelab Redis / Asynq).

    Changes:

    • Caddyfile: add connection_policy { match { sni redis.libnovel.cc } } to
      the layer4 :6380 tls handler so Caddy picks the correct cert
    • Caddyfile: add redis.libnovel.cc virtual-host block (respond 404) to
      force Caddy to obtain and cache a TLS cert for that hostname
    • homelab/docker-compose.yml: add REDIS_ADDR, REDIS_PASSWORD,
      LIBRETRANSLATE_URL, LIBRETRANSLATE_API_KEY, and
      RUNNER_MAX_CONCURRENT_TRANSLATION to the runner service for parity with
      homelab/runner/docker-compose.yml
    Downloads