Daemon-less containers for local, sovereign, and air-gapped work.
Compose stacks in .ctst, pull digest-pinned images, run without a privileged
daemon. Native Linux isolation; QEMU on macOS and Windows.
GA 1.2.0 · Landing · Docs · Roadmap
- No daemon — each
ctstcommand talks to the backend and writes file state - Declarative
.ctst—COMPONENT,CONNECT,EXPOSE, restart, healthcheck - Local-first images —
file://,tar://,preset://, digest-pinnedctst pull - Air-gapped ready —
--offlinerejects the network before connect - Linux isolation — user + PID namespaces default-on; remappable
EXPOSE; named networks and/etc/hostspeer DNS foundations - Rust SDK — parser, graph, and runtime APIs without the CLI
- Source-available — commercial license; evaluation free, production needs a paid license (COMMERCIAL.md)
VERSION=1.2.0
TARGET=x86_64-unknown-linux-gnu # or aarch64-*-gnu, *-apple-darwin, …
curl -LO "https://github.com/RemiPelloux/Containust/releases/download/v${VERSION}/ctst-${TARGET}.tar.gz"
curl -LO "https://github.com/RemiPelloux/Containust/releases/download/v${VERSION}/ctst-${TARGET}.tar.gz.sha256"
sha256sum -c "ctst-${TARGET}.tar.gz.sha256"
tar xzf "ctst-${TARGET}.tar.gz" && sudo install -m 755 ctst /usr/local/bin/ctstAlso: .deb / .rpm, Homebrew formula, or
cargo install --path crates/containust-cli. Details in docs/PACKAGING.md.
macOS / Windows need QEMU 7+.
ctst pull alpine:3.21
ctst plan examples/alpine_preset.ctst
ctst build examples/alpine_preset.ctst
ctst run examples/alpine_preset.ctst --detach
ctst ps --all
ctst logs app
ctst stop app && ctst rm appCOMPONENT api {
image = "file:///opt/images/api"
port = 8080
memory = "256MiB"
}
COMPONENT db {
image = "tar:///opt/images/postgres.tar"
port = 5432
}
CONNECT api -> db
EXPOSE 8080
| Command | Purpose |
|---|---|
ctst plan / build / run |
Validate, import images, start |
ctst pull |
OCI pull into the local catalog |
ctst ps / logs / exec |
Inspect |
ctst stop / rm |
Tear down |
ctst convert |
Compose → .ctst |
ctst vm start/stop |
QEMU lifecycle (macOS / Windows) |
Full reference: docs/CLI_REFERENCE.md.
| Host | Backend | Needs |
|---|---|---|
| Linux 5.10+ | Native namespaces + cgroups v2 | Root or delegated userns |
| macOS / Windows | QEMU + agent | QEMU 7+, first-run VM assets |
| Path | Role |
|---|---|
| site/ | Product landing page |
| site/docs/ | HTML documentation (start here) |
| docs/HowToUse.md | Operator guide (markdown source) |
| docs/README.md | Full markdown documentation map |
| ARCHITECTURE.md | Crate layers |
| roadmap.md | Sprint roadmap |
cargo test --workspace --lib --tests
cargo fmt --all -- --check
cargo clippy --workspace --all-targets -- -D warnings
cargo deny checkSee docs/CONTRIBUTING.md.
Containust is proprietary and source-available under the Containust Commercial License. Evaluation use is allowed; production, redistribution, and commercial embedding require a paid license. See COMMERCIAL.md.