SSD Nodes Learn Hosting plans →
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-13

बेहतरीन self-hosted wiki: BookStack, Wiki.js और Outline

BookStack, Wiki.js और Outline का तुलनात्मक विश्लेषण। सेटअप, एडिटिंग मॉडल और लॉगिन विकल्पों के आधार पर जानें कि आपकी टीम या व्यक्तिगत उपयोग के लिए कौन सा विकल्प सबसे उपयुक्त है।

आपको कौन सा self-hosted wiki चलाना चाहिए

एक self-hosted wiki आपकी टीम के दस्तावेजों को एक ऐसे सर्वर पर एक ही जगह व्यवस्थित करता है जिसे आप नियंत्रित करते हैं। BookStack, Wiki.js और Outline तीनों ही यह काम करते हैं। इनमें मुख्य अंतर यह है कि पहला पेज लोड होने से पहले आपको कितनी तैयारी करनी पड़ती है और कौन लॉग इन कर सकता है।

BookStack को सेटअप करना सबसे आसान है और यह संरचना के मामले में सबसे अधिक निश्चित (opinionated) है। Wiki.js आपको एक पेज ट्री पर एडिटर्स का सबसे व्यापक विकल्प देता है। इन तीनों में Outline का राइटिंग अनुभव सबसे बेहतर है, और यह तब तक किसी को साइन इन नहीं करने देगा जब तक आप कोई बाहरी identity provider कनेक्ट नहीं करते।

नीचे दी गई सभी जानकारी प्रोजेक्ट्स के अपने documentation और उनके प्रकाशित configuration files से ली गई है। यह क्षमताओं की तुलना है, न कि कोई बेंचमार्क। वर्शन नंबर और आवश्यकताएं एक तारीख के साथ अंकित हैं क्योंकि ये तीनों प्रोजेक्ट्स लगातार अपडेट होते रहते हैं।

संरचना ही वास्तविक विकल्प है

BookStack आपकी सामग्री के आकार को निर्धारित करता है। एक पेज एक बुक के भीतर रहता है, एक बुक में चैप्टर्स हो सकते हैं, और शेल्फ बुक्स को समूहित करती हैं। आप पांचवां स्तर नहीं बना सकते। यह सीमा ही इस प्रोडक्ट की विशेषता है: एक नया लेखक जानता है कि पेज कहाँ जाएगा क्योंकि इसके लिए केवल एक ही स्थान उपलब्ध है। इसकी कीमत यह है कि जो सामग्री इस आकार में फिट नहीं होती, उसे जबरन इसमें डालना पड़ता है।

Wiki.js एक पाथ ट्री का उपयोग करता है, जैसे डिस्क पर फोल्डर होते हैं। ops/backup/restic पर स्थित एक पेज वहीं रहता है जहाँ आप उसे रखते हैं, और गहराई आप स्वयं चुनते हैं। कोई भी चीज दो लोगों को एक ही विषय को दो अलग-अलग शाखाओं में फाइल करने से नहीं रोकती, इसलिए Wiki.js इंस्टेंस को एक ऐसे व्यक्ति की आवश्यकता होती है जो ट्री का प्रबंधन करे।

Outline डॉक्यूमेंट्स के भीतर नेस्टेड डॉक्यूमेंट्स के साथ कलेक्शंस का उपयोग करता है। डॉक्यूमेंट को मूव करना माउस से ड्रैग करने जैसा है। यह तीनों में सबसे अधिक लचीला है, इसलिए इसमें अव्यवस्था फैलना सबसे आसान है।

BookStack: सबसे छोटा इंस्टॉलेशन

BookStack एक PHP एप्लिकेशन है जो MySQL द्वारा समर्थित है। जुलाई 2026 तक, इसके दस्तावेजीकरण के अनुसार PHP 8.2 या नया वर्ज़न, और MySQL 8.0 या MariaDB 10.6 या उससे नया वर्ज़न आवश्यक है। यदि आप सोर्स से इंस्टॉल करते हैं, तो Composer 2.2 या उससे नया वर्ज़न भी चाहिए। वर्तमान रिलीज़ लाइन 26.05 है।

