No description
  • Dockerfile 100%
Find a file
Midas van Oene d34c11e52b
All checks were successful
Build and Publish / build (push) Successful in 1m59s
Merge renovate/caddy-2.x: update caddy docker tag to v2.11.4
2026-06-09 10:44:32 +02:00
.forgejo/workflows chore(deps): update actions/checkout action to v6 2026-05-03 22:00:52 +00:00
Dockerfile chore(deps): update caddy docker tag to v2.11.4 2026-06-07 22:01:01 +00:00
README.md Add custom Caddy image build with caddy-l4 and helper plugins 2026-04-27 15:29:36 +02:00
renovate.json Add custom Caddy image build with caddy-l4 and helper plugins 2026-04-27 15:29:36 +02:00

caddy

Custom Caddy Docker image built with xcaddy, published to git.midasvo.nl/midas/caddy.

Plugins

Plugin Why
caddy-l4 Layer 4 (TCP/UDP) proxying, used for DNS-over-TLS termination.
caddy-dns/acmedns DNS-01 ACME challenges via acme-dns.
caddy-ratelimit Per-route rate limiting.
replace-response Rewrite upstream response bodies.

Local test

docker build -t caddy-custom .
docker run --rm caddy-custom caddy list-modules | grep -E 'layer4|acmedns|rate_limit|replace_response'

Usage

services:
  caddy:
    image: git.midasvo.nl/midas/caddy:latest
    restart: unless-stopped
    ports:
      - "80:80"
      - "443:443"
      - "443:443/udp"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - caddy_data:/data
      - caddy_config:/config

volumes:
  caddy_data:
  caddy_config:

Tags

  • latest — last build from main
  • <short-sha> — every build
  • YYYYMMDD — weekly scheduled rebuilds (Monday 05:00 UTC)