Teamdokumentation brukar dö på ett av två sätt: utspridd i chattrådar som ingen kan söka i, eller begravd i en wiki så klumpig att ingen uppdaterar den. BookStack är den sällsynta självhostade wikin som folk faktiskt använder. Innehållet ligger på hyllor, i böcker, kapitel och sidor — en struktur alla förstår utan utbildning. Och den behöver knappt någon server.
Varför BookStack
- Självklar struktur. Böcker och kapitel i stället för en platt hög med sidor.
- Redigering som inte skrämmer någon. En WYSIWYG-editor som standard, Markdown för den som föredrar det.
- Riktiga behörigheter. Roller per hylla, bok eller sida — håll HR-dokument borta från konsulter.
- Företagsinloggning. LDAP, SAML2 och OpenID Connect finns inbyggt.
- Din data. Allt ligger i en MariaDB-databas och en mapp på din server.
Det är inte rätt verktyg för allt. Utvecklardokumentation som ska ändras tillsammans med koden hör hemma i repositoryt, inte i en wiki.
Vad den kräver
BookStack är lätt. För de flesta team är Micro-IP — 1 vCPU, 2 GB, $10 i månaden — mer än nog. Den dedikerade IP:n är det som låter kollegor nå den via HTTPS på din domän. Disken växer med uppladdade skärmdumpar och PDF:er, inte med antalet sidor.
Installation med Docker Compose
Vi använder de välanvända imagesen från LinuxServer.io. Generera först en applikationsnyckel:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
Kopiera värdet base64:... som skrivs ut. Skapa sedan docker-compose.yml:
services:
bookstack:
image: lscr.io/linuxserver/bookstack:latest
environment:
- PUID=1000
- PGID=1000
- APP_URL=https://wiki.example.com
- APP_KEY=base64:paste-your-key-here
- DB_HOST=db
- DB_PORT=3306
- DB_DATABASE=bookstack
- DB_USERNAME=bookstack
- DB_PASSWORD=change-me
volumes:
- ./bookstack:/config
ports:
- 127.0.0.1:6875:80
depends_on:
- db
restart: unless-stopped
db:
image: lscr.io/linuxserver/mariadb:latest
environment:
- PUID=1000
- PGID=1000
- MYSQL_ROOT_PASSWORD=change-me-too
- MYSQL_DATABASE=bookstack
- MYSQL_USER=bookstack
- MYSQL_PASSWORD=change-me
volumes:
- ./db:/config
restart: unless-stopped
docker compose up -d
docker compose logs -f bookstack
APP_URL måste stämma med adressen folk kommer att använda, inklusive https://. Blir det fel går bilder och länkar sönder på konstiga sätt. Mer om Compose i vår guide för att driftsätta en stack.
HTTPS och första inloggningen
Peka en subdomän mot servern (hur), sätt nginx framför 127.0.0.1:6875 och lägg till ett certifikat med certbot — guiden om reverse proxy går igenom det.
Logga sedan in med standardkontot: admin@admin.com / password. Ändra e-postadress och lösenord direkt, innan du delar länken. Alla andra får egna konton eller loggar in via er identitetsleverantör.
Backuper
Två saker att skydda: databasen och uppladdningarna i ./bookstack. Ett nattligt jobb som det här täcker databasen:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
Säkerhetskopiera sedan /var/backups och compose-mappen externt — precis vad vår restic-guide gör. Managed Backups lägger till dagliga återställningspunkter för hela servern ovanpå.
Underhåll
Uppdatering är docker compose pull && docker compose up -d. BookStack kör sina databasmigreringar vid start. Läs versionsinformationen före huvudversioner; den är kort och tydlig.
Vill teamet också ha en plats för ärenden och kod passar en självhostad Git-server fint bredvid, på samma sorts plan.
Kommentarer
Inga kommentarer än. Bli först.