What is a StackKit?
A StackKit combines three concepts to produce your infrastructure: A StackKit is a smart configuration system that:- Validates your choices against proven architecture patterns
- Detects your runtime environment and applies context-aware defaults
- Merges composable Add-Ons for additional capabilities
- Generates release-packaged infrastructure artifacts and rollout evidence
The problem StackKits solve
- The challenge
- The solution
You want to set up a homelab. You’ve heard of:
- Traefik (or Caddy? or nginx?)
- TinyAuth + PocketID (or Authentik? or Keycloak?)
- Coolify (or Komodo? or another PaaS?)
- Immich (or Photoprism?)
- 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. The public beta scope is Base Kit; Modern Homelab and High Availability remain preview until their own evidence matrices graduate.Base Kit
Single-environment patternAll services in one deployment target. Simple, predictable.
- Coolify default
- Any node count
- Context-aware defaults
Modern Homelab Kit
Hybrid infrastructure patternBridges local and cloud environments with VPN overlay.
- Multi-environment
- Preview
- Coolify PaaS
- Public + private services
High Availability Kit
High-availability patternRedundancy, failover, and quorum-based consensus.
- Preview
- 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.| StackKit | Pattern | Example |
|---|---|---|
| base-kit | Single-environment | 1 Pi running all services, or 3 servers sharing the same stack |
| modern-homelab | Hybrid preview | Home server + cloud VPS connected via VPN |
| ha-kit | HA preview | 3-node Docker Swarm with failover |
2. Node-Context = auto-detected environment
Each node is automatically classified based on hardware and provider metadata:| Context | Detection | Affects |
|---|---|---|
| local | Physical hardware, no cloud metadata | Self-signed TLS, local DNS, *.home.localhost |
| cloud | Cloud provider metadata detected | Let’s Encrypt, Coolify PaaS, public DNS |
| pi | ARM + low memory or RPi detection | Reduced 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, declare their compatibility, and layer onto any kit. The catalog currently ships 18 add-ons:| Category | Add-Ons |
|---|---|
| Observability & data | monitoring, backup, backup-repo-server |
| Apps & media | media, photos, vault, file-sharing, calendar, mail, gameserver |
| Compute & dev | ai-workloads, dev-platform |
| Identity & access | authelia, remote-desktop |
| Networking | vpn-overlay, tunnel |
| Reliability | ha |
| Home | smart-home |
stack-spec.yaml
Progressive capability model
StackKits operate at different capability levels depending on how you access them:| Level | Name | Access Method | Capabilities |
|---|---|---|---|
| 0 | Standalone CLI | stackkit CLI directly | CUE validation, IaC generation, direct provisioning |
| 1 | Control Plane | kombify TechStack Web UI/API | Unifier pipeline, wizard UI, StackKit resolver |
| 2 | Worker Agent | kombify TechStack + gRPC Agent | Context auto-detection, placement engine |
| 3 | Runtime Intelligence | Day-2 operations | Drift detection, auto-remediation, cert renewal |
| 4 | AI-Assisted (SaaS) | kombify Cloud | Natural language config, predictive scaling |
How StackKits work
Context-driven defaults matrix
The combination of StackKit × Context produces curated default configurations:| local | cloud | pi | |
|---|---|---|---|
| base-kit | Coolify, local .home.localhost links | Coolify or Komodo, Let’s Encrypt | Lean profile, reduced services |
| modern-homelab | Preview | Preview | Preview |
| ha-kit | Preview | Preview | Preview |
Validation flow
When you runstackkit validate or use kombify TechStack:
StackKit comparison
| Feature | base-kit | modern-homelab | ha-kit |
|---|---|---|---|
| Pattern | Single-environment public beta | Hybrid infrastructure preview | HA cluster preview |
| Container runtime | Docker Compose | Docker + Coolify | Docker Swarm |
| Typical nodes | 1 (supports N) | 2+ (multi-environment) | 3+ (odd for quorum) |
| Complexity | Low | Medium | High |
| VPN overlay | Optional (Add-On) | Built-in | Optional |
| Failover | No | No | Yes |
| Best for | First homelab, single VPS | Hybrid setups, public services | Production workloads |
Choosing a StackKit
I'm new to homelabs
I'm new to homelabs
Use: base-kitStart simple with a single-environment setup:
- Easy to understand
- Minimal resource requirements
- Great for learning
- Add capabilities later with Add-Ons
I want local + cloud
I want local + cloud
Use: modern-homelabFor hybrid setups connecting different environments:
- VPN overlay connects all nodes
- Public services via cloud nodes
- Private services stay local
- Coolify manages deployments
I need high availability
I need high availability
Use: ha-kitWhen 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