यह प्रोजेक्ट प्रत्येक Ubuntu रिलीज़ के लिए एक इंस्टॉलेशन स्क्रिप्ट प्रकाशित करता है। 24.04 स्क्रिप्ट आपके लिए Apache, MySQL 8.0 और PHP 8.3 इंस्टॉल करती है।

wget https://codeberg.org/bookstack/devops/raw/branch/main/scripts/installation-ubuntu-24.04.sh
chmod a+x installation-ubuntu-24.04.sh
sudo ./installation-ubuntu-24.04.sh

उस स्क्रिप्ट को चलाने से पहले दी गई चेतावनी को पढ़ें। दस्तावेजीकरण में कहा गया है कि यह "केवल एक नए OS के लिए है, यह Apache, MySQL 8.0 और PHP 8.3 इंस्टॉल करेगा और मशीन पर किसी भी मौजूदा वेब सेटअप को ओवरराइट कर सकता है"। जिस सर्वर पर पहले से ही पोर्ट 80 पर रिस्पॉन्स मिल रहा है, वहां यह स्क्रिप्ट उस पोर्ट को ले लेती है और Apache कॉन्फ़िगरेशन को फिर से लिख देती है। वहां इसके बजाय कंटेनर का उपयोग करें, या Ubuntu 24.04 पर मौजूदा LAMP स्टैक के ऊपर मैन्युअल रूप से BookStack इंस्टॉल करें।

कंटेनर का तरीका LinuxServer.io इमेज का उपयोग करता है, जो कि BookStack दस्तावेजीकरण द्वारा सुझाया गया विकल्प है। BookStack को एक सेशन एन्क्रिप्शन की (session encryption key) की आवश्यकता होती है और इसके बिना यह पेज सर्व नहीं करेगा, इसलिए इसे पहले जनरेट करें।

docker run -it --rm --entrypoint /bin/bash lscr.io/linuxserver/bookstack:latest appkey

प्रिंट की गई वैल्यू को APP_KEY में कॉपी करें, फिर सर्विस लिखें:

services:
  bookstack:
    image: lscr.io/linuxserver/bookstack:latest
    container_name: bookstack
    environment:
      - PUID=1000
      - PGID=1000
      - TZ=Etc/UTC
      - APP_URL=https://wiki.example.com
      - APP_KEY=paste_the_generated_key_here
      - DB_HOST=bookstack_db
      - DB_PORT=3306
      - DB_USERNAME=bookstack
      - DB_PASSWORD=change_me
      - DB_DATABASE=bookstackapp
    volumes:
      - ./config:/config
    ports:
      - 6875:80
    restart: unless-stopped

APP_URL को उस एड्रेस से मेल खाना चाहिए जिसे रीडर्स वास्तव में टाइप करते हैं, जिसमें स्कीम और कोई भी पोर्ट शामिल है। इसे http://localhost पर सेट करें; यदि ऐसा नहीं करते हैं और साइट को HTTPS पर सर्व करते हैं, तो जनरेट किए गए लिंक और रीडायरेक्ट गलत होस्ट पर पॉइंट करेंगे, जिसे रीडर्स एक ऐसे लॉगिन पेज के रूप में देखेंगे जो खुद पर ही लूप करता है। यदि compose फाइलें आपके लिए नई हैं, तो इससे पहले VPS पर Docker Compose की बुनियादी बातें से शुरुआत करें।

इसे अप करें और जांचें कि एप्लिकेशन रिस्पॉन्स दे रही है, न कि केवल यह कि कंटेनर चल रहा है:

docker compose up -d
docker compose ps
curl -sI http://127.0.0.1:6875/login

200 OK का मतलब है कि PHP एप्लिकेशन बूट हो गई है और डेटाबेस तक पहुँच गई है। 500 का मतलब लगभग हमेशा यह होता है कि APP_KEY खाली है या डेटाबेस क्रेडेंशियल्स मेल नहीं खाते हैं, और docker compose logs bookstack यह प्रिंट करता है कि इन दोनों में से क्या समस्या है।

