Jak hostovat Grocy vlastními silami v roce 2026: data o zásobách, časové pásmo a zálohy
Hostujte Grocy vlastními silami se správně nastavenými porty, persistentním úložištěm, HTTPS, secrets, zálohami a kontrolami aktualizací. Naučte se opravit situaci, kdy databáze SQLite nemůže zapisovat.
Přistupujte ke Grocy jako k malému systému, ne jako k Docker image. Uživatelský účel Grocy je jasný: evidence zásob v domácnosti, potravin, úkolů a vybavení; nasazení je přijatelné teprve tehdy, když můžete nahradit výchozí přihlašovací údaje, přidat produkt, zaznamenat nákup a spotřebu, naskenovat čárový kód a spustit upozornění na úkol nebo expiraci.
Toto rozlišení odhalí problém, se kterým se operátoři setkávají po lokálním testování: databáze SQLite nemůže zapisovat nebo naplánované úkoly používají nesprávné časové pásmo. Zároveň díky němu bude plán zálohování a aktualizací dostatečně konkrétní, aby se dal otestovat.
Porty, procesy a privátní služby
Užitečný diagram Grocy zobrazuje veřejnou trasu, privátní port 80, hranici stavu a všechny podpůrné požadavky. Označte, které šipky přenášejí přihlašovací údaje a které představují běžný uživatelský provoz. Lokální runtime vyžaduje jeden persistentní config volume a volitelný přístup k zařízení pro čtení čárových kódů. Tuto prostředkovou náročnost měřte a monitorujte společně s kontejnerem, místo abyste vystavovali nesouvisející síťovou službu.
Ověřte diagram jednou skutečnou akcí: nahraďte výchozí přihlašovací údaje, přidejte produkt, zaznamenejte nákup a spotřebu, naskenujte čárový kód a spusťte upozornění na úkol nebo expiraci. Pravděpodobná zátěž pochází ze zápisů do SQLite, nahraných obrázků, naplánovaných úloh a provozu zařízení v domácnosti; monitorujte tuto cestu, místo abyste všechny HTTP požadavky považovali za rovnocenné.
Sledujte workload, nejen kontejner
Sledujte práci, kterou Grocy provádí: zápisy do SQLite, nahrané obrázky, naplánované úlohy a provoz zařízení v domácnosti. Nastavte limity s dostatečnou rezervou pro tuto práci a vyhněte se liveness probe, která s ní soutěží o prostředky. Kontrola operátora by se stále měla podle plánu pokusit nahradit výchozí přihlašovací údaje, přidat produkt, zaznamenat nákup a spotřebu, naskenovat čárový kód a spustit upozornění na úkol nebo expiraci.
Při aktualizacích pamatujte, že migrace databáze Grocy a custom extensions je třeba nacvičit na zkopírovaném config adresáři. Kandidátní verzi nasaďte nad obnovenou kopií a zopakujte známý test. Pokud databáze SQLite nemůže zapisovat nebo naplánované úkoly používají nesprávné časové pásmo, použijte runtime logy a skutečný síťový požadavek ke zjištění, který předpoklad se změnil.
Co musí projít, než Grocy začne obsahovat skutečná data
Produkční gate pro Grocy by měl být proveditelný člověkem, který nasazení nevytvořil. Předejte mu pinned verzi, testovací účet bez citlivých údajů a tento úkol: nahradit výchozí přihlašovací údaje, přidat produkt, zaznamenat nákup a spotřebu, naskenovat čárový kód a spustit upozornění na úkol nebo expiraci. Pokud pokyny vyžadují nedokumentovaný shell access, služba ještě není provozně připravena.
Gate zopakujte po výměně samotného kontejneru. Poté obnovte databázi, nahrané soubory, recepty a konfiguraci do prázdné infrastruktury a ověřte, že se vrátí zásoby, recepty, úkoly, vybavení a historie a že následující naplánované upozornění má správné datum. Během obou úspěšných běhů měřte zápisy do SQLite, nahrané obrázky, naplánované úlohy a provoz zařízení v domácnosti; neočekávané rozdíly často odhalí chybějící cache, index, worker nebo datový mount.
Přidejte také failure drill: odešlete neškodný vstup poblíž limitu prostředků nebo formátu spojeného s touto hranicí: databáze SQLite nemůže zapisovat nebo naplánované úkoly používají nesprávné časové pásmo. Grocy by měl zobrazit užitečnou chybu, zachovat existující stav a po návratu platných podmínek se zotavit. Uložte časová razítka a relevantní řádky logu, přičemž secrets redigujte. Tyto důkazy se stanou referencí pro další změnu image nebo konfigurace.
Vytvořte nahraditelný kontejner Grocy
Použijte příkaz, který explicitně uvádí všechny důležité volby. Tato základní konfigurace naváže Grocy na loopback hostitele, přidá známé datové mounty a předá první požadované nastavení. Před vystavením služby ověřte lokální požadavek: jeden persistentní config volume a volitelný přístup k zařízení pro čtení čárových kódů.
docker run -d \
--name grocy \
--restart unless-stopped \
-p 127.0.0.1:80:80 \
-v grocy-data:/config \
lscr.io/linuxserver/grocy:latest
Nahraďte floating tags otestovanou verzí nebo digestem. Po spuštění zkontrolujte docker logs --tail 200 grocy a ověřte, že proces naslouchá na portu 80. Poté proveďte akceptační akci Grocy; odpověď kořenové stránky nemůže prokázat úspěch celého scénáře: nahradit výchozí přihlašovací údaje, přidat produkt, zaznamenat nákup a spotřebu, naskenovat čárový kód a spustit upozornění na úkol nebo expiraci.
Navrhněte obnovu Grocy ještě před spuštěním
Chraňte stav Grocy dříve, než začnete optimalizovat jeho kontejner. Požadovaná sada zahrnuje databázi, nahrané soubory, recepty a konfiguraci. Před bootstrapem připojte /config, zapište neškodná ukázková data a vyměňte kontejner, abyste prokázali, že je tato cesta skutečně persistentní. Pokud musí být konzistentních více úložišť, zdokumentujte pořadí, v jakém se pozastavují zápisy a pořizují zálohy.
Kopie uchovávejte mimo deployment server a zašifrujte materiál obsahující přihlašovací údaje nebo soukromý obsah. Obnova je úspěšná tehdy, když se vrátí zásoby, recepty, úkoly, vybavení a historie a následující naplánované upozornění má správné datum. Rozdíl mezi persistentním mountem a nezávislou kopií popisuje článek persistentní úložiště a snapshots.
Testujte Grocy mimo server
Konečný hostname Grocy zvolte dříve, než uživatelé uloží callbacks nebo nastavení klienta, poté zveřejněte UI přes HTTPS a nakonfigurujte správné časové pásmo. Platform route by měla ukončit TLS jednou a směrovat na privátní port 80.
Akceptační transakci spusťte externě. Pokud se klient ke Grocy nikdy nepřipojí, použijte checklist ověření SSL pro kontroly DNS a certifikátu. Pokud požadavek dorazí do Grocy, ale databáze SQLite nemůže zapisovat nebo naplánované úkoly používají nesprávné časové pásmo, přestaňte měnit proxy redirects a prozkoumejte konkrétní hranici aplikace.
Zvolte trust boundary Grocy
Vytvořte threat model akce, kterou Grocy provádí, nejen jeho přihlašovacího formuláře. Zde je nejrizikovější chybou ponechání výchozích přihlašovacích údajů po nastavení. Tuto hranici implementujte takto: odstraňte výchozí credentials, zvolte správné časové pásmo a omezte data domácnosti na zamýšlené uživatele.
Grocy v této základní konfiguraci nemá povinný bootstrap secret; chraňte místo něj skutečný administrátorský účet nebo upstream authentication. Chybu oprávnění neřešte spuštěním kontejneru jako root ani širokým připojením hostitele. Resource limits rovněž patří do bezpečnostního návrhu, pokud uživatelé mohou spouštět zápisy do SQLite, nahrávání obrázků, naplánované úlohy a provoz zařízení v domácnosti.
Nasazení v Dockup stále potřebuje akceptační test Grocy
Dockup může spravovat nahraditelné části platformy: směrovat provoz na port 80, vystavit doménu a certifikát, injectovat secrets, připojit persistentní storage a propojit Grocy se spravovanými nebo privátně připojenými službami. Může to provést na infrastruktuře Dockup nebo na serveru, který připojíte.
Akceptační práce pro Grocy zůstává explicitní. Po one-click nasazení zveřejněte UI přes HTTPS a nakonfigurujte správné časové pásmo, ověřte lokální požadavek — jeden persistentní config volume a volitelný přístup k zařízení pro čtení čárových kódů — a spusťte tento scénář: nahradit výchozí přihlašovací údaje, přidat produkt, zaznamenat nákup a spotřebu, naskenovat čárový kód a spustit upozornění na úkol nebo expiraci. Toto rozdělení je záměrné: Dockup odstraňuje opakované nastavování infrastruktury, aniž by předstíral, že role v aplikaci, credentials poskytovatelů nebo pravidla obnovy se zvolí samy.
Často kladené otázky
Co Grocy potřebuje pro produkční nasazení?
Směrujte kontejner Grocy na portu 80 přes jeden HTTPS origin. Lokální runtime vyžaduje jeden persistentní config volume a volitelný přístup k zařízení pro čtení čárových kódů. Grocy neoznačujte za připravené, dokud nemůžete nahradit výchozí přihlašovací údaje, přidat produkt, zaznamenat nákup a spotřebu, naskenovat čárový kód a spustit upozornění na úkol nebo expiraci.
Která data Grocy patří do zálohy?
Zachovejte /config a do stejného recovery manifestu zahrňte databázi, nahrané soubory, recepty a konfiguraci. Čistá obnova Grocy je úspěšná pouze tehdy, když se vrátí zásoby, recepty, úkoly, vybavení a historie a následující naplánované upozornění má správné datum.
Vyžaduje Grocy za reverse proxy HTTPS?
Pro veřejný origin Grocy používejte HTTPS a port 80 ponechte na interní trase. Nastavení Grocy aplikujte správně: zveřejněte UI přes HTTPS a nakonfigurujte správné časové pásmo. U Grocy HTTPS chrání přihlašovací údaje nebo uživatelský obsah během přenosu a zachovává konzistentní chování klienta závislé na originu.
Jak testovat aktualizaci Grocy?
Obnovte aktuální stav Grocy do izolovaného nasazení, aplikujte kandidátní verzi a zopakujte jeho akceptační transakci. Věnujte tomu zvláštní pozornost, protože migrace databáze Grocy a custom extensions je třeba nacvičit na zkopírovaném config adresáři. Předchozí Grocy image ponechte, dokud nebudete rozumět hranici migrace dat a rollbacku.
