Skip to content

Custom Images

Guide to creating your own image configurations.

Terminal window
# 1. Copy base configuration
cp -r images/debian images/myproject
# 2. Edit config
vim images/myproject/config.sh
# 3. Customize setup
vim images/myproject/services/base/setup.sh
# 4. Build
./bin/autobuild --image myproject

Required variables:

Terminal window
OUTPUT_IMAGE="myproject.img"
IMAGE_SIZE="8G"
QEMU_RAM="4G"
QEMU_CPUS="4"
CLOUD=true # or false
IMAGE_URL="https://cloud.debian.org/images/cloud/trixie-backports/daily/latest/debian-13-backports-genericcloud-arm64-daily.raw"
SERVICES="base qemu docker"
DESCRIPTION="My custom image"

Dynamic images - compose from existing services:

Terminal window
./bin/autobuild --image debian/qemu+docker+myservice

Physical images - full custom directory:

Terminal window
./bin/autobuild --image myproject

See Services - Creating Custom Services for adding new service modules.

Minimal Debian:

Terminal window
SERVICES="base"
IMAGE_SIZE="4G"

Docker host:

Terminal window
SERVICES="base docker"
IMAGE_SIZE="8G"

Custom service stack:

Terminal window
SERVICES="base qemu docker myapp"
IMAGE_SIZE="16G"