|
|
3 weeks ago | |
|---|---|---|
| .github | 3 months ago | |
| .wiki | 3 months ago | |
| cli | 1 month ago | |
| library | 3 weeks ago | |
| scripts | 1 month ago | |
| tests | 3 months ago | |
| .editorconfig | 5 months ago | |
| .gitignore | 3 months ago | |
| .yamllint | 5 months ago | |
| AGENTS.md | 3 months ago | |
| CHANGELOG.md | 1 month ago | |
| CONTRIBUTING.md | 3 months ago | |
| LICENSE | 4 years ago | |
| MANIFEST.in | 3 months ago | |
| README.md | 1 month ago | |
| SECURITY.md | 2 years ago | |
| WARP.md | 6 months ago | |
| flake.lock | 5 months ago | |
| flake.nix | 3 months ago | |
| pyproject.toml | 1 month ago | |
| renovate.json | 2 months ago | |
| requirements.txt | 1 month ago |
BoilerplatesHey, there!
I'm Christian, and I'm passionate about creating educational tech content for IT Pros and Homelab nerds.
Boilerplates is a curated collection of production-ready templates for your homelab and infrastructure projects. Stop copying configurations from random GitHub repos or starting from scratch every time you spin up a new service!
The Boilerplates CLI tool gives you instant access to battle-tested templates for Docker, Terraform, Ansible, Kubernetes, and more.
Each template includes sensible defaults, best practices, and common configuration patterns—so you can focus on customizing for your environment.
Key Features:
Note: Technologies evolve rapidly. While I actively maintain these templates, always review generated configurations before deploying to production.
Note for RHEL/AlmaLinux/Rocky Linux 9 users: These distributions ship with Python 3.9 by default. You need to install Python 3.11 or later:
> sudo dnf install python3.11 > pipx reinstall --python python3.11 boilerplates > ``` ### Installation #### Automated installer script Install the Boilerplates CLI using the automated installer:bash
Install latest version
curl -fsSL https://raw.githubusercontent.com/christianlempa/boilerplates/main/scripts/install.sh | bash
curl -fsSL https://raw.githubusercontent.com/christianlempa/boilerplates/main/scripts/install.sh | bash -s -- --version v1.2.3
The installer uses `pipx` to create an isolated environment for the CLI tool. Once installed, the `boilerplates` command will be available in your terminal.
#### Nixos
If you are using nix flakes
bash
nix run github:christianlempa/boilerplates -- --help
nix profile install github:christianlempa/boilerplates
{ inputs.boilerplates.url = "github:christianlempa/boilerplates";
outputs = { self, nixpkgs, boilerplates }: {
# Use boilerplates.packages.${system}.default
}; }
nix shell github:christianlempa/boilerplates
### Quick Start
bash
boilerplates --help
boilerplates repo update
boilerplates compose list
boilerplates compose show nginx
boilerplates compose generate authentik
boilerplates compose generate nginx my-nginx-server
boilerplates compose generate traefik my-proxy \ --var service_name=traefik \ --var traefik_enabled=true \ --var traefik_host=proxy.example.com \ --no-interactive
### Managing Defaults
Save time by setting default values for variables you use frequently:
bash
boilerplates compose defaults set container_timezone="America/New_York" boilerplates compose defaults set restart_policy="unless-stopped"
### Template Libraries
Boilerplates uses git-based libraries to manage templates. You can add custom repositories:
bash
boilerplates repo list
boilerplates repo update
boilerplates repo add my-templates https://github.com/user/templates \ --directory library \ --branch main
boilerplates repo remove my-templates ```
For comprehensive documentation, advanced usage, and template development guides, check out the Wiki (coming soon).
If you're looking for detailed tutorials on specific tools and technologies, visit my YouTube Channel.
If you’d like to contribute to this project, reach out to me on social media or Discord, or create a pull request for the necessary changes.
Creating high-quality videos and valuable resources that are accessible to everyone, free of charge, is a huge challenge. With your contribution, I can dedicate more time and effort into the creation process, which ultimately enhances the quality of the content. So, all your support, by becoming a member, truly makes a significant impact on what I do. And you’ll also get some cool benefits and perks in return, as a recognition of your support.
Remember, supporting me is entirely optional. Your choice to become a member or not won't change your access to my videos and resources. You are also welcome to reach out to me on Discord, if you have any questions or feedback.
https://www.patreon.com/christianlempa
Looking for templates from my older videos? The original boilerplates collection is still available in the backup/boilerplates-v1 branch. These templates haven't been migrated to the new CLI tool yet, but you can still access and use them directly from that branch.