CloudOS is a cloud-based IaaS (Infrastructure as a Service) web platform that allows users to create, configure, and access virtual machines directly from their browser. It requires no hardware or local resources — just an internet connection. Users can launch isolated Ubuntu VMs remotely in a few clicks.
🔥 Built with Django, QEMU/KVM, noVNC, and cloud-init.
- ✅ User registration and authentication
- ✅ Ubuntu 24.04 VM deployment
- ✅ Resource customization (CPU, RAM, Disk)
- ✅ VMs launched via QEMU/KVM and
virsh - ✅ Cloud-init automation for user setup and isolation
- ✅ Web-based remote desktop access using noVNC
- ✅ Secure cloning from base image (per-user VMs)
- ✅ Local network access tested (LAN deployment)
- 🛠️ Multi-OS support (planned)
- 🛠️ Full dashboard functionalities (planned)
- 🛠️ Admin interface (planned)
| Component | Stack / Tool |
|---|---|
| Server | NGINX |
| Backend | Django (Python) |
| Frontend | Django Templating Engine, HTML, Bootstrap |
| Database | MySQL |
| VM Engine | QEMU/KVM with virsh |
| Automation | cloud-init |
| Remote Access | noVNC |
| Scripts | Bash: create_vm.sh, start_vm.sh |
CloudOS was tested in a local network setup, with successful VM creation and browser-based access from:
- Phones
- Laptops
- Other machines within the same LAN
Deployment to a public server or cloud host is possible with proper port forwarding and system-level configuration (not tested yet).
- Any modern browser
- Stable internet connection
- VMs are fully cloned per user using base images.
cloud-initensures that cloned VMs:- Remove default users
- Create only the registered user account
- VMs are isolated from one another.
👉 Screenshots and a 6-minute video demo available soon (including full process: registration → VM launch).
“I have a low-end PC and couldn’t launch big software or isolated labs. CloudOS is my solution — a scalable way to run cloud-hosted VMs from anywhere, using only a browser.”
This project was a personal challenge to learn:
- Virtualization with KVM/QEMU
- VM automation and orchestration
- Full-stack web development using Django
- System scripting and real-world IaaS concepts
- Add more Linux distros (Debian, Kali, etc.)
- Improve dashboard with fully functional buttons
- Add VM networking features (e.g., SSH access)
- Implement admin panel for monitoring and control
- Polish frontend and UI/UX
- Deploy on a public VPS or cloud provider
Located in vm-scripts/:
create_vm.sh: Automates VM image creationstart_vm.sh: Starts VM and prepares noVNC access
This project is currently in early-stage development and not production-ready. If you'd like to contribute ideas, improvements, or bug fixes, feel free to open an issue or fork the repo!
Made with 💻 by Rayane © 2026 Rayane LYACHA. All Rights Reserved. This repository and its contents are proprietary. No one is permitted to use, copy, modify, or distribute this code without explicit written permission from the author.