# Components (application_logging) { log { level INFO output stdout output file /var/log/caddy/caddy_{args[0]}.log { roll_size 100MiB roll_keep 5 roll_keep_for 100d } format json } } (application_base) { import application_logging {args[0]} tracing { span api } reverse_proxy host.containers.internal:{args[1]} } (internal_base) { import application_base {args[0]} {args[1]} tls internal } { log default { output stdout output file /var/log/caddy/caddy_main.log { roll_size 100MiB roll_keep 5 roll_keep_for 100d } format json } servers { metrics } admin :2019 } # Internal routes # # Local DNS is expected to set up and map # these routes. https://plex.home.karnov.club { import internal_base "plex" 32401 } https://deluge.home.karnov.club { import internal_base "deluge-web" 8112 } https://cloud.home.karnov.club { import internal_base "nextcloud" 2100 } https://panopticon.home.karnov.club { import internal_base "grafana" 3100 } https://cr.home.karnov.club { import internal_base "registry" 5000 } https://hole.home.karnov.club { import internal_base "pihole" 8080 } # External routes # # Port-based routes face the outside world. :53000 { import application_base "forgejo" 3000 } :53001 { import application_base "forgejo-pg-exporter" 3001 } :58082 { import application_base "vault-web" 8082 }