← GHOST_MACHINES · ENGINES

Engines — Ubuntu / Debian / Alpine / Arch

Each engine ships an identical toolchain so your workflow is portable.

Only the base image and package manager change.

All 4 are published as GHCR multi-arch (linux/amd64 + arm64) on v* tags — pull one that matches your needs.

At a Glance

EngineBasePMGHCR PackageSize amd64 / arm64Best for
ubuntuubuntu:latestapt-getghost-machine-ubuntu:latest1.38 / 1.21 GBAI agents, PPA, daily dev
debiandebian:stable-slimapt-getghost-machine-debian:latest1.36 / 1.20 GBSlim & stable, prod-like
alpinealpine:latestapkghost-machine-alpine:latest1.59 / 1.32 GBUltra-light, musl
archarchlinux:latestpacmanghost-machine-arch:latest1.63 / 1.63 GBRolling, latest upstream

Host distro does not matter — Debian host can run Arch image. Only CPU arch matters (amd64 vs arm64 auto-picked).

Identical Toolchain (all engines)

LayerWhat
RuntimesGo 1.24, Rust rustup minimal (cargo/rustc), Node current + Bun, Python uv + pipx + venv
Editors & GitHelix 25.01.1, Micro, Lazygit, Tmux
AI Harnessesagy/antigravity, opencode, kilo + rtk (60–90% token save)
MCP & Conductor7 HeLa headless servers (mitosis/genome/membrane/nucleus/ribosome/enzyme/phenotype) + Conductor /opt/conductor
Shell UXOh-My-Bash, Alias-Hub, Fastfetch/Neofetch, fortunes, openssh-server, LXCFS

When to Pick Which

UbuntuRecommended. PPA support (`add-apt-repository`) for drivers and newer toolchains. Largest apt footprint but most compatible with AI agent scripts that expect Ubuntu. Use when unsure.
Debianslim base, fewer packages out-of-the-box, closest to production Debian stable. Choose for smaller images and longer stability; good for WaaS classrooms where you want minimal bloat.
Alpineapk + musl. Smallest base but musl can break some npm/native addons (needs glibc shim). Pick when you explicitly want a tiny image; avoid if you rely on many binary wheels.
Archpacman + rolling. Always latest upstream packages; biggest and slowest to build; good for bleeding-edge testing.

How Images Are Built

All 4 Dockerfiles share the same stages:

base → system tools → Go/Rust → Node/Bun/uv → Micro/Helix/Lazygit → AI harnesses → HeLa MCP → Conductor → non-root user (developer).

The only differences are apk add vs apt-get install and package names (e.g. build-base vs build-essential).

Build args HOST_UID/HOST_GID sync the developer user to your host.

Copy-Paste

Pull one — not four.

docker pull ghcr.io/1999azzar/ghost-machine-ubuntu:latest
GHOST_IMAGE=ghcr.io/1999azzar/ghost-machine-ubuntu:latest ./start.sh -e ubuntu -m single
ssh -p 2223 developer@localhost # pass ghost
docker pull ghcr.io/1999azzar/ghost-machine-debian:latest
GHOST_IMAGE=ghcr.io/1999azzar/ghost-machine-debian:latest ./start.sh -e debian -m single
docker pull ghcr.io/1999azzar/ghost-machine-alpine:latest
GHOST_IMAGE=ghcr.io/1999azzar/ghost-machine-alpine:latest ./start.sh -e alpine -m single
docker pull ghcr.io/1999azzar/ghost-machine-arch:latest
GHOST_IMAGE=ghcr.io/1999azzar/ghost-machine-arch:latest ./start.sh -e arch -m single

Host Compatibility

Any Linux (x86_64/aarch64), macOS with OrbStack or Docker Desktop, or Windows with WSL2.

Image arch is auto-selected: Intel/AMD → amd64, Apple Silicon/ARM VPS → arm64.

Debian host can run Arch image — only the kernel (host) and userland (image) are split.

← Back to Archival Procedures · GHOST_MACHINES · MIT