> For the complete documentation index, see [llms.txt](https://docs.seawise.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.seawise.io/client/install.md).

# Install & Update

## Install

The client ships as a multi-architecture Docker image (amd64 and arm64):

```
ghcr.io/seawise-io/seawise-client
```

**Linux**

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

**Docker Desktop (Mac / Windows)**

```bash
docker run -d --name seawise \
  --restart unless-stopped \
  -p 8082:8082 \
  -v seawise-data:/config \
  ghcr.io/seawise-io/seawise-client:latest
```

Everything the client needs to remember (password, pairing, your app list) lives in the `/config` volume. Keep the volume and you keep your setup across updates and restarts.

For Docker Compose and other network layouts, see [Configuration](/client/configuration.md).

## Set a password

Open `http://your-server-ip:8082`. The first screen asks you to create a password for the web UI (at least 8 characters).

![Secure Your Server](https://1178640790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FN9a3N6oT8rUDCWLlcgkq%2Fuploads%2Fgit-blob-b51a5210c7fcd7b7eefd797f65f94e6a23575674%2Fclient-setup.png?alt=media)

For safety, this setup screen is only available for **5 minutes** after the container starts. If you miss it, run `docker restart seawise` and open the page again.

## Connect to your account

1. Click **Connect** at the top of the client.
2. Name the server. It's filled in with the machine's hostname; use something you'll recognize, like `Home Server` or `Office NAS`.
3. Click **Connect**. A browser tab opens on seawise.io.
4. Sign in if asked, check the details, and click **Approve**.

![Waiting for authorization](https://1178640790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FN9a3N6oT8rUDCWLlcgkq%2Fuploads%2Fgit-blob-3d07168a16b82bf4985831daa397b55f766a53e7%2Fclient-waiting.png?alt=media)

![Approve this server?](https://1178640790-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FN9a3N6oT8rUDCWLlcgkq%2Fuploads%2Fgit-blob-4283f40e609d8f184ebd4860ca40d03ea23cbafe%2Fweb-connect-approve.png?alt=media)

The client picks up the approval on its own and shows **Connected**. If you don't approve within 10 minutes the request expires; click **Connect** again for a new one.

Once connected, the client keeps the tunnel up by itself. It reconnects after network drops and restarts, and `--restart unless-stopped` brings it back after a reboot.

## Disconnect

Click **Disconnect** in the client, or **Disconnect Server** from the server's menu on the **Servers** page. Either way the server and its apps are removed from your account and portals. Your apps on your network keep running. To use the client again, connect it again.

## Update

When a new version is out, the client shows a banner reading **A new version is available.** with a link to the release notes. The client never updates itself.

**Docker Compose**

```bash
docker compose pull seawise
docker compose up -d seawise
```

**docker run**

```bash
docker pull ghcr.io/seawise-io/seawise-client:latest
docker stop seawise && docker rm seawise
# then run the same docker run command you used to install
```

Your password, pairing, and apps are kept in the `seawise-data` volume.

### Pinning a version

Tags follow releases: `latest`, a minor line such as `1.0`, or an exact version such as `1.0.12`. Release notes are on [GitHub Releases](https://github.com/seawise-io/seawise-client/releases).

### Verifying the image

Release images are signed with [cosign](https://github.com/sigstore/cosign) (keyless) and carry an SBOM attestation, so you can verify what you run.

## Uninstall

```bash
docker stop seawise && docker rm seawise
docker volume rm seawise-data
```

Then remove the server from **Servers** in the admin app if it's still listed.
