homeserver/proxy/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}
}
}
}