The Base Kit follows an IaC-first approach using OpenTofu for infrastructure provisioning and Docker Compose for service deployment.
Overview
Available variants
Choose a variant that matches your use case:- Default (Dokploy)
- Beszel
- Minimal
The standard variant for users without their own domain. Port-based access.
| Service | Description |
|---|---|
| Traefik v3 | Reverse proxy with auto-SSL |
| Dokploy | Container platform (like Vercel for your homelab) |
| Uptime Kuma | Status monitoring with public pages |
| Dozzle | Real-time Docker log viewer |
| whoami | Debug/test service |
kombination.yaml
Included services
Traefik v3
Reverse Proxy & SSLAutomatic HTTPS certificates (Let’s Encrypt), routing, and load balancing for all services.
Dokploy
Container PlatformSelf-hosted PaaS like Vercel/Railway. Deploy from Git, manage databases, and scale apps.
Coolify
Alternative PaaSOpen-source alternative to Heroku. Best for users with their own domain.
Uptime Kuma
Status MonitoringMonitor your services with beautiful status pages and alerts.
Beszel
Server MetricsLightweight resource monitoring (CPU, RAM, disk, network).
Dozzle
Log ViewerReal-time Docker container log viewer in your browser.
Optional identity services
TinyAuth
Lightweight Auth ProxySimple authentication middleware for protecting services with basic auth or OAuth2.
PocketID
OIDC ProviderFull-featured OpenID Connect provider for single sign-on across your homelab.
Requirements
| Resource | Low | Standard | High |
|---|---|---|---|
| CPU | 2 cores | 4 cores | 8 cores |
| RAM | 4 GB | 8 GB | 16 GB |
| Storage | 20 GB SSD | 50 GB SSD | 100+ GB SSD |
| Variant | Forces minimal | Any | Adds Prometheus/Grafana |
Supported operating systems
| OS | Version | Status |
|---|---|---|
| Ubuntu | 24.04 LTS | ✅ Recommended |
| Ubuntu | 22.04 LTS | ✅ Supported |
| Debian | 12 (Bookworm) | ✅ Supported |
Quick start
Generate infrastructure code
tofu/main.tf— OpenTofu configurationtofu/variables.tf— Variablesdocker-compose.yml— Service definitionstraefik/— Reverse proxy config
Configuration reference
Node settings
Domain and SSL
- With domain
- Local only
Service configuration
Deployment modes
The Base Kit supports two deployment modes:| Mode | Engine | When to use |
|---|---|---|
| Simple | OpenTofu only | Quick setup, one-time deployment |
| Advanced | OpenTofu + Terramate | Drift detection, Day-2 operations |
driftDetection.enabled: trueautoUpdates.enabled: truecompliance.required: true
File structure
Afterstackkit generate:
Constraints
The Base Kit enforces these rules:| Constraint | Value | Reason |
|---|---|---|
| Max nodes | 1 | Single-node design |
| Traefik required | Yes | All services need routing |
| Min RAM | 4 GB | Services won’t fit in less |
Troubleshooting
Services not accessible
Services not accessible
- Check Traefik is running:
docker logs traefik - Verify DNS resolves to your server
- Check firewall allows ports 80/443
- For local: Use
http://IP:PORTinstead of domain
SSL certificate errors
SSL certificate errors
- Let’s Encrypt: Domain must be publicly accessible
- Self-signed: Add browser exception or use
curl -k - Check rate limits at https://letsencrypt.org/docs/rate-limits/
Dokploy not starting
Dokploy not starting
- Check port 3000 is not in use:
netstat -tlnp | grep 3000 - Verify Docker socket permissions
- Check logs:
docker logs dokploy
Low disk space warnings
Low disk space warnings
- Prune unused images:
docker image prune -a - Check volume sizes:
docker system df - Consider adding external storage
Next steps
CUE basics
Learn how to customize StackKit schemas
Create custom StackKit
Build your own StackKit from scratch
