Overview

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.
See the tests behind dbuild test

Every mode, from a basic shell check to full visual regression.

Updated

Was this page helpful?