टीम के दस्तावेज़ आमतौर पर दो में से किसी एक तरीक़े से मरते हैं: ऐसे चैट थ्रेड में बिखरे हुए जिनमें कोई खोज नहीं सकता, या ऐसी भद्दी विकी में दबे हुए जिसे कोई अपडेट नहीं करता। BookStack वह दुर्लभ ख़ुद होस्ट की गई विकी है जिसे लोग सच में इस्तेमाल करते हैं। सामग्री शेल्फ़, किताबों, अध्यायों और पन्नों में रहती है — ऐसी संरचना जिसे हर कोई बिना ट्रेनिंग समझ लेता है। और इसे लगभग कोई सर्वर नहीं चाहिए।
BookStack क्यों
- साफ़ संरचना। पन्नों के सपाट ढेर के बजाय किताबें और अध्याय।
- ऐसी एडिटिंग जो किसी को न डराए। डिफ़ॉल्ट रूप से WYSIWYG एडिटर, पसंद करने वालों के लिए Markdown।
- असली अनुमतियाँ। हर शेल्फ़, किताब या पन्ने के लिए भूमिकाएँ — HR के दस्तावेज़ ठेकेदारों से दूर रहते हैं।
- कंपनी लॉगिन। LDAP, SAML2 और OpenID Connect पहले से मौजूद हैं।
- आपका डेटा। सब कुछ एक MariaDB डेटाबेस और आपके सर्वर के एक फ़ोल्डर में है।
यह हर काम का सही टूल नहीं है। डेवलपर दस्तावेज़ जिन्हें कोड के साथ बदलना हो, उनकी जगह रिपॉज़िटरी है, विकी नहीं।
इसे क्या चाहिए
BookStack हल्का है। ज़्यादातर टीमों के लिए Micro-IP — 1 vCPU, 2 GB, $10 प्रति माह — काफ़ी से ज़्यादा है। डेडिकेटेड IP ही साथियों को आपके डोमेन पर HTTPS से पहुँचने देता है। डिस्क अपलोड किए स्क्रीनशॉट और PDF से बढ़ती है, पन्नों की संख्या से नहीं।
Docker Compose से इंस्टॉल
हम LinuxServer.io की लोकप्रिय इमेज इस्तेमाल करेंगे। पहले ऐप्लिकेशन कुंजी बनाएँ:
docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey
जो base64:... मान यह छापे उसे कॉपी करें। फिर 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 को उसी पते से मेल खाना चाहिए जो लोग इस्तेमाल करेंगे, https:// समेत। ग़लत हुआ तो तस्वीरें और लिंक अजीब तरीक़ों से टूटते हैं। Compose के बारे में और हमारी स्टैक डिप्लॉय गाइड में है।
HTTPS और पहला लॉगिन
एक सबडोमेन को सर्वर पर पॉइंट करें (कैसे), 127.0.0.1:6875 के आगे nginx रखें और certbot से सर्टिफ़िकेट जोड़ें — reverse proxy गाइड क़दम-दर-क़दम बताती है।
फिर डिफ़ॉल्ट अकाउंट से लॉगिन करें: admin@admin.com / password। लिंक शेयर करने से पहले ईमेल और पासवर्ड तुरंत बदलें। बाक़ी सबको अपना अकाउंट मिलता है या वे आपके पहचान प्रदाता से लॉगिन करते हैं।
बैकअप
दो चीज़ों की रक्षा करनी है: डेटाबेस और ./bookstack के अंदर के अपलोड। ऐसा रात का जॉब डेटाबेस को कवर करता है:
docker compose exec -T db mysqldump -u bookstack -pchange-me bookstack > /var/backups/bookstack.sql
फिर /var/backups और compose फ़ोल्डर का सर्वर से बाहर बैकअप लें — हमारी restic गाइड ठीक यही करती है। Managed Backups इसके ऊपर पूरे सर्वर के रोज़ाना रिस्टोर पॉइंट जोड़ते हैं।
रखरखाव
अपडेट करना docker compose pull && docker compose up -d है। BookStack शुरू होते समय डेटाबेस माइग्रेशन चलाता है। बड़े वर्शन से पहले रिलीज़ नोट्स पढ़ें; वे छोटे और साफ़ हैं।
अगर आपकी टीम टिकट और कोड के लिए भी जगह चाहती है, तो ख़ुद होस्ट किया गया Git सर्वर उसी तरह के प्लान पर इसके बगल में अच्छा बैठता है।
टिप्पणियाँ
अभी तक कोई टिप्पणी नहीं। पहले बनें।