Index denníkaDockup / poznámka z terénu
Note / self-host-kanboard

Ako prevádzkovať Kanboard na vlastnej infraštruktúre v roku 2026: SQLite, pluginy a bezpečné aktualizácie

Praktický návod na prevádzku Kanboard na vlastnej infraštruktúre, ktorý pokrýva Docker, porty, trvalé dáta, TLS, bezpečnosť, zálohy a zlyhania blokujúce produkčné nasadenie. Vrátane kontrol.

Neúspešné nasadenie Kanboard nemusí vždy spadnúť. Môže zobrazovať prihlasovaciu stránku, zatiaľ čo SQLite nedokáže zapisovať, pretože pripojený dátový priečinok má nesprávneho vlastníka. Namiesto toho začnite komplexnou kontrolou: zmeňte predvolené prihlasovacie údaje, vytvorte projekt a úlohu, presuňte ju medzi stĺpcami, nahrajte súbor a otestujte jeden nainštalovaný plugin.

Táto kontrola zodpovedá zdokumentovanému účelu Kanboard: minimalistickej kanban tabuľi postavenej na SQLite. Zároveň odhalí chýbajúce závislosti, nesprávne predpoklady o proxy a efemérne dáta skôr, než to dokáže kontrola dostupnosti.

Oddeľte Kanboard od jeho závislostí

Najmenšia zodpovedná topológia Kanboard pozostáva z jedného privátneho listenera na porte 80, ingress route a zdokumentovanej hranice stavu. Lokálna runtime požiadavka je zapisovateľný dátový volume a voliteľné SMTP. Životný cyklus udržiavajte explicitný, aby presun Kanboard medzi hostiteľmi potichu nezmenil jeho správanie.

Topológiu overte tak, že z čistého klienta zmeníte predvolené prihlasovacie údaje, vytvoríte projekt a úlohu, presuniete ju medzi stĺpcami, nahráte súbor a otestujete jeden nainštalovaný plugin. Počas behu sledujte locking SQLite, objem príloh, akcie na pozadí a správanie pluginu pri súčasnom používaní viacerými používateľmi. Výsledok vám ukáže, či ďalšie zlepšenie patrí do oblasti pamäte, storage, networkingu alebo samostatného workera, namiesto toho, aby vás viedol k náhodnému dimenzovaniu kontajnera.

Domény, proxy hlavičky a port 80

Vydanie TLS certifikátu je iba polovicou route pre Kanboard. Tabuľu sprístupnite cez HTTPS a nastavte URL aplikácie, ak ju pluginy potrebujú. Premávku smerujte interne na port 80 a odovzdávajte externú schému, aby generované URL a secure cookies zostali konzistentné.

Kompletný scenár Kanboard spúšťajte z čistej siete, nielen kontrolou koreňovej stránky. Chybu 502 alebo zlyhanie certifikátu môžete izolovať pomocou automatického nastavenia domény a TLS. Ak premávka dosiahne proces a SQLite nedokáže zapisovať, pretože pripojený dátový priečinok má nesprávneho vlastníka, diagnostikujte tento stav tam, kde vzniká, namiesto pridávania ďalších redirectov.

Zaistite reprodukovateľné spúšťanie Kanboard

Produkčne pripravené spustenie je zámerne jednoduché: pomenovaný stav, explicitný port a žiadne secret v image.

docker run -d \
  --name kanboard \
  --restart unless-stopped \
  -p 127.0.0.1:80:80 \
  -v kanboard-data:/var/www/app/data \
  kanboard/kanboard:latest

Príklad je východiskovým bodom, nie kompletným supporting stackom. Pred vystavením služby overte lokálnu požiadavku: zapisovateľný dátový volume a voliteľné SMTP. Skontrolujte efektívne mounts a listener, potom skúste zmeniť predvolené prihlasovacie údaje, vytvoriť projekt a úlohu, presunúť ju medzi stĺpcami, nahrať súbor a otestovať jeden nainštalovaný plugin. Pred ďalším reštartom pripnite funkčnú image na konkrétnu verziu.

Sledujte workload, nielen kontajner

Pri Kanboard sledujte transakciu, nie iba proces: zmeňte predvolené prihlasovacie údaje, vytvorte projekt a úlohu, presuňte ju medzi stĺpcami, nahrajte súbor a otestujte jeden nainštalovaný plugin. Jej latenciu a mieru chýb kombinujte s lockingom SQLite, objemom príloh, akciami na pozadí a správaním pluginu pri súčasnom používaní viacerými používateľmi, aby alert identifikoval komponent s nedostatkom kapacity.

Test aktualizácie musí zahŕňať skutočnosť, že databázové migrácie a kompatibilita pluginov si pred aktualizáciou image Kanboard zaslúžia snapshot. Pred nahradením produkcie obnovte dáta, vykonajte migráciu a spustite transakciu. Ak SQLite nedokáže zapisovať, pretože pripojený dátový priečinok má nesprávneho vlastníka, nemažte dáta len preto, aby štart vyzeral úspešne; porovnajte verziu, premenné, mounts a dostupnosť závislostí v tomto poradí.

Overte nasadenie Kanboard od začiatku do konca

Produkčná brána pre Kanboard musí byť spustiteľná osobou, ktorá nasadenie nevytvorila. Dajte jej pripnutú verziu, testovací účet bez citlivých údajov a túto úlohu: zmeňte predvolené prihlasovacie údaje, vytvorte projekt a úlohu, presuňte ju medzi stĺpcami, nahrajte súbor a otestujte jeden nainštalovaný plugin. Ak pokyny vyžadujú nezdokumentovaný shell access, služba ešte nie je prevádzkovo pripravená.

