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

Ako hostovať Duplicati vo vlastnej réžii v roku 2026: šifrované zálohy, mounty a testy obnovy

Praktický návod na self-hosting Duplicati, ktorý pokrýva Docker, porty, perzistentné dáta, TLS, bezpečnosť, zálohy a zlyhania brániace produkčnému použitiu. V roku 2026.

Ak ste sa už pokúšali hostovať Duplicati vo vlastnej réžii, tento frustrujúci stav vám bude pravdepodobne známy: používateľské rozhranie sa zobrazí, ale kontajner vidí prázdnu cestu, pretože zdrojové adresáre z hostiteľa boli pripojené inde. Opätovné vytvorenie kontajnera len zriedka vyrieši nesúlad medzi URL adresami, stavom a závislosťami.

Tento postup používa jedno konkrétne kritérium dokončenia — zálohovať testovací adresár do zvoleného cieľa, odstrániť zdrojový súbor a obnoviť ho do čistého alternatívneho umiestnenia. Každé konfiguračné rozhodnutie sa posudzuje podľa tohto kritéria, nie podľa zelenej ikony kontajnera.

Porty, procesy a privátne služby

Užitočný diagram Duplicati zobrazuje verejnú route, privátny port 8200, hranicu stavu a všetky podporné požiadavky. Označte, ktoré šípky prenášajú prihlasovacie údaje a ktoré predstavujú bežnú používateľskú prevádzku. Sieťový kontrakt pre Duplicati tvoria mounty zdrojov iba na čítanie a dostupné úložisko cieľa zálohovania. Privátne endpointy ponechajte na internom DNS, povoľte iba potrebné odchádzajúce spojenia a Duplicati priraďte service credential s obmedzeným rozsahom oprávnení.

Diagram overte jednou reálnou akciou: zálohujte testovací adresár do zvoleného cieľa, odstráňte zdrojový súbor a obnovte ho do čistého alternatívneho umiestnenia. Najväčší tlak pravdepodobne spôsobí počet zdrojových súborov, kompresia, šifrovanie, latencia cieľa a prekrývanie naplánovaných úloh; monitorujte túto cestu namiesto toho, aby ste všetky HTTP požiadavky považovali za rovnocenné.

Diagnostika Duplicati, ktorý vyzerá zdravo

Dashboardy zostavte okolo počtu zdrojových súborov, kompresie, šifrovania, latencie cieľa a prekrývania naplánovaných úloh. Graf CPU bez kontextu tejto záťaže nedokáže vysvetliť, prečo je Duplicati pomalé. Pridajte syntetickú alebo naplánovanú kontrolu, ktorá sa pokúsi zálohovať testovací adresár do zvoleného cieľa, odstrániť zdrojový súbor a obnoviť ho do čistého alternatívneho umiestnenia s použitím neškodných testovacích dát.

Pred aktualizáciou zohľadnite toto špecifické riziko aplikácie: zmeny konfiguračnej databázy a formátu záloh Duplicati treba otestovať bez prepísania jedinej vzdialenej zálohy. Obnovte nedávnu zálohu do izolovaného deploymentu, spustite tam migrácie a porovnajte správanie. Ak kontajner vidí prázdnu cestu, pretože zdrojové adresáre z hostiteľa boli pripojené inde, najprv skontrolujte príslušnú hranicu — verejný origin, úložisko alebo závislosť — a až potom upravujte nesúvisiace nastavenia.

Čo musí prejsť, kým Duplicati dostane skutočné dáta

Záznam o release pre Duplicati musí obsahovať fakty, nie konštatovanie „vyzerá dobre“. Uložte digest vybraného image, checksum konfigurácie, verejný hostname a výsledok s časovou pečiatkou pre túto operáciu: zálohovať testovací adresár do zvoleného cieľa, odstrániť zdrojový súbor a obnoviť ho do čistého alternatívneho umiestnenia. Použite neprodukčné vzorové dáta, aby sa kontrola mohla spustiť po každom deploymente.

Dve udalosti životného cyklu overte samostatne. Nahradenie kontajnera musí zachovať bežnú prevádzku; čistá obnova musí preukázať, že nová inštancia Duplicati dokáže importovať konfiguráciu a obnoviť vybrané súbory s overenými hashmi. Počas kontrol merajte počet zdrojových súborov, kompresiu, šifrovanie, latenciu cieľa a prekrývanie naplánovaných úloh a výsledok uchovajte ako očakávaný rozsah pre túto verziu.

Otestujte aj zamietnutý alebo neplatný stav: dočasne odoberte testovanej identite prístup k mountom zdrojov iba na čítanie a k dostupnému úložisku cieľa zálohovania. Duplicati by malo zlyhať spôsobom, ktorý sa dá diagnostikovať, a nemalo by prepísať funkčný stav. Obnovte platný stav, znova spustite vzorovú operáciu a priložte relevantné redigované logy. Tieto artefakty poskytnú pri budúcom rozhodovaní o rollbacku konkrétne dôkazy.

Premeňte lokálny príkaz na kontrolovateľnú službu

Nasledujúci príkaz zviditeľní hranicu kontajnera bez predstierania, že zabezpečí provisioning všetkých externých služieb.

docker run -d \
  --name duplicati \
  --restart unless-stopped \
  -p 127.0.0.1:8200:8200 \
  -v duplicati-data:/config \
  -v /srv/data:/source:ro \
  -e SETTINGS_ENCRYPTION_KEY=replace-with-a-long-random-value \
  lscr.io/linuxserver/duplicati:latest

