All three paths use StackKits as the source of truth. The installer automates the CLI workflow, the CLI exposes the technical controls, and kombify-TechStack provides the guided UI and orchestration layer.
Choose a rollout path
First choose the experience: direct StackKits execution or guided TechStack outcome selection. Install Engine and CLI are both direct StackKits paths.| Decision | Direct StackKits | kombify-TechStack |
|---|---|---|
| First user decision | Where should StackKits run, and do I want one-command automation or explicit CLI control? | What outcome or use case do I want? |
| Canonical action | Install Engine: curl -sSL base.stackkit.cc | sh; CLI: stackkit init <standard> -> stackkit apply. | UI flow/job, no shell command. |
| CLI install | Included in the Install Engine. CLI-only use can install through package/release/Git; today curl -sSL install.stackkit.cc | sh is the documented CLI install script. | No user shell install step. |
| StackKit standard | Install Engine encodes or prompts for the standard; CLI users choose base-kit, modern-homelab, or ha-kit. | TechStack asks StackKits to resolve the standard from intent and target evaluation. |
| User input style | One installer command or explicit CLI commands/spec values. | Use-case clicks, intent text, target selection, confirmation. |
| Best fit | Direct technical execution: fastest default install or reproducible CLI workflow. | Guided user experience. |
Required decisions
| Install Engine user must decide | CLI user must decide | TechStack user must decide |
|---|---|---|
| Run the short one-liner on the host that should become the homelab. | Install the CLI only and choose a working directory. | Select use cases such as app hosting, media, vault, files, smart home, or describe the desired homelab in plain language. |
| Use default/no-care mode or answer guided prompts. | Choose the StackKit standard explicitly. Start with base-kit for the first SvelteKit app rollout. | Select or connect the target server/agent. |
| Pick the generic/default one-liner or a kit-specific one-liner. | Enter technical values: domain/access mode, app image, port, hostname, health path, env, and secret references. | Provide only missing facts: domain preference, app artifact, secret source, or approval. |
| Read the generated URLs and login output. | Review stackkit plan and run stackkit apply. | Review TechStack’s recommendation and click apply. |
Standard SvelteKit app contract
A SvelteKit app deployment needs the same core information in either path:| Field | Purpose |
|---|---|
| App name | Stable service and route name. |
| Artifact | A container image such as ghcr.io/acme/my-app:latest, or a buildable source repository when your workflow supports it. |
| Port | The internal app port, commonly 3000 for the SvelteKit Node adapter. |
| Hostname | The final route, for example app.home.lab. |
| Health path | Prefer /health, following the kombify health contract. |
| Auth policy | Default to the StackKits login gateway unless the route is intentionally public. |
| Environment | Non-secret runtime values such as PUBLIC_*. |
| Secrets | Secret references only. Do not put literal secrets into the spec. |
stack-spec.yaml. For TechStack handoff, the CLI also accepts kombination.yaml as a read alias when stack-spec.yaml is not present.
When apps: is present, stackkit generate writes the user app resources to deploy/apps.tf.
stack-spec.yaml
Roll out with the Install Engine
Choose the target shell
Use a Linux or macOS host with root/sudo access. In the default case, this is the server that should become the homelab.
Choose default or guided prompts
In default/no-care mode, the installer uses StackKits defaults and asks only for blocking facts. In guided mode, it asks the same first questions as TechStack: outcome/use cases, access/domain, target facts, and app artifact.
Roll out with the CLI Tool
Choose the StackKit standard
Choose the technical standard yourself. For the first SvelteKit app rollout, start with BaseKit:
Add your SvelteKit app
Add the app fields to
stack-spec.yaml: image, port, route, health path, environment, and secret references.Prepare, plan, and apply
Validate the host, generate the deployment assets, preview the change, and apply it:
Roll out with kombify-TechStack
Describe the outcome
Select use cases or write the intent, for example “deploy my SvelteKit app with login and a working route”.
Let TechStack evaluate
TechStack evaluates the intent, target resources, DNS/access model, and plan risk. It asks StackKits to resolve the standard, add-ons, auth baseline, and route defaults instead of forcing you to choose those technical details directly.
Connect the target
Select an existing node or connect a worker/agent so TechStack can run prechecks and apply the StackKits deployment.
Provide missing facts
Add only the facts TechStack cannot infer: app image or repository, domain preference, and secret source.
Verify
After either rollout path, verify the same outcome:- The app route resolves through the StackKits gateway.
- The health endpoint returns success for deployment health checks.
- The app UI route is protected by the login gateway unless you explicitly configured it as public.
stackkit statusor the TechStack job view shows the app as healthy.
Troubleshooting
The app container starts, but the route does not work
The app container starts, but the route does not work
Check the hostname, domain, reverse proxy labels, and whether the app listens on the configured internal port.
The health check fails
The health check fails
Make sure your SvelteKit app exposes
/health and returns a successful response without requiring a browser session.Secrets are missing at runtime
Secrets are missing at runtime
Use secret references from your selected execution path. Do not paste raw secret values into public specs or documentation examples.
Next steps
StackKits quickstart
Create and deploy your first StackKit.
Choose a kit
Compare BaseKit, Modern Homelab, and High Availability Kit.
