Skip to main content
🧭

bootc-migrate-composefs

Stable

In-place migration from OSTree-backed bootc systems to ComposeFS — no reinstall.

bootc-migrate-composefs converts an already-installed OSTree-backed bootc system (e.g. Bluefin) into a ComposeFS-backed system (e.g. Dakota) in place — /home, /var, /etc customizations, flatpaks, container storage, and user accounts all survive the trip. An interactive TUI wizard walks through the whole process; the previous OSTree deployment stays bootable as a fallback until you run commit.

until commitReversible
CLI · TUI wizardInterfaces
binary · containerShips as

See it in action

TUI wizard welcome screen
TUI wizard welcome screen
TUI wizard review screen showing the command that will run
TUI wizard review screen showing the command that will run
TUI wizard live migration progress with phase tracking and logs
TUI wizard live migration progress with phase tracking and logs

Features

🧙

Interactive TUI wizard

Target image selection, a plain-English review of what will happen, and a live phase-by-phase progress view with scrollable logs — `bootc-migrate-composefs tui`.

↩️

Reversible until commit

The previous OSTree deployment stays in the boot menu the whole time. `commit` is the one-way step that removes it and reclaims disk space.

🔔

Self-clearing login reminder

A login banner nudges you to run `commit` (or `undo`) so a migration never sits forgotten in the dual-boot "limbo" state.

🔄

undo for partial migrations

Cleans up composefs boot artifacts and staged deployments while preserving the object store, so a failed run is cheap to retry.

Binary or container image

Prebuilt per-arch binaries and a ghcr.io OCI image — pull it directly or COPY --from= it into another Containerfile.

🧪

CI-validated

Four E2E scenarios (btrfs, XFS+ext4-loopback, LUKS+XFS, LVM-on-LUKS with a dedicated /var) run on every push.

Get started

Run the wizard
sudo bootc-migrate-composefs tui
Download the binary
curl -fsSL -o bmc.tar.gz \
  https://github.com/tuna-os/bootc-migrate-composefs/releases/latest/download/bootc-migrate-composefs-x86_64-unknown-linux-gnu.tar.gz
tar xzf bmc.tar.gz
sudo install -m755 bootc-migrate-composefs /usr/local/bin/