Wiki.js: एक ट्री, कई एडिटर्स

Wiki.js एक Node.js एप्लिकेशन है। इसका डॉक्यूमेंटेड Docker सेटअप इसे PostgreSQL के साथ जोड़ता है, हालाँकि यह सॉफ्टवेयर MySQL, MariaDB, MSSQL और SQLite को भी स्वीकार करता है। यह प्रोजेक्ट के अपने Docker पेज से लिया गया compose फाइल है:

services:
  db:
    image: postgres:15-alpine
    environment:
      POSTGRES_DB: wiki
      POSTGRES_PASSWORD: wikijsrocks
      POSTGRES_USER: wikijs
    logging:
      driver: none
    restart: unless-stopped
    volumes:
      - db-data:/var/lib/postgresql/data
  wiki:
    image: ghcr.io/requarks/wiki:2
    depends_on:
      - db
    init: true
    environment:
      DB_TYPE: postgres
      DB_HOST: db
      DB_PORT: 5432
      DB_USER: wikijs
      DB_PASS: wikijsrocks
      DB_NAME: wiki
    restart: unless-stopped
    ports:
      - "80:3000"
volumes:
  db-data:

इसे चलाने से पहले POSTGRES_PASSWORD और DB_PASS को एक साथ बदलें, क्योंकि ये एक ही क्रेडेंशियल हैं और सैंपल वैल्यू सार्वजनिक है। टैग को जानबूझकर ghcr.io/requarks/wiki:2 पर पिन किया गया है। डॉक्यूमेंटेशन latest के उपयोग के खिलाफ सलाह देता है, क्योंकि मेजर वर्जन जंप चलने वाले इंस्टेंस के डेटाबेस स्कीमा को बदल देता है।

वर्जन 2 वह लाइन है जिसे चलाना चाहिए। जुलाई 2026 तक, सबसे नया वर्जन 2 रिलीज 2.5.314 है, जो मई 2026 का है। वर्जन 3 मौजूद है, और इसका अपना डॉक्यूमेंटेशन कहता है: "यह साइट Wiki.js 3.0 के अस्थिर बीटा रिलीज के लिए है। आपको इसे प्रोडक्शन में इंस्टॉल नहीं करना चाहिए।" :3 टैग को एक प्रीव्यू के रूप में देखें।

पहली बार लोड होने पर, Wiki.js आपको इन-ब्राउज़र सेटअप के माध्यम से ले जाता है जो एडमिनिस्ट्रेटर अकाउंट बनाता है। जब तक आप इसे पूरा नहीं कर लेते, तब तक पोर्ट तक पहुँचने वाला कोई भी व्यक्ति उस विज़ार्ड को देख सकता है, इसलिए फायरवॉल खोलने से पहले सर्विस को अपने रिवर्स प्रॉक्सी और TLS (ट्रांसपोर्ट लेयर सिक्योरिटी) के पीछे रखें। जब सर्वर पर एक से अधिक सर्विस होस्ट की जाती हैं, तो अपने होस्टनेम पर एक विकी स्वाभाविक रूप से कई Docker ऐप्स के सामने Traefik के पीछे स्थित होता है।

एडिटर का विकल्प ही वह कारण है जिसके लिए लोग Wiki.js चुनते हैं। एक इंस्टेंस में Markdown पेज, विजुअल एडिटर पेज, रॉ HTML पेज और AsciiDoc पेज एक साथ रह सकते हैं। यह तब मदद करता है जब आप पुराने कंटेंट को ऐसे फॉर्मेट में इम्पोर्ट कर रहे हों जिसे आप कन्वर्ट नहीं करना चाहते। यह एक विकी में चार अलग-अलग स्टाइल रखने का एक तरीका भी है, इसलिए पहले दिन ही डिफॉल्ट एडिटर का निर्णय लें और उस निर्णय को लिख लें।

रूपरेखा: सबसे अच्छा एडिटर, सबसे भारी पूर्वापेक्षाएँ

