Нема описа

Christian Lempa 65cde3de12 Merge pull request #1574 from ChristianLempa/renovate/docker.io-pihole-pihole-2025.11.x пре 2 месеци
.github f856aef030 Release v0.1.0 (#1562) пре 2 месеци
.wiki c77186a385 docs: add wiki pages directory for automated wiki sync пре 2 месеци
cli c6feed2f1e fix(nix): add email-validator dependency to flake (#1573) пре 2 месеци
library c7cb55efc6 chore: sync template versions with image updates пре 2 месеци
scripts f856aef030 Release v0.1.0 (#1562) пре 2 месеци
tests 7b98d03e20 hotfix/v0.0.5 пре 4 месеци
.editorconfig 9990395193 chore(config): align code formatting with PEP 8 standards пре 3 месеци
.gitignore f856aef030 Release v0.1.0 (#1562) пре 2 месеци
.yamllint 94f642aa04 fix: resolve yamllint issues пре 4 месеци
AGENTS.md f856aef030 Release v0.1.0 (#1562) пре 2 месеци
CHANGELOG.md c6feed2f1e fix(nix): add email-validator dependency to flake (#1573) пре 2 месеци
CONTRIBUTING.md f856aef030 Release v0.1.0 (#1562) пре 2 месеци
LICENSE 7e7cbc3d4a Initial commit пре 4 година
MANIFEST.in 8161c9f7c8 fix(packaging): include JSON schema files in package distribution пре 2 месеци
README.md a4f53cf9aa feat: add flake for nix install (#1405) пре 3 месеци
SECURITY.md 52a4363e45 fixed typo пре 2 година
WARP.md 34f49752b2 added link пре 4 месеци
flake.lock a4f53cf9aa feat: add flake for nix install (#1405) пре 3 месеци
flake.nix c6feed2f1e fix(nix): add email-validator dependency to flake (#1573) пре 2 месеци
pyproject.toml c6feed2f1e fix(nix): add email-validator dependency to flake (#1573) пре 2 месеци
renovate.json 15671ba9a9 drop autoDeleteBranch invalid config setting пре 3 месеци
requirements.txt 1d9b57e09a chore(deps): update dependency typer to v0.20.0 пре 3 месеци

README.md

Christian's Boilerplates

Welcome

Hey, there!

I'm Christian, and I'm passionate about creating educational tech content for IT Pros and Homelab nerds.

What are Boilerplates?

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!

Boilerplates CLI

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:

  • 🚀 Quick Setup - Generate complete project structures in seconds
  • 🔧 Fully Customizable - Interactive prompts or non-interactive mode with variable overrides
  • 💾 Smart Defaults - Save your preferred values and reuse across projects

Note: Technologies evolve rapidly. While I actively maintain these templates, always review generated configurations before deploying to production.

Installation

Automated installer script

Install the Boilerplates CLI using the automated installer:

# Install latest version
curl -fsSL https://raw.githubusercontent.com/christianlempa/boilerplates/main/scripts/install.sh | bash

# Install specific version
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

# Run without installing
nix run github:christianlempa/boilerplates -- --help

# Install to your profile
nix profile install github:christianlempa/boilerplates

# Or directly in your flake
{
  inputs.boilerplates.url = "github:christianlempa/boilerplates";

  outputs = { self, nixpkgs, boilerplates }: {
    # Use boilerplates.packages.${system}.default
  };
}

# Use in a temporary shell
nix shell github:christianlempa/boilerplates

Quick Start

# Explore
boilerplates --help

# Update Repository Library
boilerplates repo update

# List all available templates for a docker compose
boilerplates compose list

# Show details about a specific template
boilerplates compose show nginx

# Generate a template (interactive mode)
boilerplates compose generate authentik

# Generate with custom output directory
boilerplates compose generate nginx my-nginx-server

# Non-interactive mode with variable overrides
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:

# Set a default value
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:

# List configured libraries
boilerplates repo list

# Update all libraries
boilerplates repo update

# Add a custom library
boilerplates repo add my-templates https://github.com/user/templates \
  --directory library \
  --branch main

# Remove a library
boilerplates repo remove my-templates

Documentation

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.

Contribution

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.

Other Resources

  • Dotfiles - My personal configuration files on macOS
  • Cheat-Sheets - Command Reference for various tools and technologies

Support me

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