Opis aplikacji
Bookstack to wspaniała aplikacja typu Wiki pozwalająca w wygodny sposób organizować dowolną informację i budowanie bazy wiedzy na dowolny temat, posiadająca następujące cechy:
- Darmowe i otwarte oprogramowanie. BookStack jest w pełni darmowy i otwarty, na licencji MIT. Źródło jest dostępne na GitHubie. Pobieranie i instalowanie własnej instancji bookstack jest bezpłatne.
- Łatwy, prosty interfejs. Prostota była najwyższym priorytetem podczas tworzenia BookStack. Edytor stron ma prosty interfejs WYSIWYG, a cała zawartość jest podzielona na trzy proste grupy: Książki Rozdziały Strony
- Wyszukiwalne i połączone. Treści w BookStack można w pełni przeszukiwać. Możesz wyszukiwać na poziomie książki lub we wszystkich książkach, rozdziałach i stronach. Możliwość bezpośredniego linkowania do dowolnego akapitu pozwala zachować połączenie dokumentacji.
- Konfigurowalny. Opcje konfiguracji pozwalają skonfigurować BookStack tak, aby pasował do Twojego przypadku użycia. Możesz zmienić nazwę, logo i opcje rejestracji. Możesz także zmienić, czy cały system jest publicznie widoczny, czy nie.
- Proste wymagania. BookStack jest zbudowany przy użyciu PHP, na szczycie frameworka Laravel i używa MySQL do przechowywania danych.
- Wbudowane diagrams.net. Edytor stron w BookStack ma wbudowaną funkcję rysowania diagrams.net, umożliwiając szybkie i łatwe tworzenie diagramów w dokumentacji.
- Wielojęzyczny. Użytkownicy BookStack mogą ustawić preferowany język. Dzięki wspaniałym współtwórcom społeczności, obecne języki wbudowane w BookStack to EN, FR, DE, ES, IT, JA, NL, PL, RU i wiele innych.
- Opcjonalny edytor Markdown. Jeśli wolisz pisać w Markdown, BookStack Cię wspiera. Dostępny jest edytor przeceny, który zawiera podgląd na żywo podczas pisania dokumentacji.
- Zintegrowane uwierzytelnianie. Oprócz domyślnego adresu e-mail/hasła można używać dostawców społecznościowych, takich jak GitHub, Google, Slack, AzureAD i innych. Dla środowisk korporacyjnych dostępne są opcje Okta, SAML2 i LDAP.
- Potężne funkcje. Oprócz zaawansowanego wyszukiwania i łączenia istnieje również sortowanie między książkami, rewizje stron i zarządzanie obrazami. Pełny system ról i uprawnień umożliwia blokowanie treści i działań zgodnie z wymaganiami.
- Uwierzytelnianie wieloskładnikowe. Usługa MFA jest wbudowana i może być egzekwowana na poziomie poszczególnych ról w razie potrzeby. Opcje usługi MFA obejmują TOTP (Google/Microsoft Authenticator, Authy itp.) oraz statyczne kody zapasowe.
- Tryby ciemne i jasne. BookStack zapewnia interfejs użytkownika zarówno w jasnym, jak i ciemnym motywie, oszczędzając oczy tym, którzy wolą pracować w cieniu. Jest to konfigurowalne na poziomie użytkownika.
Przydatne adresy związane z aplikacją
- Strona projektu https://www.bookstackapp.com/
- Obraz Dockera https://hub.docker.com/r/linuxserver/bookstack
Przygotowanie systemu do uruchomienia aplikacji w kontenerze Docker
Proces przygotowania czystego systemu Debian 11 do uruchamiania aplikacji dockerowych został opisany na stronie https://itadmin.vblog.ovh/docker-instalacja-i-konfiguracja-na-systemie-debian-11/
Uruchomienie aplikacji
Przygotowanie docker-compose.yml
mkdir -p /home/dockeruser/docker/appdata/bookstack/ nano /home/dockeruser/docker/appdata/bookstack/docker-compose.yml
---
version: "2"
networks:
npm_proxy:
external: true
services:
bookstack:
image: lscr.io/linuxserver/bookstack
networks:
npm_proxy:
ipv4_address: 192.168.89.110 # You can specify a static IP
container_name: bookstack
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://bookstack.netapps.ovh
- DB_HOST=bookstack_db
- DB_USER=bookstack
- DB_PASS=ALEPASS2107
- DB_DATABASE=bookstackapp
volumes:
- /home/dockeruser/docker/appdata/bookstack/:/config
ports:
- 6875:80
restart: unless-stopped
depends_on:
- bookstack_db
bookstack_db:
image: lscr.io/linuxserver/mariadb
networks:
npm_proxy:
ipv4_address: 192.168.89.111 # You can specify a static IP
container_name: bookstack_db
labels:
- "com.centurylinklabs.watchtower.enable=true"
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=
- TZ=Europe/Warsaw
- MYSQL_DATABASE=bookstackapp
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=ALEPASS2107
volumes:
- /home/dockeruser/docker/appdata/bookstack:/config
restart: unless-stopped
Opis docker-compose.yml
- 192.168.89.110/111 to prywatne adresy ip tej aplikacji kontenerowej (aplikacji www i bazy danych). Wybrane przeze mnie aplikacje kontenerowe mają stały określony adres ip z prywatnej adresacji 192.168.89.0/24
- PUID / PGID odpowiada uid/gid (1000/10000) użytkownika dockeruser na moim serwerze z działającym Dockerem
- 192.168.10.30 to adres ip serwera z zainstalowanym Dockerem
- /home/dockeruser/docker/appdata/bookstack/(…) to ścieżka na moim serwerze z działającym Dockerem do katalogu przechowującego indywidualne ustawienia, konfiguracje, dane konkretnej aplikacji kontenerowej nawet po jej wyłączeniu czy też usunięciu
- labels: com.centurylinklabs.watchtower.enable=true oznacza, że obraz kontenera będzie automatycznie aktualizowany przez aplikację Dockerową Watchtower
Uruchomienie aplikacji na podstawie docker-compose.yml
cd /home/dockeruser/docker/appdata/bookstack/ && docker-compose up -d
Zarządzanie uruchomionym kontenerem aplikacji
Więcej informacji na temat zarządzania aplikacjami w kontenerze można znaleźć na stronach
- https://itadmin.vblog.ovh/docker-instalacja-i-konfiguracja-na-systemie-debian-11/
- https://itadmin.vblog.ovh/docker-aktualizacja-aplikacji-kontenerowych/
- https://itadmin.vblog.ovh/docker-watchtower-aktualizacja-aplikacji-kontenerowych/
- https://itadmin.vblog.ovh/docker-portainer-menedzer-kontenerow-dockerowych/
Użytkowanie i konfiguracja aplikacji
- dostęp do interfejsu www aplikacji http://192.168.10.30:6875 lub https://bookstack.netapps.ovh/ w zależności od konfiguracji naszej sieci oraz wpisów w docker-compose.yml
- domyślny login i hasło: [email protected] / password
- dla wygodnego dostępu poprzez nazwę domenową np. bookstack.netapps.ovh i szyfrowane połączenie https należy skonfigurować odpowiednio Nginx Proxy Manager wg. załączonych poniżej zrzutów ekranu
- na naszym lokalnym serwerze DNS np. MikroTik należy utworzyć statyczny wpis o treści: rekord typu A 192.168.10.30 => bookstack.netapps.ovh





