Quick start

This walks through going from a freshly-installed kimbap to a deployed project with a real domain and SSL.

1. Create the first admin account

After installing and starting kimbap, open its address in a browser (http://<host>:8080/ before Traefik is set up). You'll land on the setup wizard — pick a username and password. This creates the one and only way to bootstrap kimbap: the setup endpoint disables itself the moment an account exists.

2. Install Docker (if needed)

The System page shows whether Docker is present. If not, click Install Docker — this runs Docker's official install script (get.docker.com), streaming its output live. It's confirmation-gated: you have to click through, kimbap never installs Docker silently.

3. Provision Traefik

Still on the System page, click Provision Traefik once Docker is ready. This:

Traefik immediately starts routing kimbap's own UI (via the admin domain you configured at install time, or admin.localtest.me by default for local testing) — see Domains & TLS for how.

4. Create a project

From the dashboard, click New project. Give it a slug (used as both the directory name and the docker-compose -p project name), paste in a docker-compose.yml, and optionally a .env. For example:

services:
  web:
    image: nginx:alpine
    ports:
      - "8080:80"

Saving does not deploy it — it just writes the files to /var/lib/kimbap/projects/<slug>/. Click Deploy to actually run docker compose up -d.

5. Add a domain

Open the project, scroll to Domains, and add one: pick the compose service name (web in the example above), the domain (app.example.com), and the container port (80 — the container's port, not whatever host port you may have mapped in the compose file directly). kimbap:

  1. Records the domain.
  2. Regenerates docker-compose.kimbap-labels.yml for the project with the right Traefik labels.
  3. Re-runs docker compose up -d if the project is currently deployed, so the label change takes effect immediately — no Traefik restart needed.

Point the domain's DNS A record at your host, and Traefik issues a Let's Encrypt certificate for it automatically on first request.

6. Watch it from Claude, if you like

Create an MCP-scoped API key (Settings → API keys → scope mcp) and add kimbap as a remote MCP connector — see the MCP guide. From there you can ask Claude to list projects, deploy changes, tail logs, or add a domain, without touching the UI at all.

Install Projects