JournalindeksDockup / feltnotat
Note / self-host-trilium

Slik drifter du Trilium Notes selv i 2026: datakatalog, WebSockets og sikkerhetskopier

En praktisk veiledning for selvhosting av Trilium Notes med fokus på Docker, porter, persistent data, TLS, sikkerhet, sikkerhetskopier og feilene som hindrer produksjonsbruk.

En Trilium Notes-container kan være grønn selv om det brukerne faktisk trenger, ikke fungerer. For Trilium Notes er denne skjulte feilen vanligvis at datakatalogen er montert på feil sti eller ikke er skrivbar. Denne veiledningen bruker «opprett lenkede notater, legg til et vedlegg og en relasjon, søk etter dem og bekreft revisjonshistorikken etter omstart» som akseptansetest, og bygger utrullingen baklengs fra dette resultatet.

Trilium Notes har en spesifikk rolle i stacken: en trestrukturert personlig kunnskapsbase. Produksjonsspørsmålet er derfor ikke om port 8080 svarer én gang, men om tilstand, avhengigheter og den offentlige adressen fortsatt samsvarer etter en omstart, oppdatering og gjenoppretting.

Kartlegg Trilium Notes før du rører Docker

HTTP-prosessen til Trilium Notes lytter på 8080. Behold denne porten på applikasjonsnettverket, og publiser bare plattformruten. Det lokale runtime-kravet er en persistent datakatalog og nok minne til indeksering. Valider dette under akseptanselast; en inaktiv health check kan ikke bevise at ressursene er tilstrekkelige.

Skriv ned grensen som en kort kontrakt: hvem som eier kravet, hvilken credential som brukes, hvilken timeout som er akseptabel, og hvordan en feil vises. Kjør deretter denne transaksjonen: opprett lenkede notater, legg til et vedlegg og en relasjon, søk etter dem og bekreft revisjonshistorikken etter omstart. Observer noteindeksering, vedleggsstørrelse, skripting og veksten i document.db under kjøringen, fordi denne arbeidsbelastningen gir et mer nyttig utgangspunkt for størrelsen enn en inaktiv container.

Test Trilium Notes utenfra serveren

Eksponer ett HTTPS-vertsnavn for Trilium Notes, og hold råport 8080 privat. Publiser webgrensesnittet over HTTPS med WebSockets intakt. Dette hindrer nettlesere og API-klienter i å lære to konkurrerende adresser.

Kjør den kjente, fungerende transaksjonen fra en ren klient, og inspiser den første forespørselen som feiler. Bruk veiledningen for egendefinert domene når DNS eller TLS er feil. Behandle «datakatalogen er montert på feil sti eller er ikke skrivbar» som en separat applikasjonsdiagnose når ruten er bekreftet.

Start Trilium Notes med observerbare standardverdier

En produksjonstilpasset oppstart er med vilje kjedelig: navngitt state, eksplisitt port og ingen secret inne i imaget.

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

Eksempelet er et utgangspunkt, ikke en komplett supporting stack. Bekreft det lokale kravet før eksponering: en persistent datakatalog og nok minne til indeksering. Kontroller de effektive mountene og lytteren, og prøv deretter å opprette lenkede notater, legge til et vedlegg og en relasjon, søke etter dem og bekrefte revisjonshistorikken etter omstart. Lås imaget som fungerer før neste omstart.

Følg med på arbeidsbelastningen, ikke bare containeren

Observer arbeidet Trilium Notes utfører: noteindeksering, vedleggsstørrelse, skripting og veksten i document.db. Sett grenser med headroom for dette arbeidet, og unngå en liveness probe som konkurrerer med det. Operatørkontrollen bør fortsatt forsøke å opprette lenkede notater, legge til et vedlegg og en relasjon, søke etter dem og bekrefte revisjonshistorikken etter omstart med jevne mellomrom.

Ved oppdateringer må du huske at migreringer, skript og theme extensions i TriliumNext bør testes på en duplisert datakatalog. Deploy kandidaten mot en gjenopprettet kopi, og gjenta den kjente testen. Hvis datakatalogen er montert på feil sti eller ikke er skrivbar, bruker du runtime-logger og den faktiske nettverksforespørselen for å finne ut hvilken antakelse som har endret seg.

Dette må være godkjent før ekte Trilium Notes-data tas i bruk

Release-registreringen for Trilium Notes trenger fakta, ikke «ser bra ut». Lagre valgt image digest, konfigurasjonssjekksum, offentlig vertsnavn og et tidsstemplet resultat for: opprett lenkede notater, legg til et vedlegg og en relasjon, søk etter dem og bekreft revisjonshistorikken etter omstart. Bruk eksempeldata som ikke er produksjonsdata, slik at kontrollen kan kjøres etter hver deployment.

