Skip to main content
Use this guide when you want to deploy a standard SvelteKit app with StackKits and need to choose between the one-line installer, the standalone CLI tool, and the guided kombify-TechStack UI.
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.
DecisionDirect StackKitskombify-TechStack
First user decisionWhere should StackKits run, and do I want one-command automation or explicit CLI control?What outcome or use case do I want?
Canonical actionInstall Engine: curl -sSL base.stackkit.cc | sh; CLI: stackkit init <standard> -> stackkit apply.UI flow/job, no shell command.
CLI installIncluded 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 standardInstall 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 styleOne installer command or explicit CLI commands/spec values.Use-case clicks, intent text, target selection, confirmation.
Best fitDirect technical execution: fastest default install or reproducible CLI workflow.Guided user experience.

Required decisions

Install Engine user must decideCLI user must decideTechStack 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.
TechStack does not own the homelab standards. StackKits owns standards, add-ons, baselines, defaults, and validation in all paths. TechStack turns that StackKits resolution into a guided recommendation and adds target evaluation, plan risk, job status, route checks, login checks, and app health after rollout.

Standard SvelteKit app contract

A SvelteKit app deployment needs the same core information in either path:
FieldPurpose
App nameStable service and route name.
ArtifactA container image such as ghcr.io/acme/my-app:latest, or a buildable source repository when your workflow supports it.
PortThe internal app port, commonly 3000 for the SvelteKit Node adapter.
HostnameThe final route, for example app.home.lab.
Health pathPrefer /health, following the kombify health contract.
Auth policyDefault to the StackKits login gateway unless the route is intentionally public.
EnvironmentNon-secret runtime values such as PUBLIC_*.
SecretsSecret references only. Do not put literal secrets into the spec.
Example intent: The CLI canonical file is 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
stackkit: base-kit

network:
  domain: home.lab

apps:
  web:
    kind: sveltekit
    image: ghcr.io/acme/my-sveltekit-app:latest
    port: 3000
    route:
      host: app.home.lab
      auth: login-gateway
    health:
      path: /health
    env:
      PUBLIC_APP_NAME: "My App"
    secrets:
      SESSION_SECRET: env:SESSION_SECRET

Roll out with the Install Engine

1

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.
2

Run the short one-liner

For the default BaseKit path promoted on stackkit.cc:
curl -sSL base.stackkit.cc | sh
3

Use kit-specific one-liners when needed

The direct per-kit command contract is:
curl -sSL base.stackkit.cc | sh      # BaseKit
curl -sSL modern.stackkit.cc | sh    # Modern Homelab
curl -sSL ha.stackkit.cc | sh        # High Availability
4

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.
5

Read the result

The installer prints service URLs, login information, and next commands such as stackkit status and stackkit addon list.

Roll out with the CLI Tool

1

Install the CLI only

Use the CLI installer when you want to run the StackKits commands yourself:
curl -sSL install.stackkit.cc | sh
2

Choose the StackKit standard

Choose the technical standard yourself. For the first SvelteKit app rollout, start with BaseKit:
mkdir my-sveltekit-stack
cd my-sveltekit-stack
stackkit init base-kit
3

Add your SvelteKit app

Add the app fields to stack-spec.yaml: image, port, route, health path, environment, and secret references.
4

Prepare, plan, and apply

Validate the host, generate the deployment assets, preview the change, and apply it:
stackkit prepare
stackkit generate
stackkit plan
stackkit apply
5

Check status

Confirm that the app container, route, and health check are working:
stackkit status

Roll out with kombify-TechStack

1

Open TechStack

Open the kombify-TechStack dashboard and create a new stack.
2

Describe the outcome

Select use cases or write the intent, for example “deploy my SvelteKit app with login and a working route”.
3

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.
4

Connect the target

Select an existing node or connect a worker/agent so TechStack can run prechecks and apply the StackKits deployment.
5

Provide missing facts

Add only the facts TechStack cannot infer: app image or repository, domain preference, and secret source.
6

Review and apply

Review the recommendation, apply it, and follow the job status until route, login, and health evaluations pass.

Verify

After either rollout path, verify the same outcome:
curl -fsS http://app.home.lab/health
Expected result:
  • 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 status or the TechStack job view shows the app as healthy.

Troubleshooting

Check the hostname, domain, reverse proxy labels, and whether the app listens on the configured internal port.
Make sure your SvelteKit app exposes /health and returns a successful response without requiring a browser session.
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.