Ansible-based toolkit that deploys production-ready, highly available Kubernetes clusters on AWS, GCE, Azure, OpenStack, vSphere or bare metal.
ChristianLempa/boilerplates
A CLI for creating reusable infrastructure templates and rendering them into environment-specific configs for homelabs and self-hosted setups.
- Stars
- 8,000
- Forks
- 1,820
- Open issues
- 11
- Last commit
- 2 months ago
What is it?
Boilerplates is a template toolkit for homelab and self-hosted infrastructure. You write reusable templates for technologies such as Docker Compose, Kubernetes, Terraform, Ansible, Python, Bash and static files, then render them into concrete configurations by filling in variables through defaults, interactive prompts or command-line overrides.
Templates use a Jinja2-like syntax with custom delimiters (<< >> for variables, <% %> for blocks, <# #> for comments) and live in git-backed libraries. Libraries can be synced in both directions or kept local, and you can add your own repositories alongside the official template library.
The Boilerplates CLI lets you list and inspect templates, validate them, set saved default values, and generate output into any directory. Templates from version 0.2.0 onward must use a template.json manifest and a files/ directory.
Key features
- 01Reusable templates for Docker Compose, Kubernetes, Terraform, Ansible, Python, Bash and static files
- 02Jinja2-like syntax with custom << >> variable delimiters and conditional blocks
- 03Guided interactive prompts, CLI variable overrides and saved defaults
- 04Git-based template libraries that can sync in both directions or stay local
- 05Commands to list, inspect, validate and generate templates
Use cases
- Generating Docker Compose stacks for a homelab with environment-specific hostnames and timezones
- Keeping one set of Terraform or Ansible templates and rendering them for several servers
- Sharing a private template library with a team through a Git repository
Quick start
- 1
Run the official install script from the README (it uses pipx)
- 2
Update the template repository library
boilerplates repo update - 3
List available Docker Compose templates
boilerplates compose list - 4
Generate a template interactively
boilerplates compose generate authentik
Things to know
- Uses custom template delimiters (<< >>, <% %>, <# #>) instead of standard Jinja2 syntax.
- Legacy template.yaml and .j2 templates are no longer supported since version 0.2.0.
- Validation for python and bash templates is minimal for now.
In collections
Topics
FAQ
- What is boilerplates?
- A CLI for creating reusable infrastructure templates and rendering them into environment-specific configs for homelabs and self-hosted setups. Boilerplates is a template toolkit for homelab and self-hosted infrastructure. You write reusable templates for technologies such as Docker Compose, Kubernetes, Terraform, Ansible, Python, Bash and static files, then render them into concrete configurations by filling in variables through defaults, interactive prompts or command-line overrides.
- Is boilerplates free to use? What license does it have?
- boilerplates is open source under the MIT license. Check the license terms before using it in commercial products.
- Is boilerplates still maintained?
- Updated within 6 months. The last commit to boilerplates was on Aug 31, 2026.
- What can I use boilerplates for?
- Generating Docker Compose stacks for a homelab with environment-specific hostnames and timezones Keeping one set of Terraform or Ansible templates and rendering them for several servers Sharing a private template library with a team through a Git repository
- How do I install boilerplates?
- Run the official install script from the README (it uses pipx) Update the template repository library: boilerplates repo update List available Docker Compose templates: boilerplates compose list Generate a template interactively: boilerplates compose generate authentik
- Where can I get boilerplates?
- The source code and installation instructions are on GitHub: https://github.com/ChristianLempa/boilerplates
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
A Terraform/OpenTofu module that deploys a production-oriented Kubernetes cluster (k3s or RKE2) on Hetzner Cloud from a single configuration.
Terraform module that provisions opinionated Google Kubernetes Engine (GKE) clusters with node pools, network policy and IP masquerade configuration.
Static analysis tool that scans infrastructure as code, container images and open source packages for cloud misconfigurations and CVEs.
A set of general-purpose Ansible roles and playbooks for managing Debian and Ubuntu hosts as a self-hosted data center.
Open-source runtime for orchestrating Terraform, OpenTofu, Helmfile and containers with shared config, auth and CI workflows.