Pred otvorením ingressu skontrolujte vyriešené premenné prostredia, mounty a listener. Pridajte skontrolované connection settings pre mounty zdrojov iba na čítanie a dostupné úložisko cieľa zálohovania; pre privátne služby používajte privátne názvy. Úspešné spustenie nastáva vtedy, keď dokážete zálohovať testovací adresár do zvoleného cieľa, odstrániť zdrojový súbor a obnoviť ho do čistého alternatívneho umiestnenia — nie vtedy, keď docker ps vypíše Up.

Urobte obnovu Duplicati merateľnou

Ešte pred vytvorením prvého skutočného záznamu spíšte stav: konfiguračnú databázu Duplicati a samostatne overené zálohy. Pripojte /config ešte pred bootstrapom, zapíšte neškodné vzorové dáta a nahraďte kontajner, aby ste overili, že táto cesta je skutočne perzistentná. Mount potvrďte zápisom neškodných dát, nahraďte Duplicati a znova ich načítajte.

Snapshoty sú užitočné na rýchly rollback, no v prípade straty hostiteľa alebo volume potrebujete nezávislú zálohu. Obnovte dáta do prázdneho prostredia s pripnutým image a overte, že nová inštancia Duplicati dokáže importovať konfiguráciu a obnoviť vybrané súbory s overenými hashmi. Na odlíšenie týchto dvoch mechanizmov obnovy použite perzistentné volumes a snapshoty.

TLS je jednoduché, generované URL adresy nie

Pre Duplicati vystavte jeden HTTPS hostname; surový port 8200 ponechajte privátny. Management UI ponechajte privátne alebo ho za HTTPS chráňte silnou autentifikáciou. Zabránite tak tomu, aby sa prehliadače a API klienti dozvedeli o dvoch konkurenčných adresách.

Z čistého klienta spustite overenú transakciu a skontrolujte prvú požiadavku, ktorá zlyhá. Ak je problém v DNS alebo TLS, použite návod na custom domain. Tvrdenie „kontajner vidí prázdnu cestu, pretože zdrojové adresáre z hostiteľa boli pripojené inde“ riešte ako samostatnú diagnostiku aplikácie až po overení route.

Po bootstrape zabezpečte Duplicati

Bootstrap prihlasovacie údaje sú dočasné; trust model je trvalý. Pri Duplicati sledujte najmä pripojenie zdrojov záloh s právami na zápis alebo stratu passphrase na šifrovanie. Zdroje pripájajte iba na čítanie, management UI ponechajte privátne a passphrase zálohy uložte mimo servera.

SETTINGS_ENCRYPTION_KEY vygenerujte raz, neukladajte ho do Gitu a zachovajte ho spolu s recovery manifestom, pretože jeho zmena môže zneplatniť šifrovaný alebo podpísaný stav aplikácie. Image spúšťajte bez nepotrebných Linux capabilities a vystavte iba verejnú aplikačnú route. Aktivitu administrátorov majte viditeľnú bez zaznamenávania tajných hodnôt.

Použite Dockup pre platformovú vrstvu

Pre Duplicati dokáže Dockup vytvoriť route a TLS certifikát, zachovať mounty, doručiť secrets a umiestniť mounty zdrojov iba na čítanie spolu s dostupným úložiskom cieľa zálohovania do privátnej siete pri deploymente na Dockup alebo na pripojené servery.

Release gate však stále predstavuje konkrétna transakcia Duplicati: zálohovať testovací adresár do zvoleného cieľa, odstrániť zdrojový súbor a obnoviť ho do čistého alternatívneho umiestnenia. Overte aj podmienku obnovy — nová inštancia Duplicati dokáže importovať konfiguráciu a obnoviť vybrané súbory s overenými hashmi. Tieto dve kontroly ukazujú, či deployment funguje a či ho možno obnoviť.

Často kladené otázky

Čo potrebuje Duplicati na produkčný deployment?

Kontajner Duplicati smerujte na porte 8200 cez jeden HTTPS origin. Podpornú sieťovú požiadavku tvoria mounty zdrojov iba na čítanie a dostupné úložisko cieľa zálohovania. Duplicati nepovažujte za pripravené, kým nedokážete zálohovať testovací adresár do zvoleného cieľa, odstrániť zdrojový súbor a obnoviť ho do čistého alternatívneho umiestnenia.

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

Zachovajte /config a do toho istého recovery manifestu zahrňte konfiguračnú databázu Duplicati aj samostatne overené zálohy. Čistá obnova Duplicati je úspešná až vtedy, keď nová inštancia Duplicati dokáže importovať konfiguráciu a obnoviť vybrané súbory s overenými hashmi.

Vyžaduje Duplicati HTTPS za reverse proxy?

Pre verejný origin Duplicati používajte HTTPS a port 8200 ponechajte na internej route. Nastavenie Duplicati aplikujte správne: management UI ponechajte privátne alebo ho za HTTPS chráňte silnou autentifikáciou. Pri Duplicati 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 Duplicati?

Obnovte aktuálny stav Duplicati do izolovaného deploymentu, aplikujte kandidátnu verziu a zopakujte akceptačnú transakciu. Venujte tomu osobitnú pozornosť, pretože zmeny konfiguračnej databázy a formátu záloh Duplicati treba otestovať bez prepísania jedinej vzdialenej zálohy. Predchádzajúci image Duplicati si ponechajte, kým nebudete rozumieť hraniciam migrácie dát a rollbacku.