try souin as caching reverse-proxy
3 files changed, 66 insertions(+), 3 deletions(-)
A souin/Caddyfile
@@ -0,0 +1,49 @@ +{ + acme_dns powerdns {env.POWERDNS_SERVER_URL} {env.POWERDNS_API_TOKEN} + http_port "{$SERVER_PORT}" + https_port "{$SERVER_TLS_PORT}" + cache { + ttl 1h + } + log { + format console + } + storage redis { + address "{$REDIS_ADDRESS}" + username "default" + password "{$REDIS_PASSWORD}" + encryption_key "{$REDIS_ENCRYPTION_KEY}" + key_prefix "certmagic" + tls_enabled true + tls_insecure false + } +} + +(rp_linde) { + route { + cache + header -Server + reverse_proxy https://linde.alanpearce.eu + } +} + +alanpearce.eu, +www.alanpearce.eu, +alanpearce.uk, +www.alanpearce.uk, +aln.pe, +www.aln.pe { + import rp_linde +} + +searchix.alanpearce.eu { + import rp_linde +} + +git.alanpearce.eu { + import rp_linde +} + +go.alanpearce.eu { + import rp_linde +}
A souin/Dockerfile
@@ -0,0 +1,17 @@ +ARG CADDY_VERSION=2.9.1 + +FROM nixery.dev/shell/go/git/xcaddy AS builder + +RUN xcaddy build ${CADDY_VERSION} \ + --with github.com/caddyserver/cache-handler \ + --with github.com/darkweak/storages/badger/caddy \ + --with github.com/pberkel/caddy-storage-redis \ + --with github.com/caddy-dns/powerdns + +FROM cgr.dev/chainguard/static AS runner + +COPY --from=builder caddy /bin/caddy + +COPY souin/Caddyfile / + +CMD [ "/bin/caddy", "run", "--config", "/Caddyfile" ]