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

Ako hostovať CloudBeaver vo vlastnej réžii v roku 2026: databázové ovládače, pracovný priestor a prístup

Hostujte CloudBeaver vo vlastnej réžii so správnymi portami, persistentným úložiskom, HTTPS, secrets, zálohami a kontrolami aktualizácií. Zistite, ako opraviť zlyhanie oprávnení pracovného priestoru.

Najkratšie demo CloudBeaver dokazuje, že proces počúva na porte 8978. Produkčné nasadenie si vyžaduje presvedčivejšie dôkazy. Tento scenár musí prejsť aj po nahradení kontajnera: dokončiť nastavenie administrátora, nainštalovať potrebný ovládač, pripojiť sa cez private hostname a vykonať read-only query.

CloudBeaver sa nasadzuje s jasným účelom: ako browser database client pre Postgres, MySQL a ďalšie databázy. Najčastejším problémom pri nasadení je zlyhanie oprávnení pracovného priestoru alebo nemožnosť kontajnerového DNS preložiť hosty databáz, preto treba venovať public URL handling a durable state rovnakú pozornosť ako spusteniu image.

Obnovte CloudBeaver na prázdnom hoste

Ešte pred vytvorením prvého skutočného záznamu si spíšte stav: pracovný priestor, používateľov, definície pripojení a úložisko credentials. Pred bootstrapom pripojte /opt/cloudbeaver/workspace, zapíšte neškodné testovacie dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne persistentná. Pripojenie potvrďte zápisom neškodných dát, nahradením CloudBeaver a ich opätovným načítaním.

Snapshots sú užitočné na rýchly rollback, no v prípade straty hosta alebo volume potrebujete aj nezávislú zálohu. Obnovte dáta do prázdneho prostredia s pripnutou image a overte, že sa vrátia pracovný priestor, používatelia, ovládače a pripojenia, pričom každá podkladová databáza bude mať vlastný plán zálohovania. Na zachovanie rozdielu medzi týmito dvoma mechanizmami obnovy použite persistent volumes and snapshots.

Spustite CloudBeaver s pozorovateľnými predvolenými nastaveniami

Nasledujúci príkaz zviditeľní hranicu kontajnera bez predstierania, že zabezpečuje provisioning každej externej služby.

docker run -d \
  --name cloudbeaver \
  --restart unless-stopped \
  -p 127.0.0.1:8978:8978 \
  -v cloudbeaver-data:/opt/cloudbeaver/workspace \
  -e CB_SERVER_NAME=CloudBeaver \
  dbeaver/cloudbeaver:latest

Pred otvorením ingressu skontrolujte vyriešené prostredie, mounty a listener. Pridajte skontrolované nastavenia pripojenia pre private routes a databázové ovládače pre každú cieľovú databázu; pre private services používajte private names. Úspešné spustenie nastáva až vtedy, keď dokážete dokončiť nastavenie administrátora, nainštalovať potrebný ovládač, pripojiť sa cez private hostname a vykonať read-only query, nie vtedy, keď docker ps vypíše Up.

Od čoho CloudBeaver závisí

HTTP proces CloudBeaver počúva na porte 8978; tento port ponechajte v application network a publikujte iba platform route. Network contract pre CloudBeaver tvoria private routes a databázové ovládače pre každú cieľovú databázu. Private endpoints ponechajte na internal DNS, povoľte iba potrebné odchádzajúce volania a CloudBeaveru prideľte service credential s obmedzeným rozsahom.

Hranicu si zapíšte ako krátky contract: kto požiadavku vlastní, ktorý credential sa používa, aký timeout je prijateľný a ako sa prejaví zlyhanie. Potom spustite túto transakciu: dokončite nastavenie administrátora, nainštalujte potrebný ovládač, pripojte sa cez private hostname a vykonajte read-only query. Počas behu sledujte stav pracovného priestoru, sťahovanie ovládačov, počet súbežných sessions a network latency ku každej databáze, pretože táto záťaž poskytne užitočnejší východiskový sizing než nečinný kontajner.

Rozlišujte interné a externé URL

Verejná hranica pre CloudBeaver by mala pozostávať z jedného canonical hostname, automatického TLS a jedného interného targetu na porte 8978. Nastavte server URL a proxy headers pre verejný HTTPS origin, aby sa klienti vracali na adresu, ktorú služba rozpoznáva.

Ak acceptance transaction zlyhá, klasifikujte prvú chybu. Problémy s DNS, certifikátom a 502 patria do TLS validation checklist. Stav „workspace permissions fail or container DNS cannot resolve database hosts“ patrí na stranu aplikácie až po úspešnom doručení požiadavky do CloudBeaver.

Produkčný acceptance run pre CloudBeaver

Nepoužívajte traffic prvého používateľa ako acceptance test pre CloudBeaver. Pripravte neškodný testovací stav a spustite úplnú akciu „dokončiť nastavenie administrátora, nainštalovať potrebný ovládač, pripojiť sa cez private hostname a vykonať read-only query“. Zaznamenajte presnú public URL, výsledok, image reference a interval logov súvisiaci s behom.

Nahraďte kontajner a zopakujte test bez opätovného vytvárania dát. Ďalej obnovte systém na prázdnom hoste; podmienkou obnovy je, že sa vrátia pracovný priestor, používatelia, ovládače a pripojenia, pričom každá podkladová databáza bude mať vlastný plán zálohovania. Pri každom priechode sledujte stav pracovného priestoru, sťahovanie ovládačov, počet súbežných sessions a network latency ku každej databáze a nastavte alert na zhoršenie transakcie, nie na metriky nečinného kontajnera.

