DEV Community

Cover image for I Built CloudDesktop β€” Turn Any Linux VPS Into a Browser-Based Desktop (Free & Open Source)
HorusGod
HorusGod

Posted on

I Built CloudDesktop β€” Turn Any Linux VPS Into a Browser-Based Desktop (Free & Open Source)

Ever wanted a full Linux desktop in your browser?

No SSH. No PuTTY. No setup headaches.
Just open a tab β€” and you're in. πŸ‘‡


🧠 The Problem

I wanted a persistent Linux environment I could reach from anywhere β€” my phone on the go, a tablet, even a friend's laptop.

Every solution I found was either:

  • πŸ’Έ Expensive (cloud desktops cost $$$)
  • πŸ”§ Painful to set up (VNC configs, firewalls, SSL hell)
  • πŸ“΅ Desktop-only (forget using it on mobile)

So I spent weeks and built CloudDesktop from scratch.


πŸ–₯️ What it looks like

Here's the login screen:

Login Screen

And once you're in β€” a full XFCE desktop, in your browser:

Desktop


⚑ One command to rule them all

sudo bash install.sh

That's it. The installer auto-configures:

βœ… XFCE desktop + TigerVNC
βœ… WebSocket bridge (noVNC)
βœ… Node.js + Express backend
βœ… Nginx reverse proxy + SSL
βœ… Firewall (UFW) + Fail2ban
βœ… Systemd services (auto-start on boot)


πŸ“± Works on EVERY device

This was the hardest part to get right.

CloudDesktop is mobile-first:

  • Virtual trackpad cursor (like Microsoft RD Client)
  • Pinch to zoom + scroll
  • On-screen keyboard
  • Auto-resolution on orientation change
  • Fullscreen PWA mode β€” no browser chrome

Install it as a native app on iOS, Android, Windows, macOS β€” all from your browser.


πŸ”„ One live session, all devices

All your devices connect to the same live desktop.

Start coding on your PC β†’ pick up exactly where you left off on your phone.
No sync. No cloud storage. Just your desktop, everywhere.


βš™οΈ Settings & customization

Settings Panel

Adjust resolution, manage sessions, toggle features β€” all from a clean settings panel inside the browser.


πŸ€– Claude Code built right in

This is my favorite part.

CloudDesktop has first-class Claude Code support with dedicated dock icons:

Claude Code in Dock

  • Claude Code β€” launch CLI in a terminal from the dock
  • Claude Fast β€” one-click sandbox mode for quick tasks
  • Directory Picker β€” choose your working folder before launching

πŸ”’ Security? Covered.

This runs on the open internet, so security was non-negotiable:

  • πŸ” Bcrypt password hashing
  • 🎟️ JWT session tokens (httpOnly cookies)
  • πŸ“² TOTP two-factor authentication
  • 🚫 Rate limiting on auth endpoints
  • πŸ›‘οΈ Fail2ban + UFW firewall
  • πŸ”’ HTTPS enforced (Let's Encrypt or self-signed)

πŸ—οΈ How it works under the hood

Browser ──HTTPS──▸ Nginx ──▸ Express API (auth, files, resolution)
└──▸ WebSocket ──▸ websockify ──▸ VNC (TigerVNC/XFCE)

Simple, battle-tested stack. No magic, no vendor lock-in.


πŸ’š 100% Free & Open Source

No hidden fees.
No premium tiers.
No telemetry.
No nonsense.

Fork it. Break it. Make it yours.

πŸ‘‰ GitHub β€” https://github.com/HorusGod007/CloudDesktop


If this helped you or looks useful β€” a ⭐ on GitHub means the world and helps others discover it. Drop your questions below, I read every comment! πŸ™

Top comments (1)

Collapse
Β 
kamalmost profile image
KamalMostafa β€’

suggest to add tailscale mesh vpn for better or more secure access they already have clients for most OS including mobile devices