Teamdokumentation dør som regel på én af to måder: spredt ud over chattråde, som ingen kan søge i, eller begravet i en wiki så klodset, at ingen opdaterer den. BookStack er den sjældne selvhostede wiki, som folk faktisk bruger. Indholdet ligger på hylder, i bøger, kapitler og sider — en struktur, alle forstår uden oplæring. Og den kræver næsten ingen server.
Hvorfor BookStack
- Indlysende struktur. Bøger og kapitler i stedet for en flad bunke sider.
- Redigering, der ikke skræmmer nogen. En WYSIWYG-editor som standard, Markdown til dem, der foretrækker det.
- Ordentlige rettigheder. Roller pr. hylde, bog eller side — hold HR-dokumenter væk fra eksterne konsulenter.
- Virksomhedslogin. LDAP, SAML2 og OpenID Connect er indbygget.
- Dine data. Alt ligger i en MariaDB-database og en mappe på din server.
Det er ikke det rette værktøj til alt. Udviklerdokumentation, der skal ændres sammen med koden, hører hjemme i repositoryet, ikke i en wiki.
Hvad den kræver
BookStack er let. Til de fleste teams er Micro-IP — 1 vCPU, 2 GB, $10 om måneden — mere end nok. Den dedikerede IP er det, der lader kolleger nå den over HTTPS på dit domæne. Disken vokser med uploadede skærmbilleder og PDF'er, ikke med antallet af sider.
Installation med Docker Compose
Vi bruger de udbredte images fra LinuxServer.io. Generér først en applikationsnøgle:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
Kopiér den base64:...-værdi, den udskriver. Opret derefter 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 skal passe med den adresse, folk kommer til at bruge, inklusive https://. Tager du fejl, går billeder og links i stykker på mærkelige måder. Mere om Compose i vores guide til udrulning af en stak.
HTTPS og første login
Peg et subdomæne på serveren (sådan), sæt nginx foran 127.0.0.1:6875, og tilføj et certifikat med certbot — guiden til reverse proxy tager dig igennem det.
Log derefter ind med standardkontoen: admin@admin.com / password. Skift e-mail og adgangskode med det samme, før du deler linket. Alle andre får deres egen konto eller logger ind via jeres identitetsudbyder.
Backup
To ting at beskytte: databasen og uploads i ./bookstack. Et natligt job som dette dækker databasen:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
Tag derefter backup af /var/backups og compose-mappen eksternt — præcis det, vores restic-guide gør. Managed Backups lægger daglige gendannelsespunkter for hele serveren oveni.
Vedligeholdelse
Opdatering er docker compose pull && docker compose up -d. BookStack kører sine databasemigreringer ved opstart. Læs udgivelsesnoterne før hovedversioner; de er korte og klare.
Vil dit team også have et sted til sager og kode, passer en selvhostet Git-server fint ved siden af, på samme slags plan.
Kommentarer
Ingen kommentarer endnu. Vær den første.