
Your browser is your new computer. SealSkin runs desktop applications in isolated containers on a server you control and streams them to any browser or phone. A browser extension turns every link, file, download and text selection into something you can open remotely instead of locally, so nothing from the web ever runs on the device in front of you.
SealSkin is built on Selkies, the low-latency Linux streaming stack, and on the LinuxServer.io container catalogue. The project site is https://sealskin.app.
Get the clients
| Client | Install |
|---|---|
| Chrome, Edge, Brave and other Chromium browsers | Chrome Web Store |
| Firefox | Firefox Add-ons |
| iPhone and iPad | App Store |
| Android | Google Play |
| Server | linuxserver/sealskin container image |
Every release also carries the extension zips, the Android APK, the iOS IPA, the server wheel and the built web UI for anyone who prefers to sideload.
Get the server
The fastest route to a working server with a trusted TLS certificate is the installer from the container repository. It needs Docker, a free Duck DNS subdomain and its token:
mkdir sealskin && cd sealskin
bash <(curl -sSL https://raw.githubusercontent.com/linuxserver/docker-sealskin/refs/heads/master/install.sh)Getting Started walks through that script, the plain
docker compose alternative, the first login and installing your first
application.
What it does
- Isolation. Links, files, downloads and searches open in a fresh container on the server. Cleanroom sessions leave nothing behind; persistent home directories keep what you choose.
- Any application. Browsers, office suites, IDEs, media editors, emulators and 3D tools from the app stores, or any Selkies-compatible image you add yourself, with GPU acceleration on NVIDIA and DRI3 hardware.
- Files stay on the server. A built-in file manager, chunked uploads, drag-and-drop, intercepted downloads and password-protected public share links.
- Collaboration rooms. Launch any app into a room with chat, voice and video, gamepad slots and hand-over of mouse and keyboard control.
- End-to-end encryption and no passwords. Every API call is encrypted with a per-session AES key negotiated against the server's RSA key, and users authenticate with a signed JWT from a private key that never leaves the client.
- One UI, served by the server. The extension and the mobile app are thin shells; the launcher, dashboard, file manager and admin panels ship with the server image, so UI updates never wait for a store review.
Documentation
Getting Started: install the server, connect a client, launch an application.
Usage: the launcher, context menus, sessions, storage, the file manager and collaboration rooms.
Administration: users, groups, app stores, templates, the App Laboratory and GPUs.
Configuration: what lives in /config and /storage,
keys and certificates, and editing the YAML by hand.
Settings Reference: every environment variable the server reads.
Architecture: the control and data planes, the encryption and authentication model, the served UI and the shells.
HTTP API: every endpoint and how requests are wrapped.
Development: running the server, building the client, loading the extension, the mobile shells and this site.
Releasing: versioning, release notes and the workflows.
Troubleshooting and FAQ: certificates, Firefox, mobile, GPUs and Docker.
Server Reference: generated from the server's docstrings.
Support and source
- Source and issues: https://github.com/selkies-project/sealskin
- Container image: https://github.com/linuxserver/docker-sealskin
- Application catalogue: https://github.com/linuxserver/sealskin-apps
- Chat: the LinuxServer.io Discord
SealSkin is licensed under the Mozilla Public License 2.0. The privacy policy for the published clients is PRIVACY.md.