Bevis to lifecycle-hendelser separat. En utskifting av container må bevare normal drift. En ren gjenoppretting må vise at notater, relasjoner, vedlegg, attributter og revisjoner kommer tilbake, og at det kjente søket finner det samme notatet. Mens kontrollene kjører, måler du noteindeksering, vedleggsstørrelse, skripting og veksten i document.db, og beholder resultatet som forventet rammeverk for denne versjonen.

Test også en avvist eller ugyldig tilstand: send ufarlig input nær ressurs- eller formatgrensen som er knyttet til denne grensen: datakatalogen er montert på feil sti eller er ikke skrivbar. Trilium Notes skal feile på en diagnostiserbar måte og skal ikke overskrive en frisk state. Gå tilbake til den gyldige tilstanden, kjør eksempelet på nytt og legg ved relevante, redigerte logger. Disse artefaktene gir et fremtidig rollback-valg konkrete bevis.

Sikkerhetskopier state som Trilium Notes ikke kan gjenskape

Definer recovery point og recovery time for Trilium Notes med utgangspunkt i document.db, vedlegg, revisjoner og konfigurasjon. Monter /home/node/trilium-data før bootstrap, skriv ufarlige eksempeldata og erstatt containeren for å bevise at stien faktisk er persistent. Et navngitt volume løser persistence ved redeploy; det løser ikke kompromittering eller tap av serveren.

Bygg et rent restore-miljø, bruk den samme låste applikasjonsversjonen og bevis at notater, relasjoner, vedlegg, attributter og revisjoner kommer tilbake, og at det kjente søket finner det samme notatet. Registrer kommandoer, endringer av eierskap og medgått tid. Veiledningen for sikkerhetskopier er en nyttig standard: En sikkerhetskopi er pålitelig etter gjenoppretting, ikke etter opplasting.

Velg tillitsgrensen for Trilium Notes

Lukk bootstrap-vinduet så snart den første betrodde administratoren finnes. Den konkrete fellen med Trilium Notes er å eksponere en personlig kunnskapsbase uten en sterk innlogging; den sikrere grensen er å behandle notatboken som private data, kreve sterk innlogging og ikke eksponere mer av filsystemet enn datakatalogen.

TRILIUM_DATA_DIR styrer funksjonalitet, ikke konfidensialitet. Valider type og verdi, og lagre ekte Trilium Notes-credentials separat. Privat nettverk bør frakte credentials for avhengigheter, og roller i Trilium Notes bør gi det minste nyttige handlingsrommet. Hold sensitive request bodies og provider responses ute av ordinære logger.

Dette bør Dockup automatisere for Trilium Notes

For Trilium Notes kan Dockup opprette ruten og TLS-sertifikatet, bevare mounts, levere secrets og plassere en persistent datakatalog og nok minne til indeksering på privat nettverk, samtidig som utrullingen kan skje enten til Dockup eller til tilknyttede servere.

Release-gaten er fortsatt den konkrete Trilium Notes-transaksjonen: opprett lenkede notater, legg til et vedlegg og en relasjon, søk etter dem og bekreft revisjonshistorikken etter omstart. Bekreft også restore-betingelsen – at notater, relasjoner, vedlegg, attributter og revisjoner kommer tilbake, og at det kjente søket finner det samme notatet. Disse to kontrollene viser om utrullingen fungerer, og om den kan gjenopprettes.

Vanlige spørsmål

Hva trenger Trilium Notes for en produksjonsutrulling?

Rout Trilium Notes-containeren på port 8080 gjennom én HTTPS-origin. Det lokale runtime-kravet er en persistent datakatalog og nok minne til indeksering. Ikke erklær Trilium Notes som klart før du kan opprette lenkede notater, legge til et vedlegg og en relasjon, søke etter dem og bekrefte revisjonshistorikken etter omstart.

Hvilke Trilium Notes-data hører hjemme i en sikkerhetskopi?

Gjør /home/node/trilium-data persistent, og inkluder document.db, vedlegg, revisjoner og konfigurasjon i det samme recovery-manifestet. En ren Trilium Notes-restore er bare godkjent når notater, relasjoner, vedlegg, attributter og revisjoner kommer tilbake, og det kjente søket finner det samme notatet.

Krever Trilium Notes HTTPS bak en reverse proxy?

Bruk HTTPS for den offentlige Trilium Notes-originen, og behold port 8080 på den interne ruten. Bruk Trilium Notes-innstillingen riktig: publiser webgrensesnittet over HTTPS med WebSockets intakt. For Trilium Notes beskytter HTTPS credentials eller brukerinnhold under overføring og sørger for konsistent, originsensitiv klientoppførsel.

Hvordan bør en oppgradering av Trilium Notes testes?

Gjenopprett den gjeldende Trilium Notes-staten til en isolert deployment, bruk kandidatversjonen og gjenta akseptansetransaksjonen. Vær spesielt oppmerksom på at migreringer, skript og theme extensions i TriliumNext bør testes på en duplisert datakatalog. Behold det forrige Trilium Notes-imaget til grensen for datamigrering og rollback er forstått.