Use templates
Start from something that already deploys — what the bundled templates give you, and what to check before you build on one.
A template is a working project that already deploys: a Dockerfile that
builds, a handbook, and enough structure that your first deploy is about your
idea rather than about packaging.
$dibbla template list $dibbla template list -v # installs into ./my-app (refuses if it exists; --force reuses) $dibbla template install getting-started my-app
On a machine with no desktop browser its final “Open in browser” step fails with exit code 3 — the project is installed correctly and the failure is cosmetic. It also starts a dev server in the background and does not stop it; leave it running while you work, or kill it before you move on.
Before you build on one
Templates are starting points, not audited foundations. Two minutes now:
- Deal with
.env, in two places. The install writes a liveDIBBLA_API_TOKENthere..dockerignorekeeps it out of the image — worth adding, because no template lists it and aDockerfilethat doesCOPY . .would bake the credential into a distributable layer. But.dockerignoredoes not control what is uploaded: the deploy filter is a fixed list in the CLI and never reads it, so.envis sent with your project regardless. The file that governs the upload, and the managed repository, is.dibblaignore. Put.envin both. - Write the handbook — it is not there. No template ships
docs/index.md, and onlyexpense-reporterships a handbook at all (asAPP.md). Either filename satisfies the platform, anddocs/index.mdwins if you have both. Thesubtitle:in its frontmatter is what colleagues read in the catalogue, and the deploy is refused without it.
Under the hood
dibbla template install is sugar over dibbla run against the template’s
bootstrap file: it makes a directory and executes a dibbla-task.yaml from a
published URL. Which is worth knowing for one reason —
dibbla run <https-url> fetches and executes a task file: shell commands,
tool installs, background processes, all under your account. It is
curl | bash with better ergonomics. Only run task files from sources you
trust, and use dibbla run --preview first when you want to see what a file
would do before it does it.
Writing your own
A template is a repository with a dibbla-task.yaml that scaffolds it. If your
team starts the same kind of service repeatedly — same base image, same
handbook shape, same guardrails review — that is the thing worth templating,
because it is the part everyone skips when starting from an empty directory.