Skip to content
forked from wubbl0rz/VmChamp

Simple and fast creation of throwaway VMs on your local machine. Connect via SSH in seconds.

License

Notifications You must be signed in to change notification settings

mzwoelfer/VmChamp

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

VmChamp

Simple and fast creation of throwaway VMs on your local machine. Connect via SSH seconds.

✨ Features

  • Quickly create and SSH into throwaway VMs.
  • Fast boot times using minimal cloud images.
  • On-demand downloads for Debian, Ubuntu, Arch, Fedora, CentOS, Rocky and Alma cloud images.
  • Shell completion
  • Utilizes KVM, QEMU, and libvirt.

🤔 Why?

VmChamp creates local VMs in seconds and provides SSH access.

Bypassing a lengthy manual VM setup process. Especially useful when Containers do not suffice.

🚀 Usage

RUN:

vmchamp run mytestvm
# or for more options
vmchamp run mytestvm --os debian11 --mem 256MB --disk 4GB

Which leads to output:

️👉 Creating VM: mytestvm
💻 Using OS: Debian11
📔 Memory size: 256 MiB
💽 Disk size: 4 GiB

...output omitted...

⣷ Waiting for network...

...output omitted...

user@testvm:~$

Add Shell completion

Add the following to your .bashrc or .zshrc file

# For BASH
source <(vmchamp --completion bash)

# For ZSH
source <(vmchamp --completion zsh)

🛠️ Installation

TESTED on: Ubuntu 22.04; Debian 12

For details see Installation Guide

🔧 Prerequisites:

  • Your machine supports virtualization with KVM
# Installing requirements
sudo apt update
sudo apt install qemu-kvm libvirt-daemon-system

# Download latest VmChamp:
wget -qO- https://api.github.com/repos/zwoefler/VmChamp/releases/latest | grep "browser_download_url" | cut -d '"' -f 4 | wget -i - -O vmchamp

# Install VmChamp rootless
chmod +x vmchamp
mkdir -p ~/.local/bin
mv vmchamp ~/.local/bin/

export PATH="$PATH:$HOME/.local/bin"

vmchamp run testvm

🏗️ Build

To build VmChamp run:

./build.sh <version> <output dir>
# ./build.sh 1.2.3 ~/build/

Output dir defaults to ./build/.

About

Simple and fast creation of throwaway VMs on your local machine. Connect via SSH in seconds.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C# 96.1%
  • Shell 2.7%
  • Dockerfile 1.2%