Networking guide

Behind CGNAT? You can still share your server

No public IP means port forwarding can't work. An outbound connection doesn't need one.

About 10 minutes·Works on the free plan

You'll need

  • A machine at home running your apps
  • Docker on that machine
  • A free Seawise.io account

How to tell

Compare the WAN address in your router with what whatismyip.com shows. If they're different, or your router's address is between 100.64.x.x and 100.127.x.x, your ISP has you behind CGNAT.

CGNAT only blocks connections coming in. A container on your server that connects out works fine, and visitors reach your apps through it.

Step by step

We'll use Jellyfin as the example. Any app with a web page works the same way.

1

Run the Seawise.io container

Run this on the machine where Jellyfin 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.

your server
$ docker run -d --name seawise \
  --restart unless-stopped \
  --network host \
  -v seawise-data:/config \
  ghcr.io/seawise-io/seawise-client:latest

✓ Container started

2

Set a password

On a computer at home, open http://your-server-ip:8082 and create a password for the container's page.

Do this straight after starting the container. Whoever opens this page first sets the password.
3

Connect it to your account

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.

4

Add Jellyfin

Fill in the name, the address and the port Jellyfin uses (8096 by default), then click Add.

Which address? With --network host, use localhost. On Docker Desktop, use host.docker.internal. If Jellyfin runs on another machine, use its local IP, like 192.168.1.20.
5

Open it from anywhere

Jellyfin now shows on your Servers page at seawise.io. Click it from any browser, on any network, and you're in.

6

Share it

Go to Portals, create one (say, Family), and add Jellyfin to it. Then open its sharing settings and add the email of everyone who should get in.

Skip this step if Jellyfin is just for you.

7

What they see

Send them the portal link. They sign in with the email you added, using Google, GitHub or an email link, and tap Jellyfin. Nothing to install, on any phone, tablet or laptop.

If something's not working

An app shows as offline+

The container can't reach the app at the address you entered. On the server, check the app opens at http://localhost:PORT. If it runs in another container without host networking, use the server's local IP.

Someone gets a no access page+

They signed in with a different email than the one you added. Ask which email they used, or add that one too.

Try it on your own server.

Free plan, no card needed.