Ekip dokümantasyonu genelde iki şekilde ölür: kimsenin arayamadığı sohbet dizilerine dağılarak ya da kimsenin güncellemediği kadar hantal bir wiki'ye gömülerek. BookStack, insanların gerçekten kullandığı o nadir kendi barındırılan wiki'dir. İçerik raflarda, kitaplarda, bölümlerde ve sayfalarda durur — herkesin eğitim almadan anladığı bir yapı. Üstelik neredeyse hiç sunucu istemez.
Neden BookStack
- Apaçık yapı. Düz bir sayfa yığını yerine kitaplar ve bölümler.
- Kimseyi korkutmayan düzenleme. Varsayılan olarak WYSIWYG editör, tercih edenler için Markdown.
- Gerçek izinler. Raf, kitap veya sayfa başına roller — İK belgelerini dış çalışanlardan uzak tutun.
- Şirket girişi. LDAP, SAML2 ve OpenID Connect yerleşik gelir.
- Verileriniz. Her şey bir MariaDB veritabanında ve sunucunuzdaki bir klasörde durur.
Her iş için doğru araç değildir. Kodla birlikte değişmesi gereken geliştirici dokümantasyonu wiki'de değil, depoda yer almalı.
Nelere ihtiyaç duyar
BookStack hafiftir. Çoğu ekip için Micro-IP — 1 vCPU, 2 GB, ayda $10 — fazlasıyla yeterli. Özel IP, çalışma arkadaşlarınızın alan adınızda HTTPS ile erişmesini sağlayan şeydir. Disk sayfa sayısıyla değil, yüklenen ekran görüntüleri ve PDF'lerle büyür.
Docker Compose ile kurulum
Yaygın kullanılan LinuxServer.io image'larını kullanacağız. Önce bir uygulama anahtarı oluşturun:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
Yazdırdığı base64:... değerini kopyalayın. Sonra docker-compose.yml dosyasını oluşturun:
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, insanların kullanacağı adresle, https:// dahil, eşleşmelidir. Yanlış olursa görseller ve bağlantılar tuhaf şekillerde bozulur. Compose hakkında daha fazlası stack dağıtım rehberimizde.
HTTPS ve ilk giriş
Bir alt alan adını sunucuya yönlendirin (nasıl), 127.0.0.1:6875 önüne nginx koyun ve certbot ile bir sertifika ekleyin — reverse proxy rehberi adım adım anlatıyor.
Sonra varsayılan hesapla giriş yapın: admin@admin.com / password. Bağlantıyı paylaşmadan önce e-postayı ve şifreyi hemen değiştirin. Diğer herkes kendi hesabını alır ya da kimlik sağlayıcınız üzerinden giriş yapar.
Yedekler
Korunacak iki şey var: veritabanı ve ./bookstack içindeki yüklemeler. Bunun gibi gecelik bir görev veritabanını kapsar:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
Ardından /var/backups ve compose klasörünü sunucu dışına yedekleyin — restic rehberimizin yaptığı tam olarak budur. Managed Backups bunun üstüne günlük tam sunucu geri yükleme noktaları ekler.
Bakım
Güncelleme docker compose pull && docker compose up -d komutudur. BookStack veritabanı migration'larını başlangıçta çalıştırır. Ana sürümlerden önce sürüm notlarını okuyun; kısa ve nettirler.
Ekibiniz talepler ve kod için de bir yer istiyorsa, kendi barındırdığınız bir Git sunucusu aynı türde bir planda hemen yanında güzelce durur.
Yorumlar
Henüz yorum yok. İlk olun.