Deploy Ubuntu Desktop | (Just Updated) Full XFCE GUI in the Browser, Password Enforced
A full Ubuntu XFCE desktop in your browser. Never open without a password.
ubuntu-desktop
Just deployed
/config
Deploy and Host Ubuntu Desktop on Railway
A complete Ubuntu XFCE desktop, streamed to your browser over one HTTPS URL. Files
manager, terminal, Firefox, and anything else you apt install — no VNC client, no
X server on your machine, no SSH tunnel. Built on the LinuxServer.io webtop image,
pinned by digest, with the desktop's home directory on a Railway volume so it
survives every redeploy.
About Hosting Ubuntu Desktop
The desktop runs as a single Railway service. A bundled nginx serves the web client and the WebSocket that carries your keyboard, mouse and the H.264 video stream, all on the port Railway injects — there is no second service, no TURN server and no external relay to configure.
The whole surface sits behind HTTP basic auth as user admin. Upstream only enables
that auth when PASSWORD is non-empty, which means a blank value does not weaken the
desktop, it publishes it: the client page and the input WebSocket both answer
anonymous callers, and whoever finds the URL gets a root session on your instance.
This template refuses to start on an empty password and generates a strong one for
you by default, so a deploy is never an open desktop. The healthcheck endpoint is the
one route left unauthenticated, and it is patched into the nginx config at image
build time with an assertion, rather than rewritten on every boot.
The user's home directory, /config, is mounted on a volume. Packages installed with
apt land on the container's own filesystem and are reset by a redeploy; anything
under the home directory is not.
Why Deploy Ubuntu Desktop?
- A throwaway Linux GUI on demand, reachable from a phone, a tablet or a locked-down work laptop with nothing installed.
- A browser that runs somewhere else — a different IP, a different country, a session that keeps running when you close the tab.
- A place to run GUI tools that have no web version, without keeping a VM on.
- Persistent: your files, browser profile and desktop settings are still there after a redeploy.
Common Use Cases
- Remote development or debugging from a device that cannot run the toolchain.
- Running a desktop browser session for testing, scraping or account work.
- Teaching and demos: a clean, identical Linux desktop per person, no local setup.
- A long-running GUI job you want to check on from anywhere.
Dependencies for Ubuntu Desktop Hosting
- A Railway account and one service with a persistent volume.
Deployment Dependencies
- Base image: linuxserver/webtop (Ubuntu XFCE), pinned by digest.
- Wrapper image and source: bon5co/ubuntu-desktop-railway.
Variables
| Variable | Description |
|---|---|
PASSWORD | Password for the desktop's admin login. A strong value is generated for you; the container refuses to boot if it is empty. |
Template Content
ubuntu-desktop
ghcr.io/bon5co/ubuntu-desktop-railway:2026.09.07