Media guide
Navidrome, from anywhereYour own music streaming, from any browser.
You'll need
Everything happens in your browser except step 1.
Run this on the machine where Navidrome runs. The container connects out to Seawise.io, so you don't open any ports on your router.
On Docker Desktop for Mac or Windows, replace --network host with -p 8082:8082.
$ docker run -d --name seawise \ --restart unless-stopped \ --network host \ -v seawise-data:/config \ ghcr.io/seawise-io/seawise-client:latest
✓ Container started
On a computer at home, open http://your-server-ip:8082 and create a password for the container's page.
Give the server a name, click Connect, and approve it in the seawise.io tab that opens. Sign up for free there if you haven't yet.
Fill in the name, the address and the port Navidrome uses (4533 by default), then click Add.
--network host, use localhost. On Docker Desktop, use host.docker.internal. If Navidrome runs on another machine, use its local IP, like 192.168.1.20.Navidrome now shows on your Servers page at seawise.io. Click it from any browser, on any network, and you're in.
Go to Portals, create one (say, Family), and add Navidrome to it. Then open its sharing settings and add the email of everyone who should get in.
Skip this step if Navidrome is just for you.
Send them the portal link. They sign in with the email you added, using Google, GitHub or an email link, and tap Navidrome. Nothing to install, on any phone, tablet or laptop.
01
Go to Settings > Users, open a user, and tick the libraries they should see under Libraries. Admins see every library; regular users only see what you grant.
02
Sharing is on by default. Set ND_SHAREURL to https://your-app.seawise.dev so links you create use your Seawise.io address instead of the local one.
03
ND_BASEURL is for serving Navidrome under a path like /music. Your app already has its own address, so a prefix just breaks the root page.
The Seawise.io container can't reach Navidrome. Run curl http://localhost:4533 on the server and check the port mapping, or ND_PORT if you changed it.
Apps that use the Subsonic API can't show the Seawise.io sign-in. Make Navidrome public on the Admin plan and they'll connect with each user's Navidrome login.
With ND_BASEURL set to something like /music, Navidrome only answers under that path. Clear it and restart, or open your address with the path added.
Navidrome shares don't need a Navidrome account, but a private Seawise.io app still asks visitors to sign in. Add them to your portal first.
Sharing is a single server-wide switch. Set ND_ENABLESHARING=false if you'd rather nobody created public links.