atlas-os/docs/remote-desktop.md
Chaib Aarab 449133f470 feat: real remote desktop (Webtop) + OS v5 launcher integration
- 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
2026-06-22 20:50:24 +02:00

1.2 KiB

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