Instrukcje wdrażania nowego pracownika w Google Docs, procedury w plikach Word rozsyłanych mailem, hasła do serwerów w notatniku, który ma tylko jedna osoba - każda rosnąca firma prędzej czy później trafia na ten bałagan. Wiki.js to open source baza wiedzy z edytorem markdown i WYSIWYG, wersjonowaniem stron i wbudowaną wyszukiwarką, którą stawiasz na własnym Boxie zamiast płacić za kolejne konto w chmurze. Poniżej krok po kroku, jak postawić Wiki.js na Saplo.
Dlaczego Wiki.js do dokumentacji firmowej
Dokumenty rozrzucone po dyskach, mailach i prywatnych notatnikach mają ten sam zestaw problemów: brak jednego miejsca, gdzie nowy pracownik znajdzie instrukcję sam, zamiast pytać kolegów "gdzie to jest"; brak historii zmian, bo plik Word nadpisany drugą wersją nie mówi, kto i kiedy zmienił treść ani dlaczego; i zero sensownego wyszukiwania, bo w stercie plików na dysku szukasz po nazwie, a nie po treści środka dokumentu. Wiki.js trzyma wszystkie strony w jednym miejscu, z pełną historią edycji każdej strony (można cofnąć do dowolnej wersji) i wyszukiwarką działającą po treści, nie tylko po tytule. Firmy, które chcą to samo w wersji hostowanej, płacą za Confluence od Atlassiana, gdzie licencja dla małego zespołu potrafi kosztować około 110 zł miesięcznie, i to zanim doliczysz dodatkowe miejsce na załączniki. Baza wiedzy na Wiki.js stoi na Twoim własnym Boxie, bez opłaty za kolejne konto, bez limitu liczby stron i bez comiesięcznego rachunku rosnącego wraz z liczbą osób w zespole.
Wiki.js czy BookStack, które wybrać
W katalogu aplikacji Saplo obok Wiki.js stoi też BookStack i oba narzędzia rozwiązują ten sam problem, ale inaczej organizują treść. Wiki.js pozwala budować dowolne drzewo stron i podstron, więc dobrze pasuje do firm, które mają dużo luźno powiązanych tematów: procedury, polityki, notatki z projektów, dokumentację techniczną. BookStack narzuca sztywniejszą strukturę Półka, Książka, Rozdział, Strona, co bywa wygodniejsze, gdy dokumentacja ma z góry znany podział, na przykład osobna książka na każdy dział firmy. Wiki.js wymaga własnego kontenera PostgreSQL i minimum 1 GB RAM, BookStack korzysta ze współdzielonej bazy MySQL Saplo i startuje już przy 512 MB RAM, więc na mniejszym Boxie zostaje więcej zasobów dla innych aplikacji. Jeśli nie masz pewności, które wybrać, zacznij od Wiki.js, bo swobodniejsza struktura łatwiej się rozrasta wraz z firmą, a BookStack sprawdzi się lepiej, gdy z góry wiesz, jak ma wyglądać podział dokumentacji.
Wymagania
Żeby postawić Wiki.js na Saplo, potrzebujesz Boxa z uruchomionym Dockerem (silnik włącza go automatycznie przy instalacji z katalogu, wymagany jest nesting w kontenerze, co Saplo ma domyślnie), minimum 1 GB RAM i 2 GB wolnego dysku na Boxie oraz domeny albo subdomeny *.saploapp.pl, która jest w cenie każdego planu. Wiki.js, podobnie jak Paperless-ngx czy Baserow, nie korzysta ze współdzielonej bazy Saplo. Wymaga PostgreSQL, więc receptura stawia obok aplikacji własny kontener bazy danych, przez co instalacja nie wymaga żadnej osobnej bazy z katalogu ani ręcznej konfiguracji połączenia.
Instalacja krok po kroku
- W panelu Saplo wejdź w Katalog aplikacji i wybierz Wiki.js (kategoria "Biznes").
- Wskaż Box, na którym ma stanąć, i domenę albo subdomenę, pod którą będzie dostępna baza wiedzy.
- Zatwierdź instalację. Silnik stawia dwa kontenery Docker: oficjalny obraz
ghcr.io/requarks/wikii własny PostgreSQL na dane, a następnie wystawia panel pod wskazaną domeną przez nginx z darmowym certyfikatem SSL. - Po zakończeniu domena odpowiada kreatorem pierwszego uruchomienia Wiki.js.
Pierwsze uruchomienie
W odróżnieniu od Paperless-ngx czy Listmonka, gdzie konto administratora generuje się automatycznie przy instalacji, Wiki.js działa tak samo jak n8n - konto zakładasz ręcznie w kreatorze przy pierwszym wejściu na stronę, bez pliku z hasłem w katalogu aplikacji. Wejdź na wskazaną domenę, kreator poprosi o e-mail administratora, hasło i nazwę strony. Po założeniu konta trafiasz od razu do panelu administracyjnego, gdzie możesz dodać kolejnych użytkowników dla reszty zespołu w sekcji Administracja -> Użytkownicy. Każdy użytkownik dostaje własny login, więc zawsze widać, kto ostatnio edytował daną stronę, co odróżnia Wiki.js od wspólnego dysku, gdzie autorstwo zmiany trzeba się domyślać.
Pisanie i organizacja stron
Nową stronę zakładasz przyciskiem Nowa strona, wybierając edytor markdown albo WYSIWYG, czyli edytor wizualny bez znajomości składni, i możesz w każdej chwili przełączyć się między nimi bez utraty treści. Strony układasz w drzewo katalogów, na przykład "Wdrożenie", "Procedury", "Dostępy", więc struktura dokumentacji odzwierciedla strukturę firmy zamiast być płaską listą tytułów. Każda zmiana strony trafia do historii wersji, w zakładce Historia widać wszystkie poprzednie treści i można cofnąć do dowolnej z nich jednym kliknięciem, co jest przydatne, gdy ktoś przez pomyłkę nadpisze fragment procedury. Wyszukiwarka w górnym pasku przeszukuje treść wszystkich stron, nie tylko tytuły, więc fragment zdania wystarczy, żeby trafić na właściwą instrukcję, nawet jeśli nie pamiętasz, jak dokładnie nazwano stronę.
Uprawnienia i praca zespołowa
Nie każda strona powinna być widoczna dla całej firmy, dlatego Wiki.js pozwala nadawać uprawnienia na dwóch poziomach: grup użytkowników i pojedynczych stron. W sekcji Administracja -> Grupy zakładasz grupy odpowiadające działom, na przykład "Zarząd", "Dział techniczny", "Handlowcy", i przypisujesz do nich uprawnienia do odczytu, edycji albo zarządzania konkretnymi gałęziami drzewa stron. Dzięki temu dostępy do haseł serwerowych widzi tylko dział techniczny, a polityka urlopowa jest otwarta dla wszystkich, bez trzymania dwóch osobnych systemów. Dodawanie nowego pracownika sprowadza się do stworzenia konta i przypisania go do właściwej grupy, zamiast ręcznego rozsyłania linków do plików rozrzuconych po dyskach współdzielonych.
Kopie zapasowe i eksport treści
Wiki.js trzyma dane w kontenerze PostgreSQL, więc backup działa dokładnie tak jak dla każdej innej aplikacji na Saplo, obejmuje pliki i bazę danych razem. Na planach Box L i wyższych kopia zapasowa tworzy się automatycznie codziennie, a na Box S i M backup jest dostępny jako płatny dodatek. Ręczną kopię możesz zrobić w każdej chwili w panelu w sekcji Backupy, niezależnie od automatu, na przykład tuż przed większą reorganizacją struktury stron. Przywrócenie z kopii cofa aplikację do stanu z momentu jej wykonania, co warto pamiętać przed testowaniem ryzykownych zmian na produkcyjnej bazie wiedzy. Dodatkowo Wiki.js pozwala eksportować pojedyncze strony do plików markdown z poziomu edytora, więc fragment dokumentacji można wynieść poza panel bez robienia pełnego backupu całej aplikacji.
Wiki.js na Saplo kontra pliki rozrzucone po dyskach
| Pliki na dysku/w mailach | Wiki.js na Saplo | |
|---|---|---|
| Miejsce dokumentacji | rozrzucone, każdy trzyma po swojemu | jedno miejsce, wspólne dla zespołu |
| Historia zmian | brak, nadpisany plik znika bezpowrotnie | pełna historia każdej strony, można cofnąć |
| Szukanie | po nazwie pliku | po treści całej strony |
| Dostęp dla zespołu | udostępnianie ręcznie, bez kontroli | konta i uprawnienia per użytkownik i grupa |
| Gdzie są dane | dysk lokalny albo cudza chmura | Twój Box |
| Koszt kolejnego konta | zależny od planu chmury albo licencji Confluence | w cenie planu Saplo |
Najczęstsze pytania
Czy Wiki.js ma edytor WYSIWYG, czy trzeba znać markdown? Oba, przy każdej nowej stronie wybierasz edytor markdown albo wizualny WYSIWYG bez znajomości składni, można też przełączać się między nimi w trakcie pisania tej samej strony.
Skąd wziąć dane logowania po instalacji? Konto administratora zakładasz sam w kreatorze przy pierwszym wejściu na domenę, Wiki.js nie generuje domyślnego hasła jak Paperless-ngx.
Czy strony mają historię zmian? Tak, każda edycja trafia do historii wersji strony, z możliwością podglądu i przywrócenia dowolnej wcześniejszej wersji.
Czy mogę ograniczyć dostęp do wybranych stron? Tak, Wiki.js pozwala nadawać uprawnienia na poziomie grup i pojedynczych stron, więc na przykład dostępy do serwerów może widzieć tylko dział techniczny.
Czym Wiki.js różni się od BookStack? Wiki.js daje swobodne drzewo stron i wymaga własnego PostgreSQL, BookStack narzuca strukturę Półka/Książka/Rozdział i korzysta ze współdzielonej bazy MySQL Saplo, więc startuje na mniejszym Boxie. Oba stoją obok siebie w katalogu aplikacji.
Czy mogę mieć Wiki.js i inną aplikację na jednym Boxie? Tak, każdy plan ma nieograniczoną liczbę aplikacji, ograniczeniem jest wyłącznie RAM i dysk Boxa.
Jeśli masz pytania przy stawianiu Wiki.js na własnym Boxie albo organizacji dokumentacji zespołu, napisz do nas, pomożemy z pierwszą konfiguracją.