Files
sharing/Caddyfile
T

49 lines
1.3 KiB
Caddyfile
Raw Normal View History

2025-08-25 16:49:04 -04:00
{
# were behind cloudflare tunnel; terminate tls there
auto_https off
2025-08-25 14:15:52 -04:00
}
2025-08-25 16:49:04 -04:00
:8550 {
# route by host header to each backend
2025-08-25 17:48:21 -04:00
2025-08-25 16:49:04 -04:00
@paste host {env.PASTE_DOMAIN}
handle @paste {
2025-08-25 17:48:21 -04:00
# privatebin ui
2025-08-25 16:49:04 -04:00
reverse_proxy privatebin:8080
}
@files host {env.FILES_DOMAIN}
handle @files {
2025-08-25 17:48:21 -04:00
# lufi ui
2025-08-25 16:49:04 -04:00
reverse_proxy lufi:8081
}
2025-08-25 14:15:52 -04:00
2025-08-25 16:49:04 -04:00
@short host {env.SHORT_DOMAIN}
handle @short {
2025-08-25 17:48:21 -04:00
# shlink ui/api default
2025-08-25 16:49:04 -04:00
reverse_proxy shlink:8080
}
2025-08-25 17:48:21 -04:00
# --- adapter endpoint so privatebin can call a simple ?link=... and get a plain-text short url ---
# this lives on the same short domain; it just proxies to your tiny bun adapter service
@shorten host {env.SHORT_DOMAIN} && path /shorten
handle @shorten {
# allow browser calls from your privatebin origin
header {
Access-Control-Allow-Origin https://{env.PASTE_DOMAIN}
Access-Control-Allow-Methods GET, OPTIONS
Access-Control-Allow-Headers *
# do not cache shortened responses; they contain the full (keyed) url
Cache-Control no-store
}
# forward to the adapter (which turns GET ?link=... into a shlink POST and replies with text)
reverse_proxy shlink-adapter:3000
}
# preflight for /shorten
@shortenPre host {env.SHORT_DOMAIN} && method OPTIONS && path /shorten
respond @shortenPre 204
2025-08-25 17:00:44 -04:00
respond "unauthorized domain" 404
2025-08-25 16:49:04 -04:00
}