A Trilium Notes saját üzemeltetése 2026-ban: adatkönyvtár, WebSockets és biztonsági mentések
Gyakorlati útmutató a Trilium Notes saját üzemeltetéséhez Dockerrel, portokkal, perzisztens adatokkal, TLS-sel, biztonsággal, biztonsági mentésekkel és a production használatot akadályozó hibákkal.
Egy Trilium Notes konténer állapota lehet zöld akkor is, amikor a felhasználók számára fontos funkció nem működik. A Trilium Notes esetében ez a rejtett hiba általában az, hogy az adatkönyvtárat rossz útvonalra csatolták, vagy az nem írható. Ez az útmutató az „összekapcsolt jegyzetek létrehozása, egy melléklet és kapcsolat hozzáadása, ezek megkeresése, majd a revízióelőzmények újraindítás utáni ellenőrzése” folyamatot tekinti elfogadási tesztnek, és a deploymentet ennek eredményéből kiindulva építi fel.
A Trilium Notes meghatározott szerepet tölt be a stackben: fa struktúrájú személyes tudásbázis. Production környezetben ezért nem az a kérdés, hogy a 8080-as port egyszer válaszol-e, hanem az, hogy az állapot, a függőségek és a publikus cím egy újraindítás, frissítés és visszaállítás után is összhangban marad-e.
Térképezd fel a Trilium Notes működését a Docker használata előtt
A Trilium Notes HTTP-folyamata a 8080-as porton figyel; ezt a portot tartsd az alkalmazáshálózaton, és csak a platform útvonalát tedd közzé. A helyi runtime követelménye egy tartós adatkönyvtár és az indexeléshez elegendő memória. Ezt az elfogadási terhelés alatt ellenőrizd; egy idle health check nem bizonyítja, hogy az erőforrás elegendő.
Írd le a határokat rövid szerződésként: ki felel a követelményért, melyik credentialt használod, milyen timeout fogadható el, és hogyan jelenik meg a hiba. Ezután futtasd le ezt a tranzakciót: hozz létre összekapcsolt jegyzeteket, adj hozzá egy mellékletet és kapcsolatot, keresd meg őket, majd ellenőrizd a revízióelőzményeket újraindítás után. A futtatás során figyeld a jegyzetek indexelését, a mellékletek méretét, a scriptinget és a document.db növekedését, mert ez a terhelés hasznosabb kiindulási méretet ad, mint egy idle konténer.
Teszteld a Trilium Notes működését a szerveren kívülről
A Trilium Notes számára egyetlen HTTPS-hostnevet tegyél közzé; a nyers 8080-as port maradjon privát. A webes felületet HTTPS-en keresztül tedd elérhetővé úgy, hogy a WebSockets is megmaradjanak. Így a böngészők és az API-kliensek nem tanulnak meg két, egymással versengő címet.
Egy tiszta kliensről futtasd le az ismert módon működő tranzakciót, és vizsgáld meg az első hibás kérést. Ha a DNS vagy a TLS hibás, használd az egyéni domainről szóló útmutatót. „Az adatkönyvtár rossz útvonalra van csatolva, vagy nem írható” esetén külön alkalmazásszintű diagnózist végezz, miután az útvonalat már igazoltad.
Indítsd el a Trilium Notes alkalmazást megfigyelhető alapbeállításokkal
A production jellegű indítás szándékosan egyszerű: névvel ellátott state, explicit port és az image-en kívül tárolt secret.
docker run -d \
--name trilium-notes \
--restart unless-stopped \
-p 127.0.0.1:8080:8080 \
-v trilium-notes-data:/home/node/trilium-data \
-e TRILIUM_DATA_DIR=/home/node/trilium-data \
triliumnext/notes:latest
A példa kiindulási alap, nem pedig teljes supporting stack. A közzététel előtt erősítsd meg a helyi követelményt: tartós adatkönyvtárra és az indexeléshez elegendő memóriára van szükség. Ellenőrizd a tényleges mountokat és a listenert, majd próbálj meg összekapcsolt jegyzeteket létrehozni, egy mellékletet és kapcsolatot hozzáadni, ezeket megkeresni, végül pedig újraindítás után ellenőrizni a revízióelőzményeket. A következő újraindítás előtt rögzítsd a működő image-et.
A konténer helyett a workloadot figyeld
Figyeld, milyen munkát végez a Trilium Notes: a jegyzetek indexelését, a mellékletek méretét, a scriptinget és a document.db növekedését. Állíts be erőforráslimiteket megfelelő tartalékkal ehhez a munkához, és kerüld az olyan liveness probe-ot, amely versenyez vele az erőforrásokért. Az operatori ellenőrzésnek ütemezetten továbbra is meg kell próbálnia összekapcsolt jegyzeteket létrehozni, egy mellékletet és kapcsolatot hozzáadni, ezeket megkeresni, majd újraindítás után ellenőrizni a revízióelőzményeket.
Frissítéseknél ne feledd, hogy a TriliumNext migrationjeit, scriptjeit és theme extensionjeit egy másolatként létrehozott adatkönyvtáron kell tesztelni. A jelölt verziót egy helyreállított másolaton telepítsd, majd ismételd meg az ismert tesztet. Ha az adatkönyvtár rossz útvonalra van csatolva, vagy nem írható, a runtime logjai és a tényleges hálózati kérés alapján keresd meg, melyik feltételezés változott.
Minek kell megfelelnie, mielőtt valódi Trilium Notes-adatok érkeznek
A Trilium Notes release-rekordjának tényeket kell tartalmaznia, nem azt, hogy „jónak tűnik”. Tárold el a kiválasztott image digestjét, a konfiguráció checksumát, a publikus hostnevet és az időbélyeggel ellátott eredményt a következő műveletekről: összekapcsolt jegyzetek létrehozása, egy melléklet és kapcsolat hozzáadása, ezek megkeresése, valamint a revízióelőzmények újraindítás utáni ellenőrzése. Nem production célú mintaadatokat használj, hogy az ellenőrzés minden deployment után lefuttatható legyen.
Két életciklus-eseményt külön-külön bizonyíts. Egy konténer lecserélése után a normál működésnek meg kell maradnia; egy tiszta recovery során pedig az ellenőrzésnek azt kell mutatnia, hogy a jegyzetek, kapcsolatok, mellékletek, attribútumok és revíziók visszaállnak, és az ismert keresés ugyanazt a jegyzetet találja meg. A tesztek futása közben mérd a jegyzetek indexelését, a mellékletek méretét, a scriptinget és a document.db növekedését, majd az eredményt őrizd meg az adott verzió elvárt kereteként.
Tesztelj egy tiltott vagy érvénytelen állapotot is: küldj ártalmatlan inputot az ehhez a határhoz kapcsolódó erőforrás- vagy formátumlimit közelében: az adatkönyvtár rossz útvonalra van csatolva, vagy nem írható. A Trilium Notes-nak diagnosztizálható módon kell hibáznia, és nem írhatja felül az egészséges state-et. Állítsd vissza az érvényes állapotot, futtasd újra a mintát, és csatold a releváns, redaktált logokat. Ezek az artifactok konkrét bizonyítékot adnak egy későbbi rollback-döntéshez.
Készíts biztonsági mentést arról az állapotról, amelyet a Trilium Notes nem tud újra létrehozni
A Trilium Notes recovery pointját és recovery time-ját a document.db, a mellékletek, a revíziók és a konfiguráció alapján határozd meg. A bootstrap előtt mountold a /home/node/trilium-data könyvtárat, írj bele ártalmatlan mintaadatokat, majd cseréld le a konténert annak bizonyítására, hogy az útvonal valóban perzisztens. A named volume megoldja az újratelepítés utáni perzisztenciát, de nem oldja meg a kompromittálódás vagy a szerver elvesztésének problémáját.
Hozz létre tiszta restore-környezetet, használd ugyanazt a rögzített alkalmazásverziót, és bizonyítsd, hogy a jegyzetek, kapcsolatok, mellékletek, attribútumok és revíziók visszaállnak, az ismert keresés pedig ugyanazt a jegyzetet találja meg. Rögzítsd a parancsokat, a tulajdonjog javításait és az eltelt időt. A backup guide hasznos szabványt ad: egy biztonsági mentés a helyreállítása után megbízható, nem pedig a feltöltése után.
Válaszd ki a Trilium Notes trust boundaryjét
Amint létrejön az első megbízható adminisztrátor, zárd le a bootstrap időablakát. A Trilium Notes konkrét csapdája egy személyes tudásbázis erős bejelentkezés nélküli közzététele; a biztonságosabb határ az, ha a notebookot privát adatként kezeled, erős bejelentkezést követelsz meg, és a data directorynél szélesebb filesystem-hozzáférést nem teszel lehetővé.
A TRILIUM_DATA_DIR a működést, nem pedig a bizalmasságot szabályozza; ellenőrizd a típusát és az értékét, a valódi Trilium Notes-credentialeket pedig külön tárold. A privát hálózatnak kell továbbítania a függőségek credentialjeit, a Trilium Notes-on belüli role-ok pedig a legkisebb hasznos műveletre korlátozódjanak. Az érzékeny request bodykat és a szolgáltatói válaszokat ne írd bele a szokásos logokba.
Mit automatizáljon a Dockup a Trilium Notes számára?
A Trilium Notes esetében a Dockup létrehozhatja a route-ot és a TLS-certifikátot, megőrizheti a mountokat, továbbíthatja a secreteteket, valamint a privát hálózaton elhelyezheti a tartós adatkönyvtárat és az indexeléshez elegendő memóriát, miközben a deployment a Dockupra vagy csatolt szerverekre történik.
A release gate továbbra is a konkrét Trilium Notes-tranzakció: összekapcsolt jegyzetek létrehozása, egy melléklet és kapcsolat hozzáadása, ezek megkeresése, valamint a revízióelőzmények újraindítás utáni ellenőrzése. Ellenőrizd a restore-feltételt is: a jegyzetek, kapcsolatok, mellékletek, attribútumok és revíziók visszaállnak, az ismert keresés pedig ugyanazt a jegyzetet találja meg. Ez a két ellenőrzés mutatja meg, hogy a deployment működik-e, és helyreállítható-e.
Gyakran ismételt kérdések
Mire van szüksége a Trilium Notesnak egy production deploymenthez?
A Trilium Notes konténerét egyetlen HTTPS originen keresztül route-old a 8080-as portra. A helyi runtime követelménye egy tartós adatkönyvtár és az indexeléshez elegendő memória. Ne tekintsd késznek a Trilium Notesot addig, amíg nem tudsz összekapcsolt jegyzeteket létrehozni, egy mellékletet és kapcsolatot hozzáadni, ezeket megkeresni, majd újraindítás után ellenőrizni a revízióelőzményeket.
Mely Trilium Notes-adatoknak kell szerepelniük a biztonsági mentésben?
Tedd perzisztenssé a /home/node/trilium-data könyvtárat, és ugyanabba a recovery manifestbe vedd fel a document.db-t, a mellékleteket, a revíziókat és a konfigurációt. Egy tiszta Trilium Notes restore csak akkor sikeres, ha a jegyzetek, kapcsolatok, mellékletek, attribútumok és revíziók visszaállnak, az ismert keresés pedig ugyanazt a jegyzetet találja meg.
Szüksége van a Trilium Notesnak HTTPS-re reverse proxy mögött?
A publikus Trilium Notes originhez használj HTTPS-t, a 8080-as portot pedig tartsd a belső útvonalon. A Trilium Notes-beállítást megfelelően alkalmazd: a webes felületet HTTPS-en keresztül tedd közzé úgy, hogy a WebSockets megmaradjanak. A Trilium Notes esetében a HTTPS védi a credentialeket és a felhasználói tartalmakat az átvitel során, valamint konzisztenssé teszi az origintől függő kliensviselkedést.
Hogyan kell tesztelni egy Trilium Notes-frissítést?
Állítsd vissza a jelenlegi Trilium Notes-állapotot egy izolált deploymentbe, alkalmazd a jelölt verziót, majd ismételd meg az elfogadási tranzakciót. Különösen figyelj arra, hogy a TriliumNext migrationjeit, scriptjeit és theme extensionjeit egy másolatként létrehozott adatkönyvtáron kell tesztelni. Tartsd meg az előző Trilium Notes image-et mindaddig, amíg nem érted az adatmigration és a rollback határát.
