https://github.com/tsirysndr/fireup
Prepare, configure, and manage Firecracker microVMs in seconds!
https://github.com/tsirysndr/fireup
command-line-tool coredns firecracker kvm linux microvm tailscale virtualization
Last synced: about 2 months ago
JSON representation
Prepare, configure, and manage Firecracker microVMs in seconds!
- Host: GitHub
- URL: https://github.com/tsirysndr/fireup
- Owner: tsirysndr
- License: mit
- Created: 2025-07-27T15:30:34.000Z (10 months ago)
- Default Branch: main
- Last Pushed: 2026-03-24T07:22:53.000Z (2 months ago)
- Last Synced: 2026-03-25T09:03:52.904Z (2 months ago)
- Topics: command-line-tool, coredns, firecracker, kvm, linux, microvm, tailscale, virtualization
- Language: TypeScript
- Homepage:
- Size: 516 KB
- Stars: 16
- Watchers: 0
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
README
# Fireup
[](https://github.com/tsirysndr/fireup/actions/workflows/ci.yml)
`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](https://firecracker-microvm.github.io/).

## 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.toml` file 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
- [CoreDNS](https://coredns.io/) (for DNS resolution)
- [Kea DHCP](https://kea.readthedocs.io/en/latest/) (for DHCP services)
- [Mosquitto](https://mosquitto.org/) (MQTT Server)
## Installation
You can install `fireup` using bash:
```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
Number of vCPUs
--memory
Memory size in MiB
--vmlinux
Path to the kernel image
--rootfs
Path to the root filesystem image
--bridge
Name of the bridge interface [default: br0]
--tap
Name of the tap interface [default: ]
--mac-address
MAC address for the network interface
--api-socket
Path to the Firecracker API socket
--boot-args
Override boot arguments
--ssh-keys
Comma-separated list of SSH public keys to add to the VM
--tailscale-auth-key
Tailscale auth key to connect the VM to a Tailscale network
-h, --help
Print help
-V, --version
Print version
```