Authoring a template
A Fibe template is a Docker Compose file with a few Fibe-specific additions — labels on the services that need them, and an optional settings block at the top for launch variables and template metadata.
If you can write Compose, you can author a Fibe template. The additions are small and additive; a Compose file without them is still a valid Fibe template (just with no Fibe-specific behavior).
The two ingredients
- Service labels under
labels:on each service. These tell Fibe how to route, build, expose, and watch the service. - A settings block at the root under
x-fibe.gg:. Holds launch-time variables and template metadata. Optional, but you'll want it once you have anything customizable.
Everything else is plain Docker Compose. A template that doesn't need Fibe features is just a Compose file.
The smallest template
services:
web:
image: nginx:alpine
labels:
fibe.gg/port: 80
One service, one label. You get a public HTTPS URL with no other setup — fibe.gg/visibility defaults to external, so you only add it when you want something else.
Where it ships
While you're iterating, the template lives in your private Templates collection. When it's polished — clear description, sensible defaults, no hardcoded private values — you can publish it to the Bazaar for anyone to launch.
See Before you publish for the polish checklist.
What to read next
- Coming from an existing
docker-compose.yml? Walk Compose → Fibe — a nine-step conversion. - Authoring from scratch? Skim Service labels for the label reference, then Settings block for variables/metadata.
- Choosing between modes? Read Execution modes — long-running, Trick, scheduled, triggered.
- Stuck on a decision? Decision guides has short opinionated answers.
- Looking for a pattern? Recipes — small, copy-pasteable changes.
- A worked end-to-end example? Playbooks — Rails, Node dev mode, WordPress, Wiki.js, and more.