Bránu zopakujte po nahradení iba kontajnera. Potom obnovte databázu SQLite, nahrané súbory, pluginy a konfiguráciu do prázdnej infraštruktúry a overte, že sa vrátia projekty, história úloh, používatelia, prílohy a pluginy a že obnovená tabuľa prijme novú úlohu. Počas oboch úspešných behov merajte locking SQLite, objem príloh, akcie na pozadí a správanie pluginu pri súčasnom používaní viacerými používateľmi; neočakávané rozdiely často odhalia chýbajúcu cache, index, workera alebo data mount.

Pridajte aj nácvik zlyhania: odošlite neškodný vstup blízko limitu zdroja alebo formátu súvisiaceho s touto hranicou: SQLite nedokáže zapisovať, pretože pripojený dátový priečinok má nesprávneho vlastníka. Kanboard by mal zaznamenať užitočnú chybu, zachovať existujúci stav a po návrate platných podmienok sa zotaviť. Uložte časové pečiatky a relevantné riadky z logu, pričom secrets redigujte. Tieto dôkazy sa stanú referenciou pre ďalšiu zmenu image alebo konfigurácie.

Volumes sú iba prvou vrstvou obnovy

Vytvorte recovery manifest pre Kanboard: databázu SQLite, nahrané súbory, pluginy a konfiguráciu. Pripojte /var/www/app/data ešte pred bootstrapom, zapíšte neškodné vzorové dáta a nahradením kontajnera overte, že táto cesta je skutočne persistentná. Vlastníctvo a voľné miesto skontrolujte už teraz, pretože pripojená, ale nezapisovateľná cesta sa správa, akoby neposkytovala žiadnu perzistenciu.

Zálohujte do failure domainu oddeleného od bežiaceho servera. Obnovte Kanboard z pripnutej image a overte, že sa vrátia projekty, história úloh, používatelia, prílohy a pluginy a že obnovená tabuľa prijme novú úlohu. Sprievodca persistent volumes pomáha preniesť toto cvičenie do politiky snapshotov a retencie.

Chráňte to, čo je v Kanboard cenné

Bezpečné nasadenie Kanboard sa začína odstránením nadmerných oprávnení. Neponechávajte predvolené prihlasovacie údaje admin/admin; namiesto toho okamžite odstráňte admin/admin, obmedzte prístup k projektom a pred udelením prístupu k produkčným dátam skontrolujte pluginy.

Kanboard v tomto základnom nastavení nevyžaduje povinný bootstrap secret; chráňte skutočný účet administrátora alebo upstream autentifikáciu. Obmedzte administratívne routes, pre závislosti používajte privátne DNS a skontrolujte každý bind mount. Ak sa logy odosielajú centrálne, pred opustením servera z nich odfiltrujte secrets a súkromný obsah.

Kde Dockup odstraňuje prácu pri Kanboard

Šablóna Dockup by mala kódovať image, port 80, mounts, health timing, doménu, TLS a doručovanie secretov. Dockup by mal zachovať runtime nastavenia Kanboard, zatiaľ čo operátor overí túto lokálnu požiadavku: zapisovateľný dátový volume a voliteľné SMTP. To isté nasadenie môže cieliť na servery Dockup alebo kapacitu pripojenú zákazníkom.

Po sprístupnení route použite verejné nastavenie a skúste zmeniť predvolené prihlasovacie údaje, vytvoriť projekt a úlohu, presunúť ju medzi stĺpcami, nahrať súbor a otestovať jeden nainštalovaný plugin. Zálohujte databázu SQLite, nahrané súbory, pluginy a konfiguráciu a cvičenie obnovy zahrňte do prevádzkového plánu; ide o zodpovednosti Kanboard, ktoré zostávajú viditeľné aj po provisioningu infraštruktúry.

Často kladené otázky

Čo Kanboard potrebuje na produkčné nasadenie?

Kontajner Kanboard smerujte cez jeden HTTPS origin na port 80. Lokálna runtime požiadavka je zapisovateľný dátový volume a voliteľné SMTP. Kanboard neoznačujte za pripravený, kým nedokážete zmeniť predvolené prihlasovacie údaje, vytvoriť projekt a úlohu, presunúť ju medzi stĺpcami, nahrať súbor a otestovať jeden nainštalovaný plugin.

Ktoré dáta Kanboard patria do zálohy?

Zachovajte /var/www/app/data a do rovnakého recovery manifestu zahrňte databázu SQLite, nahrané súbory, pluginy a konfiguráciu. Čistá obnova Kanboard je úspešná iba vtedy, keď sa vrátia projekty, história úloh, používatelia, prílohy a pluginy a obnovená tabuľa prijme novú úlohu.

Vyžaduje Kanboard za reverse proxy HTTPS?

Pre verejný origin Kanboard používajte HTTPS a port 80 ponechajte na internej route. Nastavenie Kanboard aplikujte správne: tabuľu sprístupnite cez HTTPS a nastavte URL aplikácie, ak ju pluginy potrebujú. Pri Kanboard HTTPS chráni prihlasovacie údaje alebo používateľský obsah počas prenosu a zachováva konzistentné správanie klienta závislé od originu.

Ako testovať aktualizáciu Kanboard?

Obnovte aktuálny stav Kanboard do izolovaného nasadenia, použite kandidátnu verziu a zopakujte akceptačnú transakciu. Venujte osobitnú pozornosť tomu, že databázové migrácie a kompatibilita pluginov si pred aktualizáciou image Kanboard zaslúžia snapshot. Predchádzajúcu image Kanboard si ponechajte, kým nebudete rozumieť hranici migrácie dát a rollbacku.