Expose Any Web Application

This guide works for any HTTP-based application running on your home server.

Prerequisites

  • A web application running on your server with an accessible HTTP port

  • SeaWise client installed and paired

Step 1: Identify the Port

Find the port your application listens on. Common methods:

# Check Docker containers:
docker ps

# Check what's listening:
ss -tlnp | grep LISTEN

Step 2: Add the Service

In the client web UI at http://your-server-ip:8082:

  1. Click Add Service

  2. Name: a descriptive name for the app

  3. Host: localhost (or the appropriate host — see Add a Service)

  4. Port: your application's port

  5. Click Add

Step 3: Access Your App

Visit:

Common Applications

Application
Default Port
Notes

Grafana

3000

Works out of the box

Portainer

9443

Uses HTTPS internally

Gitea

3000

Set ROOT_URL in config

Uptime Kuma

3001

Works out of the box

Vaultwarden

80

Set DOMAIN env var

Sonarr

8989

Works out of the box

Radarr

7878

Works out of the box

Prowlarr

9696

Works out of the box

Overseerr

5055

Works out of the box

Pi-hole

80

Works out of the box

Syncthing

8384

Web UI only (not file sync)

Immich

2283

Works out of the box

Audiobookshelf

13378

Works out of the box

Tips for Specific Configurations

Applications That Need Their Public URL

Some apps need to know their public URL to generate correct links. Look for settings like:

  • BASE_URL

  • ROOT_URL

  • DOMAIN

  • PUBLIC_URL

  • EXTERNAL_URL

Set these to your SeaWise URL: https://your-subdomain.seawise.dev

Applications With Built-in Auth

Many self-hosted apps have their own login system. SeaWise doesn't interfere — users see the app's own login page when they visit the URL.

Applications That Use WebSockets

Most modern applications that use WebSockets (like real-time dashboards or chat apps) work through SeaWise without additional configuration.

Last updated