🧪 killBottleneck is in public beta — cloud and self-host.🧪 killBottleneck is in beta.Beta on GitHub →
Skip to content

Quick start

Everything you need is Docker. There is no cloud account to create and nothing to register.

Run it

bash
cp .env.example .env    # optional — the defaults are fine
docker compose up -d

killBottleneck is now running at http://SERVER-IP:8090. Colleagues on the same network just open that address in a browser.

Create the first account

Open the address and register. The first account to register automatically becomes the administrator. Everyone else can register themselves, or the administrator invites them from Administration — an invitation creates an account with a temporary password to hand over.

If the machine is reachable from the internet

Registration is open by default, so anyone who knows the address could create an account. Set KB_SETUP_CODE in .env before you expose it — every registration then requires that key.

Check it is really up

bash
docker compose ps                          # the killbottleneck service should be "running"
docker compose logs -f killbottleneck      # startup log, including the superuser link
curl -s -o /dev/null -w '%{http_code}\n' http://localhost:8090   # expect 200

Where the data is

In the ./pb_data folder next to docker-compose.yml — an SQLite database plus uploaded files. It lives on the host, not inside the container, so rebuilding or removing the container does not lose anything. Read Backup and restore before you rely on that.

What next

Put it on a domain with HTTPSHTTPS and a reverse proxy
Turn on AIConfiguration → AI
Let people sign in with GoogleConfiguration → Sign in with Google
Send invitation e-mailsConfiguration → E-mail
Drive it from codeREST API
Connect an AI assistantMCP server

fair-code — self-hosting and internal use are free, reselling as a hosted service is not.