Jedna záverečná kontrola by mala zámerne zlyhať: dočasne odoberte testovacej identite prístup k private routes a databázovým ovládačom pre každú cieľovú databázu. Overte, že výsledná správa CloudBeaver identifikuje príslušnú hranicu namiesto spustenia mazania dát alebo nekonečného reštartovania. Obnovte správny stav a potvrďte, že rovnaká testovacia transakcia opäť prejde. Toto krátke cvičenie ponechajte v release checklist.

Diagnostika CloudBeaveru, ktorý vyzerá zdravo

Prvou užitočnou operational metric pre CloudBeaver je informácia, či dokáže dokončiť nastavenie administrátora, nainštalovať potrebný ovládač, pripojiť sa cez private hostname a vykonať read-only query. Doplňte ju o saturation signals pre stav pracovného priestoru, sťahovanie ovládačov, počet súbežných sessions a network latency ku každej databáze. Probe zameraný iba na proces by nemal volať náročné dependencies ani reštartovať kontajner len preto, že upstream je krátkodobo nedostupný.

K aktualizáciám pristupujte ako k zmenám dát, pretože migrácie pracovného priestoru CloudBeaver a kompatibilita ovládačov sa musia otestovať pred zmenou verzií image. Pripnite verzie, nacvičte obnovu na obnovenom stave a ponechajte predchádzajúcu image k dispozícii, kým rollback zostane platný. Keď zlyhajú oprávnenia pracovného priestoru alebo kontajnerové DNS nedokáže preložiť hosty databáz, uchovajte logy z obdobia pred reštartom; zvyčajne obsahujú kauzálnu správu.

Bezpečnostné rozhodnutia špecifické pre CloudBeaver

Bezpečnostné predpoklady z lokálneho tutoriálu automaticky nepreberajte. Špecifickým problémom CloudBeaveru je povolenie anonymous access k produkčným databázovým pripojeniam. Produkcia by preto mala zakázať anonymous administration, používať individuálnych používateľov a databázovým účtom udeliť iba oprávnenia potrebné pre jednotlivé pripojenia.

CB_SERVER_NAME ovplyvňuje správanie, nie dôvernosť; overte jeho typ a hodnotu a skutočné credentials CloudBeaveru ukladajte samostatne. Obmedzte filesystem access a network access, chráňte setup endpoints a nastavte limity uploadu, požiadaviek alebo vykonávania pre stav pracovného priestoru, sťahovanie ovládačov, počet súbežných sessions a network latency ku každej databáze.

Nasadenie cez Dockup stále potrebuje acceptance test pre CloudBeaver

One-click nasadenie CloudBeaveru cez Dockup by malo zaistiť bezpečné nahradenie: route bude naďalej smerovať na port 8978, secrets nebudú zabudované v image a persistent paths sa vrátia v novom kontajneri. Rovnaké nasadenie môže bežať na Dockup compute alebo na pripojenom stroji.

Dokončite prácu špecifickú pre aplikáciu pripojením a testovaním private routes a databázových ovládačov pre každú cieľovú databázu, použitím canonical public address a spustením tejto acceptance check: dokončite nastavenie administrátora, nainštalujte potrebný ovládač, pripojte sa cez private hostname a vykonajte read-only query. Výsledok obnovy pridajte do runbooku ešte pred príchodom skutočných používateľov.

Často kladené otázky

Čo CloudBeaver potrebuje na produkčné nasadenie?

Nasmerujte kontajner CloudBeaveru na porte 8978 cez jeden HTTPS origin. Podpornú network requirement tvoria private routes a databázové ovládače pre každú cieľovú databázu. CloudBeaver neoznačujte za pripravený, kým nedokážete dokončiť nastavenie administrátora, nainštalovať potrebný ovládač, pripojiť sa cez private hostname a vykonať read-only query.

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

Zachovajte /opt/cloudbeaver/workspace a do rovnakého recovery manifestu zahrňte pracovný priestor, používateľov, definície pripojení a úložisko credentials. Čistá obnova CloudBeaveru je úspešná iba vtedy, keď sa vrátia pracovný priestor, používatelia, ovládače a pripojenia, pričom každá podkladová databáza bude mať vlastný plán zálohovania.

Vyžaduje CloudBeaver HTTPS za reverse proxy?

Pre verejný CloudBeaver origin používajte HTTPS a port 8978 ponechajte na internej route. Nastavenie CloudBeaveru aplikujte správne: nastavte server URL a proxy headers pre verejný HTTPS origin. V prípade CloudBeaveru HTTPS chráni credentials alebo obsah používateľov pri prenose a zachováva konzistentné správanie klienta závislé od originu.

Ako testovať aktualizáciu CloudBeaveru?

Obnovte aktuálny stav CloudBeaveru do izolovaného nasadenia, použite kandidátnu verziu a zopakujte jeho acceptance transaction. Venujte tomu osobitnú pozornosť, pretože migrácie pracovného priestoru CloudBeaver a kompatibilita ovládačov sa musia otestovať pred zmenou verzií image. Predchádzajúcu image CloudBeaveru ponechajte k dispozícii, kým nebudú jasné hranice migrácie dát a rollbacku.