A CLI that manages the lifecycle of a self-hosted product on a single Linux machine running Docker Compose: install, configure, update, roll back, back up, restore, diagnose.
The unit of delivery is a release bundle — an immutable archive containing a manifest, Compose files, configuration templates and lifecycle hooks. The unit of management is an installation — the state of one deployment on one machine.
Not a container orchestrator, an infrastructure provisioner, a secret manager, a backup engine, a workflow engine, or a CI system. It coordinates Docker Compose, SOPS, age, systemd and the release's own hooks; it owns ordering, atomicity, verification and reporting.
That boundary is the point. Everything it does is a sequence of steps against
tools that already exist, and every step can be planned with --dry-run,
journaled, verified afterwards, and undone.
just demo # a throwaway installation under ./tmp, touching nothing real
just demo-plan # what `apply` would do, as a step list with a config diff
just demo-recovery # delete an installation and rebuild it from an offline keyBuilding needs Go 1.25+. At runtime a machine needs docker, docker compose
and sops; the versions a release requires are declared in its manifest,
checked in preflight and reported by doctor.
https://morzecrew.github.io/morzer/
| Your first deployment | Empty machine to running product, on a throwaway directory |
| Operating | Updating, rolling back, secrets, backups, offline installs, recovery |
| Authoring a bundle | Shipping your own product through this |
| Reference | Commands, exit codes, the manifest schema, the hook ABI |
| Explanation | Architecture, the step engine, the secrets model |
init, apply, update, rollback, status, doctor, backup, restore,
secret, release and installation all work against a real bundle, delivered
as a directory, a tar.zst, an HTTPS URL or an OCI artifact, and optionally
signed. An acceptance run installs, updates and rolls back a real deployment
against real Docker on every push.
Work that has not shipped is designed in rfcs/ before it is built,
one numbered document per piece with its decisions recorded and its exclusions
reasoned. rfcs/INDEX.md is the table of contents.
CONTRIBUTING.md — the just ci loop, the commit
convention, the architecture rules and how they are enforced.
SECURITY.md states the threat model and the known gaps.
CHANGELOG.md, in Keep a Changelog format.
MIT — see LICENSE.