Command Reference
dbuild baseline
Start a container, wait for it to be ready, and capture a baseline screenshot.
| Flag | Description |
|---|---|
-h, --help |
Show this help message and exit |
--variants, --variant |
Filter to one or more variants by tag (comma-separated, e.g. pkg,pkg-latest) |
-o, --output |
Save screenshot to FILE (default: .daemonless/baseline.png) |
dbuild build
Build container images from Containerfiles.
| Flag | Description |
|---|---|
-h, --help |
Show this help message and exit |
--variants, --variant |
Filter to one or more variants by tag |
--arch |
Override target architecture (e.g. amd64, aarch64) |
--no-cache |
Disable build cache (passes --no-cache to podman build) and ignores cache directories |
-p, --parallel |
Build variants in parallel; optionally limit to N concurrent builds |
--promote-local |
Tag directly as the final tag(s) instead of build-{tag}, skipping the staging step normally promoted by dbuild push/dbuild promote |
dbuild ci-prepare
Set up a FreeBSD CI runner with all build dependencies.
| Flag | Description |
|---|---|
-h, --help |
Show this help message and exit |
--arch |
Override target architecture |
--compose |
Also install podman-compose |
dbuild ci-run
Run the complete CI/CD pipeline for all (or selected) variants.
| Flag | Description |
|---|---|
-h, --help |
Show this help message and exit |
--variants, --variant |
Filter to one or more variants by tag |
--arch |
Override target architecture |
--prepare |
Run ci-prepare before the pipeline |
dbuild ci-test-env
Run read-only checks to verify the CI environment is ready.
dbuild detect
Auto-detect variants and output the build matrix.
| Flag | Description |
|---|---|
--format, -f |
Output format (default: json) |
dbuild generate
Render documentation and build files using Jinja2 templates.
| Flag | Description |
|---|---|
--community |
Override community help link (e.g. Discord:https://...) |
--check |
Don't write; fail if committed README.md/Containerfile* differ from a fresh render (a .j2 was edited without running generate). Checks the current repo, or every subdir from a workspace root. |
dbuild info
Display detected configuration in a human-readable format.
dbuild init
Generate starter files for a new dbuild project.
| Flag | Description |
|---|---|
--freebsd-port |
Initialize from a FreeBSD port (e.g. net-p2p/bazarr) |
--flavors |
Comma-separated FreeBSD port FLAVORS to scaffold; crossed with --variants into one tag per combination (e.g. pkg-lua, pkg-wolfssl) |
--name |
Application name (e.g. radarr) |
--title |
Human-readable title (e.g. Radarr) |
--category |
Application category (default: Apps) |
--type |
Application type (default: generic) |
--port |
Default application port (default: 8080) |
--variants |
Comma-separated list of variants to scaffold (default: latest) |
--community |
Override community help link |
--dry-run |
Show what would be created without writing to disk |
--github |
Generate GitHub Actions workflow (.github/workflows/build.yaml) |
--woodpecker |
Generate Woodpecker CI pipeline (.woodpecker.yaml) |
dbuild lint
Check compose.yaml and .daemonless/config.yaml for correctness. Lints the current repo if run from an image directory, or all subdirectories if run from a workspace root.
dbuild logo
Download or copy an app logo to .daemonless/logo (SVG or PNG). Accepts a URL or a local file path. Logo files should ideally be square (1:1) and under 150 KB — dashboardicons.com is a good source.
| Flag | Description |
|---|---|
--dark |
Save as the dark mode variant (logo-dark.*) |
dbuild manifest
Create and push multi-architecture manifest lists.
dbuild promote
Tag already-built build-{tag} images with their final tag, aliases, and version tag. Does not touch the registry or require auth — run dbuild build (and optionally dbuild test) first.
| Flag | Description |
|---|---|
--variants, --variant |
Filter to one or more variants by tag |
--arch |
Override target architecture |
dbuild prune
Find and remove leftover CIT containers (Podman), jails (AppJail), build-tagged images, and /tmp/dbuild-cit-* files for the current project.
| Flag | Description |
|---|---|
--variants, --variant |
Filter to one or more variants by tag |
-n, --dry-run |
Show what would be removed without removing anything |
-y, --force |
Do not prompt for confirmation |
dbuild push
Tag and push built images to the configured registry.
| Flag | Description |
|---|---|
--variants, --variant |
Filter to one or more variants by tag |
--arch |
Override target architecture |
dbuild sbom
Generate SBOMs (daemonless-native + CycloneDX 1.6 / SPDX 2.3 JSON) via trivy and pkg query.
| Flag | Description |
|---|---|
--variants, --variant |
Filter to one or more variants by tag |
--arch |
Override target architecture |
--format |
Comma-separated output formats: daemonless, cyclonedx, spdx, all (default: daemonless,cyclonedx) |
--embed |
Bake the CycloneDX/SPDX docs into the image at /usr/share/sbom/ (run before push so the pushed image ships them) |
dbuild screenshot
Download one or more upstream images into .daemonless/screenshots/. Uses file --mime-type to detect the real format and SHA-256 to skip duplicates.
dbuild test
Run container integration tests against built images.
| Flag | Description |
|---|---|
--variants, --variant |
Filter to one or more variants by tag |
--json |
Write test result JSON to FILE |
--backend |
Which backend(s) to test with: podman, appjail, or all (default: all) |
--puid |
Enable/disable the PUID/PGID re-chown check for this run, overriding the cit: puid: config. Podman only. |
dbuild testEvery mode, from a basic shell check to full visual regression.