Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.kombify.io/llms.txt

Use this file to discover all available pages before exploring further.

StackKits are validated, reusable infrastructure blueprints that define architecture patterns for your homelab. Each StackKit describes how services relate to each other — not how many servers you need.

What is a StackKit?

A StackKit combines three concepts to produce your infrastructure: A StackKit is a smart configuration system that:
  1. Validates your choices against proven architecture patterns
  2. Detects your runtime environment and applies context-aware defaults
  3. Merges composable Add-Ons for additional capabilities
  4. Generates production-ready infrastructure code

The problem StackKits solve

You want to set up a homelab. You’ve heard of:
  • Traefik (or Caddy? or nginx?)
  • Authelia (or Authentik? or Keycloak?)
  • Portainer (or Dockge? or Coolify?)
  • Immich (or Photoprism?)
Questions that keep you stuck:
  • Which tools work well together?
  • How do I configure them correctly?
  • What are the best practices?
  • How do I avoid security issues?

Available StackKits

StackKits are architecture patterns, not node-count definitions.

Base Kit

Single-environment patternAll services in one deployment target. Simple, predictable.
  • Docker Compose
  • Any node count
  • Context-aware defaults

Modern Homelab Kit

Hybrid infrastructure patternBridges local and cloud environments with VPN overlay.
  • Multi-environment
  • Coolify PAAS
  • Public + private services

High Availability Kit

High-availability patternRedundancy, failover, and quorum-based consensus.
  • Docker Swarm cluster
  • Keepalived VIP
  • 3+ nodes recommended

The three concepts

1. StackKit = Architecture pattern

A StackKit defines how services relate to each other, not how many servers you have.
StackKitPatternExample
baseSingle-environment1 Pi running all services, or 3 servers sharing the same stack
modernHybridHome server + cloud VPS connected via VPN
haHA cluster3-node Docker Swarm with failover
A base StackKit can run on multiple nodes (same stack replicated). An ha StackKit can run on a single powerful node (simulated HA). The pattern defines the architecture, not the scale.

2. Node-Context = auto-detected environment

Each node is automatically classified based on hardware and provider metadata:
ContextDetectionAffects
localPhysical hardware, no cloud metadataSelf-signed TLS, Dokploy PAAS, local DNS
cloudCloud provider metadata detectedLet’s Encrypt, Coolify PAAS, public DNS
piARM + low memory or RPi detectionReduced services, ARM images, tmpfs
At Level 0 (standalone CLI), you specify context manually. At Level 2+ (with kombify TechStack agent), context is auto-detected from hardware reports.

3. Add-Ons = composable extensions

Add-Ons replace the old monolithic variant system. They are stackable and declare their compatibility:
Add-OnCategoryCompatible StackKits
monitoringObservabilitybase, modern, ha
backupDatabase, modern, ha
vpn-overlayNetworkingmodern, ha
gpu-workloadsComputebase, modern
mediaApplicationsbase, modern
smart-homeIoTbase
kombination.yaml
addons:
  - monitoring       # Prometheus + Grafana + Alertmanager
  - backup           # Restic + configurable targets
  - media            # Jellyfin + *arr stack

Progressive capability model

StackKits operates at different capability levels depending on how you access it:
LevelNameAccess MethodCapabilities
0Standalone CLIstackkit CLI directlyCUE validation, IaC generation, direct provisioning
1Control Planekombify TechStack Web UI/APIUnifier pipeline, wizard UI, StackKit resolver
2Worker Agentkombify TechStack + gRPC AgentContext auto-detection, placement engine
3Runtime IntelligenceDay-2 operationsDrift detection, auto-remediation, cert renewal
4AI-Assisted (SaaS)kombify SphereNatural language config, predictive scaling
Level 4 capabilities are available exclusively through kombify Sphere (SaaS) and require cloud connectivity.

How StackKits work

Context-driven defaults matrix

The combination of StackKit × Context produces curated default configurations:
localcloudpi
baseDokploy, self-signed TLSCoolify, Let’s EncryptLean Docker, reduced services
modernTailscale exit node, hybrid DNSMulti-cloud meshEdge relay role
haSwarm + KeepalivedCloud HA + managed LBNot recommended

Validation flow

When you run stackkit validate or use kombify TechStack:

StackKit comparison

Featurebasemodernha
PatternSingle-environmentHybrid infrastructureHA cluster
Container runtimeDocker ComposeDocker + CoolifyDocker Swarm
Typical nodes1 (supports N)2+ (multi-environment)3+ (odd for quorum)
ComplexityLowMediumHigh
VPN overlayOptional (Add-On)Built-inOptional
FailoverNoNoYes
Best forFirst homelab, single VPSHybrid setups, public servicesProduction workloads

Choosing a StackKit

Use: baseStart simple with a single-environment setup:
  • Easy to understand
  • Minimal resource requirements
  • Great for learning
  • Add capabilities later with Add-Ons
Use: modernFor hybrid setups connecting different environments:
  • VPN overlay connects all nodes
  • Public services via cloud nodes
  • Private services stay local
  • Coolify manages deployments
Use: haWhen downtime is unacceptable:
  • Automatic failover
  • Database clustering
  • Load balancing with Keepalived
  • Requires 3+ nodes (odd number for quorum)

Next steps

Base Kit

Detailed documentation for the single-environment StackKit

CUE language basics

Learn the CUE language used in StackKits

Customization guide

How to customize StackKits for your needs

Quick start

Deploy your first StackKit