Outline का अर्थ आमतौर पर वही होता है जब लोग कहते हैं कि उन्हें कोई ऐसा टूल चाहिए जो कमर्शियल नोट्स टूल जैसा महसूस हो। यह एक Node.js एप्लिकेशन है, और जुलाई 2026 तक इसका वर्तमान release 1.9.2 है। इसकी sample environment file में उन चीजों की सूची है जिनकी इसे आवश्यकता है: DATABASE_URL के माध्यम से PostgreSQL, REDIS_URL के माध्यम से Redis, दो रैंडम secrets, और एक सार्वजनिक रूप से पहुँच योग्य URL

openssl rand -hex 32
openssl rand -hex 32

इसे दो बार चलाएं और दोनों values को सुरक्षित रखें। पहली value SECRET_KEY बन जाती है, और दूसरी UTILS_SECRET। environment file का मुख्य भाग इस प्रकार दिखता है:

NODE_ENV=production
URL=https://docs.example.com
PORT=3000
SECRET_KEY=<first openssl value>
UTILS_SECRET=<second openssl value>
DATABASE_URL=postgres://outline:change_me@postgres:5432/outline
PGSSLMODE=disable
REDIS_URL=redis://redis:6379
FILE_STORAGE=local
FILE_STORAGE_LOCAL_ROOT_DIR=/var/lib/outline/data

PGSSLMODE=disable केवल तब सही होता है जब database उसी मशीन पर या उसी Docker network पर स्थित हो। यदि database किसी नेटवर्क के माध्यम से एक्सेस किया जा रहा है, तो इसे खाली छोड़ दें, अन्यथा कनेक्शन बिना एन्क्रिप्शन (clear text) के जाएगा। attachments के लिए अब आपको object storage का उपयोग करने की बाध्यता नहीं है: FILE_STORAGE=local uploads को ऊपर दी गई directory में लिखता है, जो कि एक ऐसा volume होना चाहिए जिसमें container लिख सके और जिसे आपके backups में शामिल किया गया हो। यदि आप उन फाइलों को S3 compatible bucket में रखना चाहते हैं, तो इसके बजाय AWS_* values के साथ FILE_STORAGE=s3 सेट करें।

अब वह हिस्सा जो लोगों को हैरान करता है। Outline में कोई इन-बिल्ट username और password लॉगिन नहीं है। इसके स्वयं के sample configuration में कहा गया है कि third-party sign-in credentials आवश्यक हैं: "काम करने वाले इंस्टॉलेशन के लिए इनमें से कम से कम एक की आवश्यकता है, अन्यथा आपके पास कोई sign-in विकल्प नहीं होगा"। प्रलेखित providers में Google, Slack, Microsoft Entra, Discord, और OIDC_CLIENT_ID, OIDC_CLIENT_SECRET, OIDC_AUTH_URI, OIDC_TOKEN_URI तथा OIDC_USERINFO_URI के माध्यम से कोई भी सामान्य OpenID Connect (OIDC) सर्वर शामिल हैं।

इसलिए, Outline की वास्तविक लागत Outline के साथ-साथ PostgreSQL, Redis और एक identity provider है। यदि आपकी टीम पहले से ही Google Workspace या Microsoft Entra के साथ साइन-इन करती है, तो उस अंतिम हिस्से में आपको केवल दस मिनट लगेंगे और Outline बहुत आकर्षक बन जाता है। यदि ऐसा नहीं है, तो आप Keycloak या Authentik जैसा कुछ self-host कर रहे होंगे, जो कि patch और backup करने के लिए एक दूसरी service है। तदनुसार memory का बजट निर्धारित करें: Outline का अपना मार्गदर्शन प्रति web process लगभग 512 MB है, जिसे WEB_CONCURRENCY द्वारा सेट किया जाता है, जो कि database और Redis के अतिरिक्त है।

प्रत्येक टूल यह कैसे संभालता है कि कौन क्या पढ़ सकता है

