Documentația de echipă moare de obicei în unul din două feluri: împrăștiată prin fire de chat în care nu caută nimeni sau îngropată într-un wiki atât de greoi încât nu-l actualizează nimeni. BookStack e acel wiki rar, găzduit de tine, pe care oamenii chiar îl folosesc. Conținutul stă pe rafturi, în cărți, capitole și pagini — o structură pe care o înțelege oricine fără instruire. Și aproape că nu are nevoie de server.
De ce BookStack
- Structură evidentă. Cărți și capitole în loc de o grămadă plată de pagini.
- Editare care nu sperie pe nimeni. Editor WYSIWYG implicit, Markdown pentru cei care îl preferă.
- Permisiuni ca lumea. Roluri pe raft, carte sau pagină — ține documentele de HR departe de colaboratorii externi.
- Autentificarea companiei. LDAP, SAML2 și OpenID Connect sunt incluse.
- Datele tale. Totul stă într-o bază de date MariaDB și un folder pe serverul tău.
Nu e unealta potrivită pentru orice. Documentația pentru dezvoltatori, care trebuie să se schimbe odată cu codul, își are locul în repository, nu într-un wiki.
De ce are nevoie
BookStack e ușor. Pentru majoritatea echipelor, Micro-IP — 2 vCPU, 2 GB, $10/lună — e mai mult decât suficient. IP-ul dedicat e cel care le permite colegilor să ajungă la el prin HTTPS, pe domeniul tău. Discul crește odată cu capturile de ecran și PDF-urile încărcate, nu cu numărul de pagini.
Instalare cu Docker Compose
Folosim imaginile LinuxServer.io, foarte răspândite. Mai întâi generează o cheie de aplicație:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
Copiază valoarea base64:... pe care o afișează. Apoi creează 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 trebuie să fie exact adresa pe care o vor folosi oamenii, inclusiv https://. Dacă o greșești, imaginile și linkurile se strică în moduri ciudate. Mai multe despre Compose în ghidul nostru de implementare a unui stack.
HTTPS și prima autentificare
Îndreaptă un subdomeniu spre server (cum), pune nginx în fața lui 127.0.0.1:6875 și adaugă un certificat cu certbot — ghidul despre reverse proxy te duce pas cu pas.
Apoi autentifică-te cu contul implicit: admin@admin.com / password. Schimbă imediat e-mailul și parola, înainte să trimiți linkul. Toți ceilalți primesc conturi proprii sau intră prin furnizorul vostru de identitate.
Backup-uri
Sunt două lucruri de protejat: baza de date și încărcările din ./bookstack. O sarcină de noapte ca aceasta acoperă baza de date:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
Apoi fă backup la /var/backups și la folderul compose în afara serverului — ghidul nostru despre restic face exact asta. Backup-urile gestionate adaugă peste ele puncte zilnice de restaurare pentru tot serverul.
Întreținere
Actualizarea înseamnă docker compose pull && docker compose up -d. BookStack își rulează migrările bazei de date la pornire. Citește notele de versiune înainte de versiunile majore; sunt scurte și clare.
Dacă echipa ta vrea și un loc pentru tichete și cod, un server Git găzduit de tine stă foarte bine lângă el, pe același tip de plan.
Comentarii
Încă nu există comentarii. Fii primul.