Exposing Navidrome, safely.
Your station streams straight from your own Navidrome, so the DJ needs to reach it over the internet. Five minutes, one of two routes, no ports flung open.
Why this is needed
A LAN address like 192.168.1.20:4533 only exists inside your home. The station lives in our rack, so it needs a public HTTPS address for your library.
Tailscale Funnel
Works behind CGNAT and home firewalls; nothing to port-forward. With Tailscale on the Navidrome box:
tailscale funnel --bg 4533Tailscale prints your public URL — something like https://yourbox.tailXXXX.ts.net. That's the address you paste at onboarding. Done.
Reverse proxy you already run
Got Caddy or nginx with a domain? Point a subdomain at Navidrome:
music.example.com {
reverse_proxy 127.0.0.1:4533
}A login for the DJ
In Navidrome, add a user just for the station — subwave works — so you can revoke it any time without touching your own account.
Test it
curl -s https://music.example.com/ping
# → {"status":"OK"}If that answers from your phone's data connection, the DJ can hear your records. Paste the URL and login at yourname.getsubwave.com/onboarding.