BookStack में डिफ़ॉल्ट रूप से लोकल ईमेल और पासवर्ड अकाउंट की सुविधा होती है, और यह विकल्पों के रूप में LDAP, SAML2 और OIDC को सपोर्ट करता है। अनुमतियाँ (permissions) प्रति रोल सेट की जाती हैं और इन्हें किसी एक शेल्फ, बुक, चैप्टर या पेज पर ओवरराइड किया जा सकता है। चूँकि पदानुक्रम (hierarchy) निश्चित है, इसलिए अनुमतियाँ एक अनुमानित तरीके से नीचे की ओर इनहेरिट होती हैं।

Wiki.js में भी लोकल अकाउंट्स की सुविधा होती है और यह उन रणनीतियों की एक लंबी सूची जोड़ता है जिन्हें आप एडमिन एरिया में इनेबल कर सकते हैं। इसके पेज रूल्स पाथ पैटर्न के आधार पर एक्सेस की अनुमति देते हैं या उसे अस्वीकार करते हैं। यह शक्तिशाली है लेकिन इसमें गलती होने की संभावना रहती है, क्योंकि ops/* के लिए लिखा गया कोई नियम चुपचाप उन सभी पेजों को कवर कर लेता है जिन्हें आप बाद में उस पाथ के अंतर्गत फाइल करते हैं।

Outline इस प्रश्न को पूरी तरह से डेलिगेट कर देता है। सदस्यता आपके आइडेंटिटी प्रोवाइडर का अनुसरण करती है, और Outline के भीतर आप कलेक्शन और ग्रुप के आधार पर एक्सेस को नियंत्रित करते हैं। जब कोई कंपनी छोड़ता है तो कोई लोकल अकाउंट पीछे नहीं छूटता, जो कि एक वास्तविक लाभ है, खासकर तब जब आइडेंटिटी प्रोवाइडर वही सिस्टम हो जिसके माध्यम से आप डीप्रोविजनिंग (deprovisioning) करते हैं।

प्रत्येक में सर्च कैसे काम करती है

सर्च वह सुविधा है जो यह तय करती है कि कोई विकी उपयोगी है या केवल भूली-बिसरी फाइलों का संग्रह।

BookStack डेटाबेस में सर्च करता है और पाठकों को एक ऐसी क्वेरी भाषा देता है जिसे वे एक मिनट में सीख सकते हैं। किसी वाक्यांश को उद्धरण चिह्नों में रखने के लिए, जैसे "london meeting", बिल्कुल वही स्ट्रिंग होनी चाहिए। वर्गाकार कोष्ठक (square brackets) टैग सर्च करते हैं: [location=london] टैग नाम, मान या दोनों के आधार पर मिलान करता है, जिसमें !=, >= और like जैसे तुलनात्मक ऑपरेटर शामिल हैं। कर्ली ब्रेसेस (curly braces) मेटाडेटा पर फिल्टर लगाते हैं, जैसा कि {created_after:2016-12-30} में है। किसी भी सटीक शब्द, टैग या फिल्टर टर्म को उसके आगे - लगाकर नकारा (negate) जा सकता है। BookStack एक क्वेरी में प्रत्येक प्रकार के शब्दों की संख्या को सीमित करता है, इसलिए बहुत लंबी क्वेरी को चलाने के बजाय उसे छोटा कर दिया जाता है।

Wiki.js सर्च को एक प्लगेबल मॉड्यूल के रूप में देखता है। इसके प्रलेखित (documented) इंजन एक बेसिक डेटाबेस इंजन, PostgreSQL इंजन, Elasticsearch, Algolia, AWS CloudSearch और Azure Search हैं। कुछ सौ पेजों के लिए बेसिक इंजन ठीक है। यदि आप PostgreSQL चलाते हैं, तो एडमिन एरिया में PostgreSQL इंजन पर स्विच करें, क्योंकि यह साधारण मिलान के बजाय डेटाबेस के अपने फुल-टेक्स्ट इंडेक्स का उपयोग करता है। Elasticsearch का उपयोग केवल तभी करें जब आपका विकी इतना बड़ा हो कि आप एक अतिरिक्त सर्च सर्विस को चलाने और पैच करने का प्रबंधन कर सकें।

Outline PostgreSQL फुल-टेक्स्ट इंडेक्स में सर्च करता है। इसमें चुनने के लिए कोई इंजन नहीं है और न ही ट्यून करने के लिए कुछ है, और यह अपलोड किए गए दस्तावेजों के अंदर के टेक्स्ट को भी सर्च करता है। कुछ हजार दस्तावेजों वाले टीम विकी के लिए, इन तीनों में से इसमें सबसे कम मेहनत लगती है। यदि यह कभी पर्याप्त तेज़ न रहे, तो इसे सुधारने के लिए इसमें कोई अतिरिक्त विकल्प भी उपलब्ध नहीं है।

आपके लिए कौन सा सही है

यदि आप चाहते हैं कि wiki आज दोपहर तक चलने लगे और आप संरचना के बजाय सामग्री पर चर्चा करना पसंद करते हैं, तो BookStack चुनें। इसमें सबसे कम गतिशील हिस्से हैं: एक PHP application और एक MySQL database। यह internal runbooks और customer documentation के लिए उपयुक्त है, और उन टीमों के लिए भी जहाँ अधिकांश लेखक इंजीनियर नहीं हैं। इन तीनों में से इसका बैकअप लेना सबसे आसान है, क्योंकि पूरी स्थिति एक database dump और uploads directory है।

यदि आपको किसी विशिष्ट editor या ऐसी authentication strategy की आवश्यकता है जो अन्य प्रदान नहीं करते हैं, या यदि आप मौजूदा Markdown या AsciiDoc का एक बड़ा हिस्सा import कर रहे हैं और path structure को सुरक्षित रखना चाहते हैं, तो Wiki.js चुनें। यह स्वीकार करें कि आप एक भारी stack चला रहे हैं, और major version tag को pin करें।

यदि लेखन की गुणवत्ता सबसे अधिक मायने रखती है, wiki सार्वजनिक के बजाय किसी टीम के लिए है, और आपके पास पहले से ही एक identity provider है, तो Outline चुनें। यह उस सेटअप को ऐसे editor के साथ पुरस्कृत करता है जिसे लोग वास्तव में उपयोग करना पसंद करते हैं। इसे अपना पहला self-hosted application न चुनें।

यदि तीनों में से कोई भी फिट नहीं बैठता है, तो बेमेल आमतौर पर सामग्री के प्रकार का होता है। स्कैन किए गए चालान और अनुबंध wiki के बजाय Paperless-ngx जैसे document management system में बेहतर रहते हैं, और उन्हें जबरदस्ती wiki में डालने के कारण ही बहुत सारी wikis अंततः छोड़ दी जाती हैं। दूसरा सामान्य बेमेल wiki के बजाय workspace चाहना है, जिसमें एक ही canvas पर दस्तावेज़, टेबल और व्हाइटबोर्ड हों, जहाँ self-hosted AFFiNE workspace ऊपर दिए गए तीनों की तुलना में बेहतर फिट बैठता है। आपके अपने सर्वर पर और क्या जगह पाने योग्य है, इसके व्यापक दृष्टिकोण के लिए, 2026 के लिए self-hosting shortlist देखें।

Sizing और backups

ये तीनों ही एक छोटे VPS पर चल सकते हैं, लेकिन वास्तविक आवश्यकता इस पर निर्भर करती है कि प्रत्येक के पीछे क्या चल रहा है। BookStack एक application process और MySQL है। Wiki.js एक Node process और PostgreSQL है। Outline एक Node process, PostgreSQL और Redis है, जिसके साथ आमतौर पर एक identity provider भी होता है, इसीलिए इसे अधिक memory की आवश्यकता होती है।

Database और uploads का backup एक साथ लें, और उस backup पर भरोसा करने से पहले उसे एक बार किसी अस्थायी instance में restore करके देखें। जिस wiki backup को कभी restore नहीं किया गया, वह केवल एक अनुमान है। BookStack के लिए इसका अर्थ है mysqldump और /config volume। Wiki.js और Outline के लिए इसका अर्थ है pg_dump और data volume, और Outline के लिए इसमें वह सब भी शामिल है जो FILE_STORAGE_LOCAL_ROOT_DIR में मौजूद है।

FAQ

कौन सा self-hosted wiki इंस्टॉल करना सबसे आसान है?

BookStack। यह MySQL डेटाबेस के साथ एक एकल PHP एप्लिकेशन है, और प्रोजेक्ट Ubuntu 24.04 के लिए एक इंस्टॉलेशन स्क्रिप्ट प्रदान करता है जो एक ही बार में Apache, MySQL 8.0 और PHP 8.3 को सेटअप कर देती है। कंटेनर इमेज को केवल एक APP_KEY और डेटाबेस क्रेडेंशियल्स की आवश्यकता होती है। Wiki.js में एक Node रनटाइम और एक PostgreSQL सर्वर जोड़ना पड़ता है, और Outline इसके ऊपर Redis और एक बाहरी identity provider की मांग करता है।

क्या मैं Google या किसी अन्य SSO प्रदाता के बिना Outline का उपयोग कर सकता हूँ?

नहीं। Outline में स्थानीय username और password से लॉगिन की सुविधा नहीं है। इसके sample configuration में स्पष्ट है कि कम से कम एक third party sign-in प्रदाता आवश्यक है, अन्यथा आपके पास साइन-इन का कोई विकल्प नहीं होगा। आप Google, Slack, Microsoft Entra, Discord, या किसी भी सामान्य OpenID Connect सर्वर जैसे कि self-hosted Keycloak या Authentik का उपयोग कर सकते हैं। उस प्रदाता को चलाना Outline को चलाने की लागत का ही एक हिस्सा है।

क्या मुझे Wiki.js 3 इंस्टॉल करना चाहिए या Wiki.js 2?

Version 2। जुलाई 2026 तक, नवीनतम version 2 रिलीज 2.5.314 है, जो मई 2026 की है, और version 3 का डॉक्यूमेंटेशन स्पष्ट रूप से कहता है कि यह एक अस्थिर beta है जिसे आपको production में इंस्टॉल नहीं करना चाहिए। अपनी इमेज को latest के बजाय ghcr.io/requarks/wiki:2 पर पिन करें, क्योंकि एक major version परिवर्तन चलते हुए इंस्टेंस के डेटाबेस स्कीमा को बदल देता है।

किसमें सबसे अच्छा सर्च है?

तीनों की अपनी-अपनी खूबियां हैं। BookStack पाठकों को सटीक वाक्यांशों के साथ एक query language देता है, जैसे कि [location=london] टैग फिल्टर और {created_after:2016-12-30} मेटाडेटा फिल्टर, और इनमें से किसी भी शब्द को शुरुआत में - लगाकर नकारा जा सकता है। Outline को किसी कॉन्फ़िगरेशन की आवश्यकता नहीं होती और यह अपलोड की गई फाइलों के अंदर के टेक्स्ट को सर्च करता है। Wiki.js सबसे अधिक ट्यून करने योग्य है, क्योंकि आप इंजन चुन सकते हैं, और जैसे ही आपका wiki कुछ सौ पेजों से बड़ा हो जाए, PostgreSQL इंजन पर स्विच करना फायदेमंद रहता है।

क्या मैं बाद में अपनी सामग्री को एक से दूसरे में ले जा सकता हूँ?

आंशिक रूप से, और आपको मैन्युअल काम की उम्मीद रखनी चाहिए। तीनों Markdown को एक्सपोर्ट और इम्पोर्ट करते हैं, इसलिए पेज का टेक्स्ट आमतौर पर सुरक्षित रहता है। संरचना (structure) ठीक से ट्रांसफर नहीं होती: BookStack की किताबें और अध्याय Outline के nested दस्तावेजों में मौजूद नहीं हैं, और Wiki.js के पाथ BookStack की निश्चित पदानुक्रम (hierarchy) के साथ मेल नहीं खाते। अटैचमेंट, अनुमतियाँ और पेज हिस्ट्री वे हिस्से हैं जिनके खोने की सबसे अधिक संभावना है, इसलिए माइग्रेशन के लिए प्रतिबद्ध होने से पहले एक सैंपल एक्सपोर्ट करें और उनकी जाँच करें।