# CloudBanana DE — Your VPS Just Got a Desktop Environment
Written for dev.to • July 2026 • GitHub
Hey everyone! 👋
So I've been working on this open-source project for a while, and I'm really excited to finally share it with everyone. It's called CloudBanana DE — basically, a web-based desktop environment for managing your Linux VPS.
I know what you're thinking: "Another server management panel?" Not this time. This one is different. Not a dashboard with a bunch of buttons — it's a full-blown desktop. Like, you open your browser, and there's a login screen, a taskbar, a dock, windows you can drag around. It feels like using a real computer, but it's all running in your browser, connected to your VPS.
Let me break it down with the classic 5W + 1H so you can see the full picture.
What is CloudBanana DE?
CloudBanana Desktop Environment is a lightweight, web-based desktop environment that runs in your browser and connects to your Linux VPS. It gives you a Windows/macOS-like graphical interface with windows, taskbar, file manager, terminal, dock, and 30+ built-in applications — all without needing SSH or opening a terminal.
Think of it like this: instead of remembering 50 different Linux commands just to manage your server, you get a proper GUI where you can click, drag, and explore. It's built with React 19 + FastAPI and runs on any Debian-based VPS (Ubuntu 22.04/24.04 recommended).
Why CloudBanana DE?
Because managing a VPS through the terminal can be a pain — especially if you're not a Linux power user. Here's the problem most people face:
- You need to remember hundreds of CLI commands
- Switching between SSH sessions is annoying
- Dashboard panels (CyberPanel, aaPanel) are just forms — not real GUIs
- Coolify is great but it's Docker-centric and still CLI-heavy
CloudBanana DE solves all of that. You get a real desktop environment where you can open a file manager, drag files around, edit code in VS Code-quality Monaco editor, run terminal commands if you want, install software with one click — all from your browser. No SSH client needed. No command memorization.
The "aha" moment: When you realize you can manage Nginx, databases, Laravel projects, SSL certificates, cron jobs, and even browse the web — all from the same browser tab. And everything survives page reload. Close the tab, open it again, your windows are right where you left them.
Who is it for?
Basically anyone who runs a Linux VPS:
- Web developers who deploy and manage Laravel, PHP, or Node.js apps
- Sysadmins who want a GUI for server monitoring and file management
- DevOps beginners who find the terminal intimidating
- Agency owners who manage multiple client websites on a single VPS
- Self-hosters who run their own services (Nextcloud, WordPress, etc.)
- Students learning Linux server administration
When can you use it?
Right now! CloudBanana DE v0.1.0 is already available and working. It's in beta so there might be some rough edges, but the core features are solid and usable daily.
The installer script takes about 5-10 minutes to set everything up: Python venv, Node.js, Nginx, systemd service, firewall rules — all automated.
Where does it run?
Any Debian-based Linux distribution with:
- Python 3.10+
- Node.js 18+
- Nginx
- systemd
Optimized for Ubuntu 22.04/24.04 LTS, but works on Debian, Linux Mint, Pop!_OS, etc. You can install it on a $5 VPS from DigitalOcean, Linode, Vultr, or any provider. After installation, access it through your browser at http://your-server:8888.
How does it work?
Here's the quick install (it's literally 3 commands):
git clone https://github.com/dnysaz/cloudbanana.de.git
cd cloudbanana.de
sudo bash install.sh
The installer will:
- Install Python dependencies and Node.js
- Build the React frontend
- Set up Nginx reverse proxy on port 8888
- Create a systemd service (auto-starts on reboot)
- Configure UFW firewall
- Install the
cloudbananaCLI tool - Optionally set up HTTPS via Let's Encrypt
After installation, you can manage the service with simple CLI commands:
cloudbanana start # Start the service
cloudbanana stop # Stop the service
cloudbanana status # Check if it's running
cloudbanana logs # View real-time logs
Cool Features (a quick tour)
Actual Desktop Environment
Not a boring dashboard — a real desktop with windows, dock, start menu, desktop icons, wallpaper picker (20+ built-in), and even a calendar popup on the taskbar. You can drag windows around, resize them, minimize, maximize. It feels like using macOS or Windows, but in a browser tab.
Monaco Code Editor
Yes, the same editor VS Code uses. Syntax highlighting, minimap, multiple cursors, multiple tabs that survive reload, drag-and-drop tab reordering, file tree sidebar, and an integrated terminal panel. Basically VS Code in your browser, connected to your VPS filesystem.
WebSocket Terminal
Full bash shell with xterm-256color emulation, multi-tab support, resizable panel. You can run any command right from the browser. Perfect for when you still need that CLI power.
Web Server Management
Nginx config editor with syntax testing before saving. PHP version manager. SSL certificate viewer and Let's Encrypt auto-installer. Subdomain manager that generates Nginx configs automatically. Hosts file editor with confirmation modal.
Database Tools
Query MySQL and PostgreSQL directly from the UI. Browse SQLite databases, execute SELECT/PRAGMA queries. No more phpMyAdmin headaches.
Laravel Wizard
Full Laravel project setup wizard — clone from Git or upload ZIP, auto-install Composer, configure .env, run migrations, create Nginx vhost, build assets. All from one interface. Plus a management dashboard to toggle sites online/offline, rollback migrations, change PHP version per project.
49 One-Click Software Packages
Docker, Nginx, Apache, Python, Node.js, PostgreSQL, MongoDB, Redis, Rust, Go, Certbot, Grafana, Prometheus, Portainer, PM2, Fail2ban, Netdata, Composer, Yarn, FFmpeg, and many more.
Banana Browser
A built-in web proxy browser that runs inside your desktop. Cookie persistence, YouTube embed conversion, anti-frame-busting, SPA navigation support. Optional Playwright headless Firefox engine. Browse the web from your server.
System Monitoring
Real-time CPU per-core, RAM, Swap, Disk (multi-partition), Network I/O. Live desktop widgets showing system stats. Process viewer with kill capability. Audit logs tracking login/logout and admin actions.
Bonus: Games & Media
Snake, Ping Pong, BNote (multi-tab text editor with syntax highlighting), BWeb (WebView iframe), Media Viewer for images and videos. Because managing a server shouldn't be boring.
Security
Since this runs on your server, security matters. Here's what's built in:
- JWT with httpOnly cookies + CSRF double-submit pattern
- Rate limiting on all auth endpoints
- Account lockout after 5 failed attempts (15 min cooldown)
- PBKDF2 password hashing (100,000 iterations)
- Path traversal prevention on all file operations
- Private host blocking in proxy and wget
- Separate system user with scoped sudo privileges
- Read-only SQLite query mode
Important: There's no email-based password recovery yet (it's still beta), so please use a strong password. Your feedback and bug reports are very welcome!
Comparison: CloudBanana vs Other Panels
Here's why CloudBanana DE is different from CyberPanel, aaPanel, and Coolify:
| Feature | CloudBanana DE | Others |
|---|---|---|
| Desktop UI | ✅ Full desktop | ❌ Dashboard only |
| SSH-Free | ✅ 100% browser | ❌ SSH required |
| Code Editor | ✅ Monaco (VS Code) | ❌ Basic / None |
| WebSocket Terminal | ✅ Full PTY bash | ⚠️ Basic / None |
| Built-in Web Browser | ✅ Banana Browser | ❌ None |
| Software Install | ✅ 49 packages | ⚠️ Limited / Docker |
| Laravel Management | ✅ Wizard + Dashboard | ❌ Manual |
| Multi-User Login | ✅ GDM-style picker | ❌ Single admin |
| Window Persistence | ✅ Survives reload | ❌ None |
| Theme & Wallpapers | ✅ 20+ wallpapers | ❌ None |
| License | ✅ MIT (100% open) | ⚠️ Partial / AGPLv3 |
Tech Stack
Built with modern, battle-tested technologies:
React 19 • TypeScript + Vite 8 • FastAPI • SQLite + SQLModel • JWT + CSRF • Zustand 5 • xterm.js • Nginx • systemd • Playwright • Lucide Icons • SlowAPI
Project Structure
/etc/cloudbanana/
├── backend/
│ ├── app/
│ │ ├── main.py # FastAPI app (2500+ lines)
│ │ ├── auth.py # JWT, hashing, rate limiter
│ │ ├── models.py # SQLModel models
│ │ ├── database.py # SQLite + WAL mode
│ │ ├── apps.py # 49 software definitions
│ │ ├── browser_proxy.py # BananaBrowser proxy
│ │ ├── playwright_browser.py
│ │ └── utils/system.py
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── App.tsx # Main React app
│ │ ├── main.tsx # Entry point
│ │ ├── api.ts # HTTP client + auth
│ │ ├── types.ts # TypeScript types
│ │ ├── style.css # 2500+ lines of CSS
│ │ ├── store/ # Zustand stores
│ │ └── components/ # 30+ React components
│ └── package.json
├── scripts/ # 48 install scripts
├── install.sh # Master installer
├── cloudbanana.sh # CLI tool
└── README.md
Final Thoughts
CloudBanana DE is still in beta, but it's already pretty usable. I built it because I was tired of switching between SSH sessions and dashboard panels just to manage my servers. I wanted something that feels like a real operating system.
It's 100% open source (MIT license), so you can self-host it on your own VPS. No SaaS fees, no data leaving your server, no subscriptions.
If you try it, I'd love to hear your feedback! Drop an issue on GitHub, leave a comment here, or contribute a PR. Let's make VPS management less painful for everyone. ✌️
Links:
- GitHub: github.com/dnysaz/cloudbanana.de
- Landing Page: https://cloudbanana.de
- Report Issues: github.com/dnysaz/cloudbanana.de/issues
Made with ❤️ for the VPS community




Top comments (0)