DEV Community

Cover image for CloudBanana DE — Your VPS Just Got a Desktop Environment
Ketut Dana
Ketut Dana

Posted on

CloudBanana DE — Your VPS Just Got a Desktop Environment

 # 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
Enter fullscreen mode Exit fullscreen mode

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 cloudbanana CLI 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
Enter fullscreen mode Exit fullscreen mode

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
Enter fullscreen mode Exit fullscreen mode

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:


Made with ❤️ for the VPS community

Top comments (0)