🧪 killBottleneck je ve veřejné betě — cloud i self-host.🧪 killBottleneck je v betě.Beta na GitHubu →
Skip to content

Instalace

Tahle stránka je „pořádně, na serveru“ verze Rychlého startu.

Co potřebujete

  • Docker s pluginem Compose. Nic víc — žádný Node.js, žádný databázový server, žádný webserver. Image si sám sestaví frontend a přibalí PocketBase, který z jednoho kontejneru obsluhuje API, databázi, přihlašování i statické soubory.
  • Pár set megabajtů místa na disku pro image plus to, co zaberou přílohy.
  • Ideálně stroj, který je zapnutý. Opakující se šablony, ranní souhrny a upozornění na termíny pohánějí cron úlohy uvnitř kontejneru. Nic se potichu nevynechá — když byl server v cílovou hodinu vypnutý, úlohy se dohoní později týž den — ale stroj zapnutý po ránu je doručí v hodinách, které jste nastavili.

Ještě nemáte Docker? Vyberte si systém

Zbytek stránky je společný pro všechny — tahle část jen dovede vaše konkrétní zařízení do bodu, kdy funguje příkaz docker compose.

Windows 10 / 11 — krok za krokem
  1. Stáhněte si Docker Desktop z docker.com a nainstalujte ho. Instalátor si sám doplní WSL 2 a jednou vás vyzve k restartu — nechte ho restartovat.
  2. Spusťte Docker Desktop a počkejte, až vlevo dole zezelená Engine running. Dokud svítí oranžová, příkazy níže hlásí, že Docker neběží.
  3. Stáhněte si kód: na stránce projektu zelené tlačítko Code → Download ZIP a rozbalte ho třeba do C:\killbottleneck. (Máte-li Git, můžete místo toho použít git clone.)
  4. V Průzkumníku otevřete tu složku, klikněte do adresního řádku, napište powershell a stiskněte Enter. Otevře se příkazová řádka rovnou ve správné složce.
  5. Zkopírujte nastavení a spusťte:
    powershell
    Copy-Item .env.example .env
    docker compose up -d --build
  6. Otevřete v prohlížeči http://localhost:8090 a založte si účet správce.

Na co si dát pozor na Windows:

  • Když počítač uspíte nebo vypnete, instance spí s ním. Ranní souhrny a upozornění na termíny se pak doženou později týž den. Pro tým je lepší nechat běžet stroj, který je zapnutý pořád.
  • Chcete se připojit z mobilu nebo od kolegy? Použijte IP adresu počítače (ipconfig) místo localhost a při první výzvě povolte Dockeru průchod firewallem Windows pro soukromou síť.
  • Když je port 8090 obsazený, přepište v souboru .env řádek KB_PORT.
Linux (Ubuntu, Debian) — krok za krokem
  1. Nainstalujte Docker oficiálním skriptem a přidejte se do skupiny docker, ať nemusíte psát sudo u každého příkazu:
    bash
    curl -fsSL https://get.docker.com | sudo sh
    sudo usermod -aG docker $USER
    Po druhém příkazu se odhlaste a přihlaste (nebo restartujte) — jinak nová skupina ještě neplatí a Docker bude hlásit permission denied.
  2. Ověřte, že to jede:
    bash
    docker run --rm hello-world
  3. Dál pokračujte podle Stažení kódu níže. Nic dalšího instalovat nemusíte — Node.js ani databázi si image sestaví sám.
macOS

Stáhněte Docker Desktop pro Mac (pozor na správnou variantu — Apple silicon × Intel), spusťte ho a pak pokračujte podle Stažení kódu níže. Platí totéž co pro Windows: uspaný Mac znamená uspanou instanci.

Stažení kódu

bash
git clone https://github.com/tengolabs/killbottleneck.git
cd killbottleneck

Nastavení

bash
cp .env.example .env

Výchozí hodnoty fungují tak, jak jsou. Před prvním startem stojí za pohled tyhle:

ProměnnáProč teď
KB_PORTKdyž už něco jiného zabírá 8090.
TZNastavte své pásmo (např. Europe/Prague), jinak cron úlohy jedou v UTC.
KB_SETUP_CODENastavte, pokud je stroj dostupný z internetu — jinak se zaregistruje kdokoli, kdo zná adresu.
KB_PUBLIC_URLPotřeba jen pro automatizace, aby agent věděl, kam se ohlásit zpět.

Úplný seznam je v Proměnných prostředí.

Spuštění

bash
docker compose up -d --build

První build trvá pár minut (sestavuje se frontend). Potom:

bash
docker compose ps
docker compose logs -f killbottleneck

Otevřete http://IP-SERVERU:8090 — čistá instance vás rovnou přivítá založením účtu správce (první účet se jím stane automaticky).

Označení verze

Bez něj se instance hlásí jako dev a nenabízí kontrolu aktualizací. Pro ostrý provoz:

bash
KB_VERSION=$(git describe --tags --dirty) docker compose up -d --build

Vždycky přestavět, nikdy jen restartovat

Aplikace i celá serverová logika jsou zapečené v image. Po jakékoli změně — novém kódu i proměnné v .env jako TZ — použijte:

bash
docker compose up -d --build

docker compose restart vám potichu nechá běžet starý build. Naráží na to dost lidí na to, aby se to vyplatilo zopakovat.

Kde co leží

CestaCo to je
./pb_dataDatabáze SQLite a nahrané soubory. Jediné, co musíte zálohovat.
./docker-compose.ymlDefinice služby. Aktualizace ji přepisují — needitujte ji.
./docker-compose.override.ymlVaše doplňky (reverzní proxy, další porty). Aktualizace ho nepřepisují.
./.envVaše konfigurace. Aktualizace ji nepřepisují.

Když přejmenujete službu v compose

docker-compose.override.yml se na službu odkazuje jménem. Když přejmenujete službu v docker-compose.yml a na override nesáhnete, spadne docker compose config a sestava vůbec nenaskočí.

Administrace PocketBase

Instance vystavuje i superuživatelské rozhraní PocketBase na http://IP-SERVERU:8090/_/. Účet superuživatele vznikne při prvním startu — odkaz najdete v docker compose logs. Potřebujete ho přesně na dvě věci: nastavení SMTP a nahlížení do databáze. Běžná správa se dělá přímo v aplikaci.

Dál

fair-code — self-hosting a interní použití zdarma, přeprodej jako hostovaná služba ne.