Photos and files guide
Nextcloud, from anywhereYour files away from home, without opening a port.
You'll need
Everything happens in your browser except step 1.
Run this on the machine where Nextcloud 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 Nextcloud uses (Depends on install (the Docker image serves on 80, usually mapped to 8080)), then click Add.
--network host, use localhost. On Docker Desktop, use host.docker.internal. If Nextcloud runs on another machine, use its local IP, like 192.168.1.20.Nextcloud 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 Nextcloud to it. Then open its sharing settings and add the email of everyone who should get in.
Skip this step if Nextcloud 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 Nextcloud. Nothing to install, on any phone, tablet or laptop.
01
On the Users page, enter a login name and password and click Create. Set a default quota from the gear icon, or change one person's from the Quota dropdown.
02
In Administration settings > Sharing, choose whether to Allow users to share via link and email, and turn on Enforce password protection if you want every public link locked.
03
Enable the Two-Factor TOTP Provider app under Apps, then require it for everyone or certain groups in Administration settings > Security.
Nextcloud only answers on domains it trusts and needs to know the outside address is HTTPS. Add your address to config/config.php, keeping your existing trusted_domains entries.
'trusted_domains' =>
array (
0 => 'localhost',
1 => '192.168.1.50',
2 => 'your-app.seawise.dev',
),
'overwriteprotocol' => 'https',
'overwrite.cli.url' => 'https://your-app.seawise.dev',
Seawise.io can't reach the port you entered. Run curl -I http://localhost:8080 on the server (or whatever port you mapped) and check Nextcloud answers.
Your Seawise.io address isn't in trusted_domains yet. Add it to config.php as shown above and reload the page.
Nextcloud thinks it's on plain HTTP. Set overwriteprotocol to https and overwrite.cli.url to your full Seawise.io address.
Brute force protection may be throttling the proxy's IP because all traffic seems to come from it. Set trusted_proxies to the IP Nextcloud sees the requests from, and check the IPs in your Nextcloud log.
Sync clients can't get past the Seawise.io browser sign-in. Make the app public on the Admin plan and Nextcloud's own login, ideally with two-factor, protects it.