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

Záloha a obnova ​

Všechna data leží v jedné složce: ./pb_data vedle docker-compose.yml — databáze SQLite a nahrané soubory. Nic vašeho není nikde jinde a nic není uvnitř kontejneru.

Přiložený skript ​

bash
./backup.sh                 # vytvoří kb-backup-RRRR-MM-DD.tgz
./backup.sh restore SOUBOR  # obnoví data ze zálohy

Skript rozumí i staršímu českému tvaru ./backup.sh obnovit SOUBOR.

Šifrovaná záloha ​

Archiv nese úplně všechno — mapy, uživatelské účty i nahrané soubory. Jakmile má opustit server (stažení na notebook, kopie mimo dům, jakýkoli cloud), zašifrujte ho: nastavte KB_BACKUP_PASSPHRASE a skript místo toho vytvoří kb-backup-RRRR-MM-DD.tgz.gpg (symetrické GPG, AES-256).

bash
export KB_BACKUP_PASSPHRASE='dlouhe-heslo-ktere-znate-jen-vy'
./backup.sh                              # → kb-backup-RRRR-MM-DD.tgz.gpg
./backup.sh restore kb-backup-....tgz.gpg   # stejné heslo, jinak se gpg zeptá

restore bere obojí — prosté .tgz i .tgz.gpg — takže starší nešifrované zálohy fungují dál. Heslo držte mimo server i mimo repozitář, ideálně ve správci hesel. Žádná záchrana neexistuje: bez hesla je archiv nečitelný pro všechny, včetně vás.

Ručně ​

Zálohujete zkopírováním složky pb_data, obnovujete jejím vrácením zpět. Opravdu v tom nic víc není.

bash
docker compose down
tar czf kb-backup-$(date +%F).tgz pb_data
docker compose up -d

Před větší aktualizací si zálohu udělejte

Databázové migrace se pouštějí automaticky při startu a jdou jen dopředu. Záloha pořízená před docker compose up -d --build je rozdíl mezi blbým odpolednem a blbým týdnem.

Zálohu ověřte, nespoléhejte na ni ​

Záloha, kterou jste nikdy neobnovili, je hypotéza. Jednou si ji nanečisto rozbalte:

bash
mkdir /tmp/kb-restore-test && cd /tmp/kb-restore-test
tar xzf /cesta/k/kb-backup-2026-07-30.tgz
ls pb_data          # měli byste vidět data.db a složku se soubory

Co v záloze NENÍ ​

.env a docker-compose.override.yml jsou konfigurace, ne data — skript je nepřikládá. Uložte si je taky; bez nich naskočí obnovená instance s výchozími porty, bez AI a bez přihlášení přes Google.

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