Keyboard shortcuts

Press or to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Kennel

Kennel is the deployment platform for ScottyLabs. When you push code to a repository, kennel builds it with Nix, deploys it, and routes traffic to it.

What it does

  • Builds your project with Nix when you push to any branch
  • Deploys services as systemd units and static sites via Caddy
  • Provisions per-deployment databases (PostgreSQL), caches (Valkey), and object storage (Garage)
  • Resolves secrets from OpenBao via secretspec
  • Generates HTTPS URLs for every deployment, including PR previews
  • Tears down deployments and their resources when branches are deleted or PRs are closed

How it works

Your project’s devenv.nix declares what it needs to run: processes, databases, secrets, static sites. Kennel evaluates this configuration, builds the Nix packages, and deploys everything with isolated resources per branch.

Every deployment gets a URL at {project}-{branch}.scottylabs.net. Production deployments can also have custom domains.

Getting started

See the deploying a project guide.