Skip to content

Images

Fireactions images are OCI compliant Docker images that are used to run GitHub Actions runner in Firecracker microVM. The images are built using Docker and contain all the necessary tools and dependencies.

Image Requirements

Each image must contain the Fireactions binary and /etc/systemd/system/fireactions-agent.service file:

[Unit]
Description=Fireactions Agent
Documentation=https://github.com/hostinger/fireactions
After=network.target

[Service]
Type=simple
User=root
ExecStart=/usr/bin/fireactions agent --log-level=info
Restart=on-failure
RestartSec=5s

[Install]
WantedBy=multi-user.target

How It Works

The Fireactions agent is started as a systemd service when the container is run. The Fireactions agent manages the lifecycle of GitHub runner inside the Firecracker microVM. Once the workflow job completes (or GitHub runner exits), the Fireactions agent will shut down the Firecracker microVM.

Optionally, the shutdown can be disabled in order to keep the microVM running for debugging purposes using the shutdown_on_exit option of a Pool.

Base Images

The following official base images are available in the fireactions-images repository:

Name Description OS
ubuntu20.04 Full Ubuntu 20.04 image with Docker, Docker Compose, and other tools Ubuntu 20.04
ubuntu22.04 Full Ubuntu 22.04 image with Docker, Docker Compose, and other tools Ubuntu 22.04
ubuntu24.04 Full Ubuntu 24.04 image with Docker, Docker Compose, and other tools Ubuntu 24.04

Using Images

To use an image in your Fireactions configuration, specify it in the pool configuration:

pools:
  - name: default
    image: ghcr.io/hostinger/fireactions-images/ubuntu24.04:latest

Custom Images

To build a custom image, see the custom image tutorial.