Jak hostować Trilium Notes samodzielnie w 2026 roku: katalog danych, WebSockets i kopie zapasowe
Praktyczny przewodnik po samodzielnym hostowaniu Trilium Notes obejmujący Docker, porty, trwałość danych, TLS, bezpieczeństwo, kopie zapasowe oraz problemy blokujące użycie produkcyjne.
Kontener Trilium Notes może działać poprawnie, mimo że funkcja, na której zależy użytkownikom, jest uszkodzona. W przypadku Trilium Notes ukryta awaria zwykle polega na zamontowaniu katalogu danych pod niewłaściwą ścieżką lub braku uprawnień do zapisu. W tym poradniku za test akceptacyjny uznajemy wykonanie operacji „utwórz połączone notatki, dodaj załącznik i relację, wyszukaj je oraz zweryfikuj historię rewizji po restarcie” i na tej podstawie projektujemy wdrożenie.
Trilium Notes pełni w stacku konkretną funkcję: jest osobistą bazą wiedzy o strukturze drzewa. Pytanie dotyczące środowiska produkcyjnego nie brzmi więc, czy port 8080 odpowiada jednokrotnie, ale czy stan, zależności i publiczny adres nadal pozostają ze sobą zgodne po restarcie, aktualizacji i przywróceniu danych.
Zmapuj Trilium Notes przed użyciem Dockera
Proces HTTP Trilium Notes nasłuchuje na porcie 8080. Pozostaw ten port w sieci aplikacji i publikuj wyłącznie trasę platformy. Lokalne wymagania runtime obejmują trwały katalog danych oraz ilość pamięci wystarczającą do indeksowania. Zweryfikuj je przy obciążeniu odpowiadającym testowi akceptacyjnemu — bezczynny health check nie potwierdzi wystarczających zasobów.
Zapisz granicę odpowiedzialności w formie krótkiego kontraktu: kto odpowiada za wymaganie, które dane uwierzytelniające są używane, jaki timeout jest akceptowalny i jak objawia się awaria. Następnie wykonaj tę transakcję: utwórz połączone notatki, dodaj załącznik i relację, wyszukaj je oraz zweryfikuj historię rewizji po restarcie. Podczas testu obserwuj indeksowanie notatek, rozmiar załączników, skrypty oraz wzrost pliku document.db, ponieważ takie obciążenie pozwala lepiej oszacować wymagany rozmiar początkowy niż bezczynny kontener.
Testuj Trilium Notes spoza serwera
Udostępnij jeden host HTTPS dla Trilium Notes, a surowy port 8080 pozostaw prywatny. Publikuj interfejs webowy przez HTTPS z zachowaniem WebSockets. Dzięki temu przeglądarki i klienci API nie będą poznawać dwóch konkurencyjnych adresów.
Z czystego klienta wykonaj sprawdzoną transakcję i przeanalizuj pierwsze żądanie, które kończy się błędem. Jeśli problem dotyczy DNS lub TLS, skorzystaj z poradnika dotyczącego własnej domeny. Traktuj „katalog danych jest zamontowany pod niewłaściwą ścieżką lub nie można w nim zapisywać” jako osobną diagnozę aplikacji, gdy trasa została już potwierdzona.
Uruchom Trilium Notes z obserwowalnymi ustawieniami domyślnymi
Uruchomienie zbliżone do produkcyjnego powinno być celowo nudne: nazwany stan, jawnie określony port i brak sekretu w obrazie.
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
Ten przykład stanowi punkt wyjścia, a nie kompletny supporting stack. Przed udostępnieniem potwierdź lokalne wymagania: trwały katalog danych oraz ilość pamięci wystarczającą do indeksowania. Sprawdź aktywne mounty i listener, a następnie spróbuj utworzyć połączone notatki, dodać załącznik i relację, wyszukać je oraz zweryfikować historię rewizji po restarcie. Przed kolejnym restartem przypnij działający obraz.
Obserwuj obciążenie, nie tylko kontener
Obserwuj pracę wykonywaną przez Trilium Notes: indeksowanie notatek, rozmiar załączników, skrypty oraz wzrost pliku document.db. Ustaw limity z zapasem na tę pracę i unikaj liveness probe, który konkuruje z aplikacją o zasoby. Kontrola operatorska nadal powinna cyklicznie próbować utworzyć połączone notatki, dodać załącznik i relację, wyszukać je oraz zweryfikować historię rewizji po restarcie.
Podczas aktualizacji pamiętaj, że migracje TriliumNext, skrypty i rozszerzenia motywów należy testować na zduplikowanym katalogu danych. Wdróż wersję kandydującą na odzyskanej kopii i ponownie wykonaj znany test. Jeśli katalog danych jest zamontowany pod niewłaściwą ścieżką lub nie można w nim zapisywać, użyj logów runtime oraz rzeczywistego żądania sieciowego, aby ustalić, które założenie uległo zmianie.
Co musi przejść przed pojawieniem się prawdziwych danych Trilium Notes
Rejestr wydania dla Trilium Notes powinien zawierać fakty, a nie informację „wygląda dobrze”. Zapisz digest wybranego obrazu, checksum konfiguracji, publiczny hostname oraz wynik z oznaczeniem czasu dla następującej operacji: utwórz połączone notatki, dodaj załącznik i relację, wyszukaj je oraz zweryfikuj historię rewizji po restarcie. Używaj przykładowych danych nieprodukcyjnych, aby test można było uruchamiać po każdym wdrożeniu.
Zweryfikuj osobno dwa zdarzenia cyklu życia. Wymiana kontenera musi zachować normalne działanie, a czyste odzyskanie danych musi potwierdzić powrót notatek, relacji, załączników, atrybutów i rewizji oraz znalezienie tej samej notatki za pomocą znanego wyszukiwania. Podczas testów mierz indeksowanie notatek, rozmiar załączników, skrypty oraz wzrost pliku document.db, a wynik zachowaj jako oczekiwany zakres dla tej wersji.
Przetestuj również warunek odrzucenia lub nieprawidłowy warunek: prześlij nieszkodliwe dane w pobliżu limitu zasobów lub formatu związanego z tą granicą: katalog danych jest zamontowany pod niewłaściwą ścieżką lub nie można w nim zapisywać. Trilium Notes powinien zakończyć działanie w sposób możliwy do zdiagnozowania i nie powinien nadpisać poprawnego stanu. Przywróć prawidłowy warunek, ponownie uruchom próbkę i dołącz odpowiednie zredagowane logi. Te artefakty dostarczają konkretnych dowodów potrzebnych przy przyszłej decyzji o rollbacku.
Twórz kopie zapasowe stanu, którego Trilium Notes nie odtworzy
Zdefiniuj punkt i czas odtworzenia dla Trilium Notes w odniesieniu do document.db, załączników, rewizji i konfiguracji. Zamontuj /home/node/trilium-data przed bootstrapem, zapisz nieszkodliwe przykładowe dane i wymień kontener, aby potwierdzić, że ta ścieżka rzeczywiście zapewnia trwałość. Nazwany volume rozwiązuje problem trwałości przy ponownym wdrożeniu, ale nie chroni przed przejęciem systemu ani utratą serwera.
Zbuduj czyste środowisko odtwarzania, użyj tej samej przypiętej wersji aplikacji i potwierdź powrót notatek, relacji, załączników, atrybutów i rewizji oraz znalezienie tej samej notatki za pomocą znanego wyszukiwania. Zapisz polecenia, poprawki właściciela plików i czas wykonania. Poradnik dotyczący kopii zapasowych stanowi przydatny standard: kopia zapasowa jest godna zaufania po odtworzeniu, a nie po przesłaniu.
Wybierz granicę zaufania Trilium Notes
Zamknij okno bootstrapu, gdy tylko pojawi się pierwszy zaufany administrator. Konkretna pułapka Trilium Notes polega na udostępnieniu osobistej bazy wiedzy bez silnego logowania; bezpieczniejsza granica to traktowanie notatnika jako prywatnych danych, wymaganie silnego logowania i nieudostępnianie szerszego systemu plików niż jego katalog danych.
TRILIUM_DATA_DIR steruje działaniem, a nie poufnością; zweryfikuj jego typ i wartość, a prawdziwe dane uwierzytelniające Trilium Notes przechowuj osobno. Prywatna sieć powinna przenosić dane uwierzytelniające zależności, a role wewnątrz Trilium Notes powinny przyznawać najmniejszy użyteczny zakres uprawnień. Nie zapisuj poufnych treści żądań ani odpowiedzi dostawców w rutynowych logach.
Co Dockup powinien automatyzować dla Trilium Notes
W przypadku Trilium Notes Dockup może utworzyć trasę i certyfikat TLS, zachować mounty, dostarczać sekrety oraz zapewnić trwały katalog danych i ilość pamięci wystarczającą do indeksowania w prywatnej sieci podczas wdrażania zarówno na Dockup, jak i na podłączonych serwerach.
Bramką wydania nadal pozostaje konkretna transakcja Trilium Notes: utwórz połączone notatki, dodaj załącznik i relację, wyszukaj je oraz zweryfikuj historię rewizji po restarcie. Zweryfikuj również warunek odtworzenia — notatki, relacje, załączniki, atrybuty i rewizje muszą powrócić, a znane wyszukiwanie musi znaleźć tę samą notatkę. Te dwa testy pokazują, czy wdrożenie działa i czy można je odzyskać.
Często zadawane pytania
Czego Trilium Notes potrzebuje do wdrożenia produkcyjnego?
Skieruj kontener Trilium Notes na porcie 8080 przez jedno źródło HTTPS. Lokalne wymagania runtime obejmują trwały katalog danych oraz ilość pamięci wystarczającą do indeksowania. Nie uznawaj Trilium Notes za gotowe, dopóki nie możesz utworzyć połączonych notatek, dodać załącznika i relacji, wyszukać ich oraz zweryfikować historii rewizji po restarcie.
Które dane Trilium Notes powinny należeć do kopii zapasowej?
Zachowaj /home/node/trilium-data i uwzględnij document.db, załączniki, rewizje oraz konfigurację w tym samym manifeście odtwarzania. Czyste odtworzenie Trilium Notes kończy się powodzeniem tylko wtedy, gdy wracają notatki, relacje, załączniki, atrybuty i rewizje, a znane wyszukiwanie znajduje tę samą notatkę.
Czy Trilium Notes wymaga HTTPS za reverse proxy?
Używaj HTTPS dla publicznego źródła Trilium Notes, a port 8080 pozostaw na trasie wewnętrznej. Zastosuj poprawnie ustawienie Trilium Notes: publikuj interfejs webowy przez HTTPS z zachowaniem WebSockets. W przypadku Trilium Notes HTTPS chroni dane uwierzytelniające lub treści użytkowników podczas transmisji i zapewnia spójne działanie klienta zależne od originu.
Jak testować aktualizację Trilium Notes?
Odtwórz aktualny stan Trilium Notes w izolowanym wdrożeniu, zastosuj wersję kandydującą i ponownie wykonaj test akceptacyjny. Zwróć szczególną uwagę na to, że migracje TriliumNext, skrypty i rozszerzenia motywów należy testować na zduplikowanym katalogu danych. Zachowaj poprzedni obraz Trilium Notes do czasu zrozumienia granic migracji danych i rollbacku.
