Files
Homelab/caddy/Caddyfile
2025-11-30 21:13:56 -08:00

112 lines
1.9 KiB
Caddyfile

{
email imodmaker@gmail.com
acme_ca https://acme-v02.api.letsencrypt.org/directory
acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
layer4 {
0.0.0.0:22 {
route {
proxy gitea-server-1:22
}
}
}
metrics {
per_host
}
}
registry.msws.xyz {
@docker {
path_regexp ^.*/[^/]+(:[^/]+)?(/.*)?$
header_regexp User-Agent .*(buildkit|docker|containerd).*
}
handle @docker {
reverse_proxy gitea-server-1:3000
}
handle {
respond "Access Denied" 403
}
}
pass.local.msws.xyz {
reverse_proxy vaultwarden:80
}
git.msws.xyz {
reverse_proxy gitea-server-1:3000
}
yt.local.msws.xyz, yt.msws.xyz {
reverse_proxy invidious:3000
}
files.local.msws.xyz {
reverse_proxy copyparty:3923 {
header_up CF-CONNECTING-IP 10.0.0.140
}
}
#*.code.msws.xyz {
# auto_https disable_redirects
#}
code.local.msws.xyz {
reverse_proxy code-server:8443
}
music.local.msws.xyz, music.msws.xyz {
reverse_proxy navidrome:4533
}
watch.local.msws.xyz, watch.msws.xyz {
reverse_proxy jellyfin:8096
}
photos.local.msws.xyz, photos.msws.xyz {
reverse_proxy immich_server:2283
}
torrent.local.msws.xyz {
reverse_proxy gluetun:8080
}
*.code.msws.xyz {
handle_path /* {
redir https://code.msws.xyz/proxy/{labels.3}{path}?{query} 302
}
}
discourse.msws.xyz {
reverse_proxy discourse:80
}
:80, :443 {
handle_path /resume* {
rewrite * /MSWS/Resume/main/Resume.pdf
reverse_proxy https://raw.githubusercontent.com {
header_up Host raw.githubusercontent.com
header_down Content-Type application/pdf
}
}
handle_path /tetris {
rewrite * /font-tetris
reverse_proxy https://msws.github.io {
header_up Host msws.github.io
}
}
handle_path /s/* {
rewrite /s/ /
reverse_proxy chhoto-url:4567
}
reverse_proxy https://msws.github.io {
header_up Host msws.github.io
}
}