Requirements: Docker 24+ and Docker Compose v2 on a Linux host. See the official Docker installation guide if not yet installed.
Quick start
Architecture
TechStack uses PocketBase (embedded SQLite) as its default database. An optional PostgreSQL connection can be configured for larger deployments. The Docker socket is mounted read-only so TechStack can manage containers on the host.Environment variables
| Variable | Default | Description |
|---|---|---|
KOMBISTACK_PORT | 5260 | REST API port |
KOMBISTACK_GRPC_PORT | 5263 | gRPC server port for agent communication |
KOMBISTACK_DATA_DIR | /data | Data directory (PocketBase/SQLite storage) |
KOMBISTACK_LOG_LEVEL | info | Log verbosity: debug, info, warn, error |
KOMBISTACK_DOMAIN | - | Public domain for the UI |
KOMBISTACK_ADMIN_EMAIL | - | Admin email for notifications |
Agent installation
To manage remote nodes, install the kombify agent on each target machine. Agents connect to TechStack via gRPC with mTLS authentication.Get the registration token
In the TechStack dashboard, go to Settings > Agents and copy the registration token.
Production setup with Traefik
For production deployments, put TechStack behind Traefik for automatic TLS via Let’s Encrypt.docker-compose.yml
When using Traefik, remove the
ports mappings from the services — Traefik handles routing through the Docker network. The gRPC port (5263) still needs to be exposed directly for agent connections since agents use mTLS, not HTTP.Verify installation
Troubleshooting
Container fails to start
Container fails to start
Check logs for the specific error:Common causes:
- Port conflict: Another process is using port 5260, 5261, or 5263. Change the host-side port mapping in
docker-compose.yml. - Docker socket permission denied: Ensure the container user has access to
/var/run/docker.sock. - Data directory permissions: The
/datamount must be writable by the container process.
Dashboard not loading
Dashboard not loading
- Confirm the
kombistack-appcontainer is running:docker compose ps - Check that port 5261 is open in your firewall
- Verify the
VITE_API_URLpoints to the correct core service address
Agent cannot connect
Agent cannot connect
- Ensure port 5263 is reachable from the agent host (check firewalls)
- Verify mTLS certificates in
/certsare valid and not expired - Confirm the registration token has not been rotated since the agent was installed
Next steps
Deploying infrastructure
Create your first infrastructure deployment
StackKits
Learn about reusable infrastructure templates
