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

Ako si v roku 2026 hostovať Homarr: dashboardy, secrets a live tiles

Praktický návod na self-hosting Homarr, ktorý pokrýva Docker, porty, persistentné dáta, TLS, bezpečnosť, zálohy a zlyhania blokujúce produkčné použitie. Krok za krokom.

Kontajner Homarr môže byť v stave green, zatiaľ čo úloha, na ktorej používateľom záleží, je nefunkčná. Pri Homarr je skrytou príčinou zvyčajne to, že widgets sa nedokážu pripojiť k službám, pretože používajú adresy dostupné iba na hostiteľovi. Tento návod považuje za akceptačný test „vytvoriť board, pridať service tile, nakonfigurovať jednu integráciu s credentialmi a po reštarte potvrdiť live status a search“ a deployment navrhuje spätne odvíjajúc sa od tohto výsledku.

Homarr má v stacku konkrétnu úlohu: searchable dashboard s live tiles pre self-hosted služby. Produkčnou otázkou preto nie je, či port 7575 raz odpovie, ale či budú state, dependencies a verejná adresa naďalej konzistentné po reštarte, update a restore.

Najprv si definujte, čo znamená úspech pre Homarr

Nenechajte image Homarr, aby náhodne určoval produkčnú architektúru. Image poskytuje process na porte 7575; storage, routing a externé požiadavky však stále potrebujú premyslené lifecycles. Lokálna runtime požiadavka pozostáva z persistentných app dát a credentials pre live integrations. Toto musí byť súčasťou capacity a mount plánu s určeným vlastníkom a merateľným limitom.

Deployment je pripravený na podrobnejšie testovanie vtedy, keď dokáže vytvoriť board, pridať service tile, nakonfigurovať jednu integráciu s credentialmi a po reštarte potvrdiť live status a search. Sledujte túto transakciu v logoch a monitorujte widget request fan-out, downstream API latency, veľkosť app dát a počet súbežných dashboard klientov. Tieto pozorovania ukážu, či aktuálna topológia izoluje správny komponent.

Nacvičte si rizikovú zmenu v Homarr

Green kontajner je nevyhnutný, ale nie postačujúci. Service-level indicator je úspešné dokončenie akcie „vytvoriť board, pridať service tile, nakonfigurovať jednu integráciu s credentialmi a po reštarte potvrdiť live status a search“, pričom pravdepodobnými pressure signals sú widget request fan-out, downstream API latency, veľkosť app dát a počet súbežných dashboard klientov.

Change control je dôležitý, pretože schema migrations v Homarr a kontinuita encryption key môžu ovplyvniť uložené integration credentials. Zachovajte starý image, migrácie testujte na skopírovanom stave a zdokumentujte, či je po zmene schémy podporovaný rollback. Ak sa widgets nedokážu pripojiť k službám, pretože používajú adresy dostupné iba na hostiteľovi, diagnostikujte prvú hranicu, ktorá sa líši od fungujúceho prostredia.

Zdokumentujte overený deployment Homarr

Nerobte z trafficu prvých používateľov akceptačný test pre Homarr. Pripravte neškodný sample state a spustite kompletnú akciu „vytvoriť board, pridať service tile, nakonfigurovať jednu integráciu s credentialmi a po reštarte potvrdiť live status a search“. Poznačte si presnú verejnú URL, výsledok, referenciu image a interval logov spojený s týmto behom.

Nahraďte kontajner a zopakujte test bez opätovného vytvárania dát. Potom vykonajte recovery na prázdnom hoste; podmienkou recovery je, že sa vrátia boards, users, integrations a custom assets a credentialed widgets sa znova pripoja. Pri každom priechode sledujte widget request fan-out, downstream API latency, veľkosť app dát a počet súbežných dashboard klientov a nastavte alert na degradáciu transakcie, nie na metriky nečinného kontajnera.

Jedna záverečná kontrola by mala zámerne zlyhať: odošlite neškodný vstup blízko resource alebo format limitu spojeného s touto hranicou: widgets sa nedokážu pripojiť k službám, pretože používajú adresy dostupné iba na hostiteľovi. Overte, že výsledná správa Homarr identifikuje relevantnú hranicu namiesto vymazania dát alebo nekonečného reštartovania. Obnovte platný stav a potvrďte, že rovnaká sample transakcia opäť prejde. Toto krátke cvičenie ponechajte v release checkliste.

Spustite prvú inštanciu v produkčnom tvare

Prvý kontajner by sa mal dať jednoducho zmazať a znova vytvoriť. Dáta uchovávajte mimo writable layer, port 7575 bindujte iba tam, kam sa dokáže pripojiť proxy, a konfiguráciu odovzdávajte počas runtime.

docker run -d \
  --name homarr \
  --restart unless-stopped \
  -p 127.0.0.1:7575:7575 \
  -v homarr-data:/appdata \
  -e SECRET_ENCRYPTION_KEY=replace-with-a-long-random-value \
  ghcr.io/homarr-labs/homarr:latest

