This commit is contained in:
ION606
2025-08-25 17:48:21 -04:00
parent 70d294ec59
commit 6c0598a6a7
3 changed files with 29 additions and 1 deletions
+24
View File
@@ -5,20 +5,44 @@
:8550 {
# route by host header to each backend
@paste host {env.PASTE_DOMAIN}
handle @paste {
# privatebin ui
reverse_proxy privatebin:8080
}
@files host {env.FILES_DOMAIN}
handle @files {
# lufi ui
reverse_proxy lufi:8081
}
@short host {env.SHORT_DOMAIN}
handle @short {
# shlink ui/api default
reverse_proxy shlink:8080
}
# --- 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
respond "unauthorized domain" 404
}
+1
View File
@@ -11,6 +11,7 @@ services:
- PASTE_DOMAIN=${PASTE_DOMAIN}
- FILES_DOMAIN=${FILES_DOMAIN}
- SHORT_DOMAIN=${SHORT_DOMAIN}
- INITIAL_API_KEY=${INITIAL_API_KEY}
networks:
- proxy
+4 -1
View File
@@ -65,7 +65,10 @@ availabletemplates[] = "bootstrap-compact-page"
; (optional) URL shortener address to offer after a new document is created.
; It is suggested to only use this with self-hosted shorteners as this will leak
; the documents encryption key.
; urlshortener = "https://shortener.example.com/api?link="
; in privatebin.conf.php ([main] section)
; important: only do this with your self-hosted shortener (see note below)
urlshortener = "https://{env.SHORT_DOMAIN}/shorten?link="
; (optional) Whether to shorten the URL by default when a new document is created.
; If set to true, the "Shorten URL" functionality will be automatically called.