Cubic is a cross-platform tool that spins up Linux virtual machines with a single command. It is made for developers who need a clean Linux system fast.
Linux distributions come as official images and are ready to use within seconds. Cubic keeps things simple and secure by acting as lightweight glue over proven tools such as QEMU. No privileged system service is required and every VM instance runs as your normal user.
See the install guide for the full instructions.
Ubuntu
sudo snap install cubic && sudo snap connect cubic:kvm
macOS
brew install cubic-vm/cubic/cubic
Windows
winget install cubic-vm.cubic
Cargo
cargo install cubic
Then create your first VM instance with cubic run -i ubuntu.
These are the most common commands, shown for a VM instance named demo.
| Command | What it does |
|---|---|
cubic run demo -i ubuntu |
Create the VM instance demo, start it and open a shell |
cubic run --rm -i ubuntu |
Run a VM instance that is deleted on exit |
cubic images |
List the available images |
cubic instances |
List your VM instances |
cubic ssh demo |
Open a shell in a VM instance |
cubic exec demo -- uname -a |
Run one command in a VM instance |
cubic scp notes.txt demo:~/ |
Copy files between host and VM instance |
cubic modify demo -c 4 -m 8G |
Change the vCPUs and memory of a VM instance |
cubic snapshot demo/clean |
Save the disk of a VM instance |
cubic restore demo/clean |
Roll a VM instance back to a snapshot |
cubic clone demo demo2 |
Copy a VM instance under a new name |
cubic stop demo |
Stop a VM instance |
cubic delete demo |
Delete a VM instance |
Run cubic --help for the full list or read the
command reference.
- Creates a VM instance and opens a shell in one command
- Runs on Linux, macOS and Windows hosts with hardware acceleration
- Forwards ports, copies files and executes commands in a VM instance
- Supports templates, snapshots and clones of VM instances
- Runs temporary and network isolated VM instances
- Runs every VM instance as your normal user without a privileged system service
- Verifies every image and protects every VM instance with its own SSH key
- AlmaLinux
- Alpine Linux
- Arch Linux
- CentOS Stream
- Debian
- Fedora
- Gentoo
- openSUSE Leap
- openSUSE Tumbleweed
- Rocky Linux
- Ubuntu
The full documentation is at cubic-vm.org/docs. The Getting Started tutorial is the best place to begin.
Contributions are very welcome. You can help in many ways:
- Star the project on GitHub
- Vote with a thumbs up for the issues you care about
- Report a bug or request a feature in a new issue
- Ask a question or share an idea in the discussions
- Fix or improve the documentation, see CONTRIBUTING.md
- Send a pull request, see CONTRIBUTING.md