Po úvodnom teste image pinujte. Prečítajte si najskoršiu startup chybu, nie poslednú správu o reštarte, každý mount overte pomocou docker inspect a sledujte logy, zatiaľ čo vytvoríte board, pridáte service tile, nakonfigurujete jednu integráciu s credentialmi a po reštarte potvrdíte live status a search. Táto postupnosť odlíši nesprávny príkaz image od problému s dependency alebo permissions.

Volumes sú iba prvou recovery vrstvou

Pri Homarr sa bezpečnosť redeploy začína pri boards, users, integrations, secrets a custom assets. Pred bootstrapom mountnite /appdata, zapíšte neškodné sample dáta a nahraďte kontajner, aby ste dokázali, že táto cesta je skutočne persistentná. Cestu otestujte nahradením kontajnera v čase, keď sample dáta ešte existujú; odhalíte tak mounty smerujúce o jeden adresár príliš vysoko alebo nízko.

Potom otestujte disaster recovery na prázdnom hoste. Tam, kde je to potrebné, použite application-consistent database export a overte, že sa vrátia boards, users, integrations a custom assets a credentialed widgets sa znova pripoja. Návod na database backups overené obnovou poskytuje lepší cieľ než iba kontrola, či bol vytvorený súbor archívu.

Zabráňte tomu, aby úspech proxy zakryl zlyhanie aplikácie

Browser, API client a Homarr sa musia zhodovať na jednom origine. Aby to platilo, nastavte externý HTTPS hostname a povolené origins. Zachovajte pôvodný host a protocol a zároveň ponechajte port 7575 nedostupný ako konkurenčnú verejnú adresu.

Návod na riešenie problémov, keď je web nedostupný pomáha odlíšiť nedostupnú route od aplikácie, ktorá odpovedá. Tento rozdiel je tu dôležitý: widgets sa nedokážu pripojiť k službám, pretože používajú adresy dostupné iba na hostiteľovi. Zmeny na ingress vyriešia iba prvý problém; druhý si vyžaduje kontrolu logov, state alebo workloadu Homarr.

Zrušte dočasný setup access

Bezpečný deployment Homarr sa začína odobratím authority. Po uložení integration secrets nemeňte encryption key; namiesto toho udržujte SECRET_ENCRYPTION_KEY stabilný, chráňte úpravy boardov a obmedzte každý widget credential.

SECRET_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ý application state. Obmedzte administratívne routes, pre dependencies používajte private DNS a skontrolujte každý bind mount. Ak sa logy odosielajú do centrálneho systému, ešte pred opustením servera z nich odstráňte secrets a private content.

Presuňte opakovateľnú infraštruktúrnu prácu do Dockup

Pri Homarr je Dockup najužitočnejší na hranici medzi imagom a durable service. Udržiava route na 7575, TLS, secret values a storage pripojené aj po výmene kontajnerov bez ohľadu na to, či compute patrí Dockup alebo vášmu pripojenému serveru.

Na záver doplňte aplikačné nastavenia: nastavte externý HTTPS hostname a povolené origins; potvrďte lokálnu požiadavku — persistentné app dáta a credentials pre live integrations; a spustite toto overenie: vytvorte board, pridajte service tile, nakonfigurujte jednu integráciu s credentialmi a po reštarte potvrďte live status a search. Výsledok uchovajte ako deployment check, aby sa ďalší update image posudzoval podľa správania, nie podľa stavu kontajnera.

Často kladené otázky

Čo Homarr potrebuje na produkčný deployment?

Kontajner Homarr routujte cez port 7575 na jeden HTTPS origin. Lokálna runtime požiadavka pozostáva z persistentných app dát a credentials pre live integrations. Homarr nepovažujte za pripravený, kým nedokážete vytvoriť board, pridať service tile, nakonfigurovať jednu integráciu s credentialmi a po reštarte potvrdiť live status a search.

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

Persistujte /appdata a do rovnakého recovery manifestu zahrňte boards, users, integrations, secrets a custom assets. Čistý restore Homarr je úspešný až vtedy, keď sa vrátia boards, users, integrations a custom assets a credentialed widgets sa znova pripoja.

Vyžaduje Homarr za reverse proxy HTTPS?

Pre verejný origin Homarr používajte HTTPS a port 7575 ponechajte na internej route. Nastavenie Homarr aplikujte správne: nastavte externý HTTPS hostname a povolené origins. Pri Homarr HTTPS chráni credentials alebo obsah používateľov počas prenosu a udržiava konzistentné správanie clienta závislé od originu.

Ako testovať upgrade Homarr?

Obnovte aktuálny state Homarr do izolovaného deploymentu, aplikujte kandidátnu verziu a zopakujte jeho akceptačnú transakciu. Venujte tomu mimoriadnu pozornosť, pretože schema migrations v Homarr a kontinuita encryption key môžu ovplyvniť uložené integration credentials. Predchádzajúci image Homarr si ponechajte, kým nebudete rozumieť hranici migrácie dát a rollbacku.