home lab orchestration
Infrastructure, done right.
Celilo takes your home lab from a pile of machines and domain names to a fully-orchestrated, reproducible infrastructure — with one CLI and a library of battle-tested modules.
celilo module import caddy
✓ Downloading caddy 2.8.4+1 from celilo.computer...
→ Running on_install hook
→ firewall.exposeService (ports 80, 443)
✓ firewall.exposeService → 203.0.113.42
→ dns_registrar.registerHost (www → 203.0.113.42)
✓ dns_registrar.registerHost
✓ caddy installed — https://www.example.com
Everything you need to run a home lab.
Modules for networking, identity, DNS, web hosting, and more — all wired together automatically.
Capability system
Modules declare what they provide and what they need. Celilo wires them together automatically — no YAML templating, no hardcoded IPs.
Module registry
Install modules with one command. Each module bundles Terraform,
Ansible, and TypeScript hooks into a single .netapp file.
Secrets first
Secrets are encrypted at rest and injected at runtime. Modules never touch plaintext credentials — they receive typed, validated values.
Reproducible deploys
Every module generates complete Terraform and Ansible projects. Destroy and rebuild your infrastructure from source at any time.
Automatic HTTPS
Caddy handles TLS termination. Add a module, get a domain. DNS is updated, certificates are provisioned — all in one step.
Dogfooded
This website is a Celilo module. The registry that hosts these modules is a Celilo module. We eat our own cooking.