82 lines
1.4 KiB
Caddyfile
82 lines
1.4 KiB
Caddyfile
{
|
|
email {env.EMAIL}
|
|
log default {
|
|
output stdout
|
|
format console
|
|
}
|
|
debug
|
|
}
|
|
|
|
*.{$DOMAIN} {
|
|
tls {
|
|
dns netcup {
|
|
customer_number {env.NETCUP_CUSTOMER_NUMBER}
|
|
api_key {env.NETCUP_API_KEY}
|
|
api_password {env.NETCUP_API_PASSWORD}
|
|
}
|
|
propagation_timeout 900s
|
|
propagation_delay 600s
|
|
resolvers 9.9.9.9
|
|
}
|
|
#header Strict-Transport-Security "max-age=63072000"
|
|
|
|
@whoami host whoami.{$DOMAIN}
|
|
handle @whoami {
|
|
reverse_proxy whoami:80
|
|
}
|
|
|
|
@dashboard host dashboard.{$DOMAIN}
|
|
handle @dashboard {
|
|
reverse_proxy homer:8080
|
|
}
|
|
|
|
@hassi host hassi.{$DOMAIN}
|
|
handle @hassi {
|
|
# reverse_proxy homeassistant:8123
|
|
reverse_proxy {host}:8123
|
|
}
|
|
|
|
@zigbee2mqtt host zigbee2mqtt.{$DOMAIN}
|
|
handle @zigbee2mqtt {
|
|
reverse_proxy zigbee2mqtt:8080
|
|
}
|
|
|
|
@jellyfin host jellyfin.{$DOMAIN}
|
|
handle @jellyfin {
|
|
reverse_proxy jellyfin:8096
|
|
}
|
|
|
|
@paperless host paperless.{$DOMAIN}
|
|
handle @paperless {
|
|
reverse_proxy paperless-ngx:8000
|
|
}
|
|
|
|
@download host download.{$DOMAIN}
|
|
handle @download {
|
|
reverse_proxy pyload:8000
|
|
}
|
|
|
|
@uptime host uptime.{$DOMAIN}
|
|
handle @uptime {
|
|
reverse_proxy uptime-kuma:3001
|
|
}
|
|
|
|
@torrent host torrent.{$DOMAIN}
|
|
handle @torrent {
|
|
reverse_proxy transmission:9091
|
|
}
|
|
|
|
# Fallback unhandled (sub)domains
|
|
handle {
|
|
error 404
|
|
}
|
|
|
|
handle_errors {
|
|
root * /usr/share/caddy/web
|
|
rewrite * /error.html
|
|
templates
|
|
file_server {
|
|
status {err.status_code}
|
|
}
|
|
}
|
|
}
|