Prepare, configure, and manage Firecracker microVMs in seconds!
virtualization
linux
microvm
firecracker
Fireup#
fireup is a tool designed to simplify the process of setting up and managing Firecracker microVMs. It automates the preparation of the necessary files, including kernel images, root filesystems, and SSH keys, to quickly get you started with Firecracker.
Features#
- Quick Setup: Prepares linux kernel, Ubuntu/Debian/Alpine/NixOS rootfs, and SSH keys in one command.
- Seamless VM Management: Start, stop, and monitor Firecracker microVMs with intuitive subcommands.
- Network Configuration: Automatically sets up TAP devices, IP forwarding, and NAT for connectivity.
- SSH Access: Easily connect to the microVM via SSH.
- Tailscale Integration: Optionally connect your microVM to a Tailscale network for secure access.
- Customizable Resources: Specify CPU, memory, and other resources for your microVM.
- Configuration File: Uses a
fire.tomlfile for easy configuration management. - API Server: Includes an HTTP API server for programmatic control of microVMs
- Cross-Architecture Support: Supports x86_64 and aarch64 with automatic detection.
Prerequisites#
Installation#
You can install fireup using bash:
curl -sSL https://raw.githubusercontent.com/tsirysndr/fireup/main/install.sh | bash
Ubuntu/Debian#
echo "deb [trusted=yes] https://apt.fury.io/tsiry/ /" | sudo tee /etc/apt/sources.list.d/fury.list
sudo apt-get update
sudo apt-get install fireup
Usage#
_______ __ __
/ ____(_)_______ / / / /___
/ /_ / / ___/ _ \/ / / / __ \
/ __/ / / / / __/ /_/ / /_/ /
/_/ /_/_/ \___/\____/ .___/
/_/
Usage: fireup [OPTIONS] [COMMAND]
Commands:
init Create a new MicroVM configuration `fire.toml` in the current directory
ps List all Firecracker MicroVM instances
start Start Firecracker MicroVM
stop Stop Firecracker MicroVM
restart Restart Firecracker MicroVM
up Start a new Firecracker MicroVM
down Stop Firecracker MicroVM
status Check the status of Firecracker MicroVM
logs View the logs of the Firecracker MicroVM
ssh SSH into the Firecracker MicroVM
reset Reset the Firecracker MicroVM
rm Delete the Firecracker MicroVM
serve Start fireup HTTP API server
inspect Inspect the Firecracker MicroVM details
exec Execute a command inside the Firecracker MicroVM
cp Copy files to/from the Firecracker MicroVM
help Print this message or the help of the given subcommand(s)
Options:
--debian
Prepare Debian MicroVM
--alpine
Prepare Alpine MicroVM
--nixos
Prepare NixOS MicroVM
--fedora
Prepare Fedora MicroVM
--gentoo
Prepare Gentoo MicroVM
--slackware
Prepare Slackware MicroVM
--opensuse
Prepare OpenSUSE MicroVM
--opensuse-tumbleweed
Prepare OpenSUSE Tumbleweed MicroVM
--almalinux
Prepare AlmaLinux MicroVM
--rockylinux
Prepare RockyLinux MicroVM
--archlinux
Prepare ArchLinux MicroVM
--ubuntu
Prepare Ubuntu MicroVM
--vcpu <n>
Number of vCPUs
--memory <m>
Memory size in MiB
--vmlinux <path>
Path to the kernel image
--rootfs <path>
Path to the root filesystem image
--bridge <name>
Name of the bridge interface [default: br0]
--tap <name>
Name of the tap interface [default: ]
--mac-address <MAC>
MAC address for the network interface
--api-socket <path>
Path to the Firecracker API socket
--boot-args <ARGS>
Override boot arguments
--ssh-keys <SSH_KEYS>
Comma-separated list of SSH public keys to add to the VM
--tailscale-auth-key <TAILSCALE_AUTH_KEY>
Tailscale auth key to connect the VM to a Tailscale network
-h, --help
Print help
-V, --version
Print version