- Full Linux XFCE desktop in the browser at desktop.atlascorporation.nl (Selkies/WebRTC, Ubuntu 26.04), gated by Caddy basic_auth + TLS - Claude Code CLI + Chromium pre-installed; one-click desktop launchers - runs on loopback only; auth enforced at the Caddy edge - web/os.html: OS v5 adds Remote Desktop app (39 apps total) - docs/remote-desktop.md + deploy/webtop-docker-compose.yml
27 lines
1.2 KiB
Markdown
27 lines
1.2 KiB
Markdown
# Atlas Remote Desktop
|
|
|
|
A **real Linux desktop in the browser** — not a web app. Full XFCE on Ubuntu 26.04,
|
|
streamed via Selkies/WebRTC, where you can run any application: Claude Code, Chromium,
|
|
a terminal, editors, anything you apt-install.
|
|
|
|
**URL:** https://desktop.atlascorporation.nl (login at the Caddy edge)
|
|
|
|
## Why a real desktop
|
|
Unlike a headless server, a desktop has a browser — so the Claude Code OAuth login
|
|
flow works normally. Open the terminal, run `claude`, log in through Chromium. Done.
|
|
|
|
## Stack
|
|
- **Image:** lscr.io/linuxserver/webtop:ubuntu-xfce (Selkies/WebRTC)
|
|
- **Bind:** 127.0.0.1:8131 (loopback only — never exposed directly)
|
|
- **Edge:** Caddy reverse_proxy + basic_auth (TLS via Let's Encrypt)
|
|
- **Persistence:** /opt/atlas/webtop/config (home survives restarts)
|
|
- **Pre-installed:** Claude Code CLI (on PATH), Chromium, XFCE terminal;
|
|
desktop launchers for Claude + Chromium
|
|
|
|
## Compose
|
|
See `deploy/webtop-docker-compose.yml`. Credentials live in a local `.env`
|
|
(gitignored) and the Caddy basic_auth hash — never committed.
|
|
|
|
## Roadmap
|
|
- Migrate edge auth from Caddy basic_auth to Authentik SSO (consistent identity)
|
|
- Optional: pin Claude to the Max subscription via the in-desktop browser login
|