SSD Nodes Learn 8GB RAM — $66/سال
تعلیمی Matt Connorتحریر: Matt Connor · اپ ڈیٹ شدہ 2026-08-01

BookStack، Wiki.js یا Outline: کون سا wiki بہتر ہے؟

BookStack، Wiki.js اور Outline کا setup، editing، login اور search کے لحاظ سے موازنہ پڑھیں۔ solo admin کے لیے واضح انتخاب اور teams کے لیے موزوں wiki جانیں۔

کون سا self-hosted wiki چلانا چاہیے

self-hosted wiki آپ کی ٹیم کی دستاویزات کو ایک ایسے server پر ایک searchable جگہ میں رکھتا ہے جس کا کنٹرول آپ کے پاس ہوتا ہے۔ BookStack، Wiki.js اور Outline یہ کام کرتے ہیں۔ ان کے درمیان سب سے بڑا فرق اس بات میں ہے کہ پہلے صفحے کے load ہونے سے پہلے آپ کو کتنی configuration تیار کرنی پڑتی ہے، اور login کی اجازت کن لوگوں کو ہوتی ہے۔

BookStack کو deploy کرنا سب سے آسان ہے، اور اس کا structure سب سے زیادہ متعین ہے۔ Wiki.js ایک ہی page tree کے اندر editors کا سب سے وسیع انتخاب فراہم کرتا ہے۔ Outline میں ان تینوں میں writing experience بہترین ہے، لیکن جب تک آپ کسی بیرونی identity provider کو connect نہ کریں، یہ کسی کو sign in کرنے کی اجازت نہیں دیتا۔

ذیل کی تمام معلومات خود projects کی documentation اور ان کی شائع کردہ configuration files سے لی گئی ہیں۔ یہ capabilities کا موازنہ ہے، benchmark نہیں۔ Version numbers اور requirements کے ساتھ تاریخ درج ہے، کیونکہ یہ تینوں projects مسلسل تبدیل ہوتے رہتے ہیں۔

ساخت ہی اصل انتخاب ہے

BookStack آپ کے مواد کی ساخت متعین کرتا ہے۔ ایک صفحہ کسی کتاب کے اندر ہوتا ہے، ایک کتاب میں ابواب ہو سکتے ہیں، اور شیلف کتابوں کو گروپ کرتے ہیں۔ آپ پانچویں سطح نہیں بنا سکتے۔ یہی اس پراڈکٹ کی بنیادی خصوصیت ہے: نیا لکھنے والا جانتا ہے کہ صفحہ کہاں رکھنا ہے، کیونکہ اس کے لیے صرف ایک جگہ موجود ہے۔ اس کی قیمت یہ ہے کہ جو مواد اس ساخت میں فٹ نہ ہو، اسے اسی میں زبردستی شامل کرنا پڑتا ہے۔

Wiki.js ڈسک کے فولڈرز جیسا پاتھ ٹری استعمال کرتا ہے۔ ops/backup/restic پر موجود صفحہ آپ کی مقرر کردہ جگہ پر رہتا ہے، اور آپ اس کی گہرائی منتخب کرتے ہیں۔ دو افراد کو ایک ہی موضوع دو مختلف شاخوں میں رکھنے سے روکنے کے لیے کوئی پابندی نہیں، اس لیے Wiki.js انسٹینس میں ایک ایسے شخص کی ضرورت ہوتی ہے جو ٹری کا ذمہ دار ہو۔

Outline ایسی کلیکشنز استعمال کرتا ہے جن کے اندر دستاویزات دوسری دستاویزات میں شامل ہوتی ہیں۔ کسی دستاویز کو منتقل کرنے کے لیے اسے ماؤس سے گھسیٹنا کافی ہے۔ تینوں میں یہ سب سے زیادہ لچک دار ہے، اس لیے اسے بے قاعدہ ہونے دینا بھی سب سے آسان ہے۔

BookStack: مختصر ترین تنصیب

BookStack ایک PHP application ہے جو MySQL پر منحصر ہے۔ جولائی 2026 تک دستاویزی تقاضے PHP 8.2 یا اس کے بعد کا ورژن، اور MySQL 8.0 یا MariaDB 10.6 یا اس کے بعد کا ورژن ہیں۔ اگر آپ source سے تنصیب کریں تو Composer 2.2 یا اس کے بعد کا ورژن بھی درکار ہے۔ موجودہ release line 26.05 ہے۔

پروجیکٹ ہر Ubuntu release کے لیے ایک installation script فراہم کرتا ہے۔ 24.04 script آپ کے لیے Apache، MySQL 8.0 اور PHP 8.3 install کرتی ہے۔

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

اس script کو چلانے سے پہلے اس میں موجود warning پڑھیں۔ دستاویزات کے مطابق یہ "ONLY FOR A FRESH OS, it will install Apache, MySQL 8.0 & PHP 8.3 and could OVERWRITE any existing web setup on the machine" ہے۔ اگر کوئی server پہلے ہی port 80 پر requests وصول کر رہا ہو تو script یہ port حاصل کر لیتی ہے اور Apache configuration کو دوبارہ لکھ دیتی ہے۔ ایسی صورت میں containers استعمال کریں، یا Ubuntu 24.04 پر موجودہ LAMP stack کے اوپر BookStack دستی طور پر install کریں۔

Container کا طریقہ LinuxServer.io image استعمال کرتا ہے، جس کی طرف BookStack documentation رہنمائی کرتی ہے۔ BookStack کو session encryption key درکار ہوتی ہے اور اس کے بغیر صفحات فراہم نہیں کرتی، اس لیے پہلے یہ key generate کریں۔

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

ظاہر کی گئی value کو APP_KEY میں copy کریں، پھر service لکھیں:

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 میں وہی address ہونا چاہیے جو readers حقیقت میں type کرتے ہیں، scheme اور کسی بھی port سمیت۔ اسے http://localhost پر set کریں، پھر site کو HTTPS پر serve کریں۔ بصورت دیگر generated links اور redirects غلط host کی طرف جائیں گے، اور readers کو ایسا login page نظر آئے گا جو دوبارہ اسی page پر redirect ہوتا رہے گا۔ اگر compose files آپ کے لیے نئی ہیں تو اس سے پہلے VPS پر Docker Compose کی بنیادی باتیں سے آغاز کریں۔

Application کو start کریں اور جانچیں کہ application response دے رہی ہے، صرف یہ نہ دیکھیں کہ container running ہے:

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

200 OK کا مطلب ہے کہ PHP application boot ہو گئی ہے اور database تک پہنچ گئی ہے۔ 500 کا مطلب تقریباً ہمیشہ یہ ہوتا ہے کہ APP_KEY خالی ہے یا database credentials مطابقت نہیں رکھتے، اور 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 کو ایک ساتھ تبدیل کریں، کیونکہ یہ ایک ہی credential ہیں اور نمونہ قدر عوامی ہے۔ tag کو جان بوجھ کر ghcr.io/requarks/wiki:2 پر مقرر کیا گیا ہے۔ دستاویزات latest کے استعمال کی سفارش نہیں کرتیں، کیونکہ major version میں چھلانگ چلتے ہوئے instance کے تحت database schema تبدیل کر دیتی ہے۔

چلانے کے لیے Version 2 والی لائن استعمال کریں۔ July 2026 تک Version 2 کی تازہ ترین release 2.5.314 ہے، جو May 2026 میں جاری ہوئی۔ Version 3 موجود ہے، اور اس کی اپنی دستاویزات کہتی ہیں: "یہ سائٹ Wiki.js 3.0 کی غیر مستحکم beta release کے لیے ہے۔ آپ کو اسے production میں انسٹال نہیں کرنا چاہیے۔" :3 tag کو preview سمجھیں۔

پہلی بار لوڈ ہونے پر Wiki.js براؤزر میں موجود setup کے مراحل دکھاتا ہے، جو administrator account بناتے ہیں۔ جب تک آپ یہ عمل مکمل نہیں کرتے، port تک پہنچنے والا ہر شخص اس wizard کو دیکھ سکتا ہے۔ اس لیے firewall کھولنے سے پہلے service کو اپنے reverse proxy اور TLS (transport layer security) کے پیچھے رکھیں۔ جب server پر اس service کے علاوہ بھی دیگر services موجود ہوں، تو اپنی wiki کو الگ hostname پر رکھنا کئی Docker ایپس کے سامنے Traefik کے پیچھے فطری طور پر موزوں ہے۔

ایڈیٹر کا انتخاب وہ وجہ ہے جس کی بنا پر لوگ Wiki.js منتخب کرتے ہیں۔ ایک instance میں Markdown صفحات، visual editor کے صفحات، raw HTML صفحات اور AsciiDoc صفحات ساتھ ساتھ رکھے جا سکتے ہیں۔ جب آپ پرانے content کو ایسے format میں درآمد کر رہے ہوں جسے آپ تبدیل نہیں کرنا چاہتے، تو یہ مفید ہے۔ لیکن اس طرح ایک ہی wiki میں چار مختلف ادارہ جاتی اسالیب بھی بن سکتے ہیں۔ اس لیے پہلے دن default editor منتخب کریں اور اس فیصلے کو تحریری طور پر محفوظ کریں۔

Outline: بہترین ایڈیٹر، سب سے زیادہ لازمی تقاضے

Outline سے عموماً مراد ایسی دستاویز ہوتی ہے جو تجارتی نوٹس ٹول جیسا تجربہ فراہم کرے۔ یہ ایک Node.js ایپلی کیشن ہے، اور July 2026 تک اس کا موجودہ ریلیز ورژن 1.9.2 ہے۔ اس کی نمونہ environment فائل میں مطلوبہ اجزا درج ہیں: DATABASE_URL کے ذریعے PostgreSQL، REDIS_URL کے ذریعے Redis، دو random secrets، اور عوامی طور پر قابل رسائی URL۔

openssl rand -hex 32
openssl rand -hex 32

اسے دو بار چلائیں اور دونوں values محفوظ رکھیں۔ پہلی value SECRET_KEY اور دوسری UTILS_SECRET بنے گی۔ Environment فائل کا بنیادی حصہ اس طرح ہوگا:

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 اسی machine یا اسی Docker network پر موجود ہو۔ Network کے ذریعے حاصل کیے جانے والے database کے لیے اسے شامل نہ کریں، ورنہ connection غیر محفوظ حالت میں منتقل ہوگا۔ Attachments کے لیے اب object storage لازمی نہیں ہے: FILE_STORAGE=local uploads کو اوپر دی گئی directory میں لکھتا ہے۔ یہ directory ایسی volume ہونی چاہیے جس میں container لکھ سکے اور جسے آپ کے backups میں شامل کیا جاتا ہو۔ اگر آپ یہ files S3 compatible bucket میں رکھنا چاہتے ہیں تو AWS_* کی values کے ساتھ FILE_STORAGE=s3 set کریں۔

اب وہ حصہ جس پر بہت سے لوگ حیران ہوتے ہیں۔ Outline میں username اور password کے ذریعے login کی سہولت موجود نہیں ہے۔ اس کی اپنی نمونہ configuration کے مطابق third party sign-in credentials ضروری ہیں: "working installation کے لیے ان میں سے کم از کم ONE ضروری ہے، ورنہ sign-in کے لیے کوئی option نہیں ہوگا"۔ دستاویزی providers میں Google، Slack، Microsoft Entra، Discord، اور کوئی بھی generic OpenID Connect (OIDC) server شامل ہیں، جنہیں OIDC_CLIENT_ID، OIDC_CLIENT_SECRET، OIDC_AUTH_URI، OIDC_TOKEN_URI اور OIDC_USERINFO_URI کے ذریعے configure کیا جاتا ہے۔

لہذا Outline کی حقیقی لاگت Outline، PostgreSQL، Redis، اور ایک identity provider پر مشتمل ہے۔ اگر آپ کی team پہلے ہی Google Workspace یا Microsoft Entra کے ذریعے sign in کرتی ہے تو آخری جزو configure کرنے میں دس منٹ لگتے ہیں، اور Outline بہت موزوں انتخاب بن جاتا ہے۔ اگر ایسا نہیں ہے تو آپ کو Keycloak یا Authentik جیسی سروس بھی self-host کرنی ہوگی۔ یہ patch اور backup کرنے کے لیے ایک اضافی service ہے۔ Memory کی منصوبہ بندی اسی حساب سے کریں: Outline کی اپنی ہدایات کے مطابق ہر web process کے لیے تقریباً 512 MB درکار ہوتا ہے۔ اسے WEB_CONCURRENCY کے ذریعے set کیا جاتا ہے، اور یہ database اور Redis کے لیے درکار memory کے علاوہ ہے۔

ہر ایک اس بات کو کیسے سنبھالتا ہے کہ کون کیا پڑھ سکتا ہے

BookStack میں مقامی ای میل اور پاس ورڈ اکاؤنٹس پہلے سے دستیاب ہوتے ہیں، اور متبادل کے طور پر LDAP، SAML2 اور OIDC کی معاونت بھی موجود ہے۔ اجازتیں ہر کردار کے لیے مقرر کی جاتی ہیں اور کسی ایک shelf، book، chapter یا page پر ان میں تبدیلی کی جا سکتی ہے۔ چونکہ درجہ بندی کا ڈھانچہ مستقل ہوتا ہے، اس لیے اجازتیں اس میں قابلِ پیش گوئی انداز سے نچلی سطحوں تک منتقل ہوتی ہیں۔

Wiki.js میں بھی مقامی اکاؤنٹس پہلے سے شامل ہوتے ہیں، اور یہ متعدد authentication strategies فراہم کرتا ہے جنہیں آپ admin area میں فعال کرتے ہیں۔ اس کے page rules راستے کے pattern کی بنیاد پر رسائی دیتے یا روکتے ہیں۔ یہ طاقتور ہے، لیکن اس میں غلطی کرنا آسان ہے، کیونکہ ops/* کے لیے بنایا گیا rule بعد میں اس راستے کے تحت شامل کیے جانے والے ہر page پر خاموشی سے لاگو ہو جاتا ہے۔

Outline یہ سوال مکمل طور پر آپ کے identity provider کے سپرد کرتا ہے۔ رکنیت آپ کے identity provider کے مطابق ہوتی ہے، اور Outline کے اندر آپ collection اور group کے لحاظ سے رسائی کو کنٹرول کرتے ہیں۔ جب کوئی شخص کمپنی چھوڑتا ہے تو اس کے لیے کوئی مقامی account باقی نہیں رہتا۔ یہ اس وقت ایک حقیقی فائدہ ہے جب identity provider پہلے ہی وہ نظام ہو جس کے ذریعے آپ اکاؤنٹس کو deprovision کرتے ہیں۔

ہر ایک میں تلاش کیسے کام کرتی ہے

تلاش وہ حصہ ہے جہاں کوئی وکی اپنی افادیت ثابت کرتی ہے یا بھولی ہوئی فائلوں کے فولڈر میں تبدیل ہو جاتی ہے۔

BookStack ڈیٹابیس میں تلاش کرتا ہے اور قارئین کو ایسی query language فراہم کرتا ہے جسے وہ ایک منٹ میں سیکھ سکتے ہیں۔ "london meeting" کی طرح کسی فقرے کو quotation marks میں لکھنے سے عین وہی string درکار ہوتی ہے۔ مربع بریکٹس tags میں تلاش کرتے ہیں: [location=london]، tag name، value یا دونوں کے مطابق نتائج دیتا ہے، جبکہ موازنوں میں !=، >= اور like شامل ہیں۔ گھنگریالی بریکٹس metadata کے مطابق filter لگاتے ہیں، جیسا کہ {created_after:2016-12-30} میں ہے۔ کسی بھی exact، tag یا filter term کے شروع میں - لگا کر اسے منفی کیا جا سکتا ہے۔ BookStack ایک query میں ہر قسم کے terms کی تعداد محدود رکھتا ہے، اس لیے بہت لمبی query چلانے کے بجائے مختصر کر دی جاتی ہے۔

Wiki.js تلاش کو ایک pluggable module سمجھتا ہے۔ دستاویزی engines میں basic database engine، PostgreSQL engine، Elasticsearch، Algolia، AWS CloudSearch اور Azure Search شامل ہیں۔ چند سو صفحات کے لیے basic engine کافی ہے۔ اگر آپ PostgreSQL چلا رہے ہیں تو admin area میں PostgreSQL engine منتخب کریں، کیونکہ یہ simple matching کے بجائے database کا اپنا full text index استعمال کرتا ہے۔ Elasticsearch اسی وقت استعمال کریں جب وکی اتنی بڑی ہو کہ دوسری search service کو چلانے اور اس پر patches لگانے کا انتظام قابلِ قبول ہو۔

Outline، PostgreSQL کے full text indexes میں تلاش کرتا ہے۔ اس میں کسی engine کا انتخاب یا tuning درکار نہیں ہوتی، اور یہ upload کیے گئے documents کے اندر موجود متن میں بھی تلاش کرتا ہے۔ چند ہزار documents والی team wiki کے لیے، ان تینوں میں یہی سب سے کم کام والا طریقہ ہے۔ اگر یہ کبھی مطلوبہ رفتار برقرار نہ رکھ سکے تو اسے بہتر بنانے کے لیے کوئی setting موجود نہیں۔

آپ کے لیے کون سا موزوں ہے

اگر آپ چاہتے ہیں کہ wiki آج سہ پہر تک چل جائے اور آپ ساخت کے بجائے مواد پر بحث کرنا پسند کریں، تو BookStack منتخب کریں۔ اس میں متحرک اجزا سب سے کم ہیں: ایک PHP application اور ایک MySQL database۔ یہ داخلی runbooks اور customer documentation کے لیے موزوں ہے، اور ان ٹیموں کے لیے بھی جہاں زیادہ تر مصنف engineers نہیں ہیں۔ ان تینوں میں اس کا backup لینا بھی سب سے آسان ہے، کیونکہ پوری حالت ایک database dump اور uploads directory پر مشتمل ہوتی ہے۔

اگر آپ کو ایسا مخصوص editor یا authentication strategy درکار ہے جو دوسرے اختیارات پیش نہیں کرتے، یا آپ موجودہ Markdown یا AsciiDoc کے بڑے ذخیرے کو import کرنا چاہتے ہیں اور path structure برقرار رکھنا چاہتے ہیں، تو Wiki.js منتخب کریں۔ اس بات کو قبول کریں کہ آپ ایک زیادہ بھاری stack چلا رہے ہوں گے، اور major version tag کو pin کریں۔

اگر writing quality سب سے زیادہ اہم ہے، wiki عوام کے بجائے کسی team کے لیے ہے، اور آپ کے پاس پہلے سے identity provider موجود ہے، تو Outline منتخب کریں۔ یہ setup آپ کو ایسا editor فراہم کرتا ہے جسے لوگ واقعی استعمال کرنا پسند کرتے ہیں۔ اسے اپنی پہلی self-hosted application کے طور پر منتخب نہ کریں۔

اگر ان تینوں میں سے کوئی بھی موزوں نہیں، تو مسئلہ عموماً content type کا ہوتا ہے۔ Scanned invoices اور contracts کو wiki کے بجائے Paperless-ngx جیسے document management system میں رکھنا چاہیے، اور انہیں زبردستی wiki میں شامل کرنا ہی وہ وجہ ہے جس سے بہت سی wikis آخرکار ترک کر دی جاتی ہیں۔ اپنے server پر مزید کن چیزوں کے لیے جگہ بن سکتی ہے، اس کے وسیع جائزے کے لیے 2026 کے لیے self-hosting shortlist دیکھیں۔

سائز کا تعین اور بیک اپس

تینوں چھوٹے VPS پر چل سکتے ہیں، لیکن ہر ایک کے لیے عملی کم از کم وسائل مختلف ہیں کیونکہ ہر ایک کے پیچھے مختلف اجزا ہوتے ہیں۔ BookStack ایک application process اور MySQL پر مشتمل ہے۔ Wiki.js ایک Node process اور PostgreSQL پر مشتمل ہے۔ Outline ایک Node process، PostgreSQL اور Redis پر مشتمل ہے، اور عموماً اس کے ساتھ ایک identity provider بھی ہوتا ہے۔ اسی لیے Outline کو اضافی memory دینی چاہیے۔

Database اور uploads کا ایک ساتھ بیک اپ لیں، اور اس بیک اپ پر انحصار کرنے سے پہلے اسے ایک عارضی 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 database کے ساتھ ایک واحد PHP application ہے، اور project Ubuntu 24.04 کے لیے installation script فراہم کرتا ہے جو ایک ہی run میں Apache، MySQL 8.0 اور PHP 8.3 ترتیب دیتی ہے۔ Container image کو صرف ایک APP_KEY اور database credentials درکار ہوتے ہیں۔ Wiki.js میں Node runtime اور PostgreSQL server بھی شامل ہوتے ہیں، جبکہ Outline میں اس کے علاوہ Redis اور بیرونی identity provider بھی درکار ہوتا ہے۔

کیا میں Google یا کسی دوسرے SSO provider کے بغیر Outline استعمال کر سکتا ہوں؟

نہیں۔ Outline میں مقامی username اور password login موجود نہیں ہے۔ اس کی sample configuration واضح کرتی ہے کہ کم از کم ایک third-party sign-in provider ضروری ہے، ورنہ sign-in کا کوئی اختیار دستیاب نہیں ہوگا۔ آپ Google، Slack، Microsoft Entra، Discord، یا کسی بھی generic OpenID Connect server کو استعمال کر سکتے ہیں، جیسے self-hosted Keycloak یا Authentik۔ اس provider کو چلانا Outline چلانے کی لاگت کا حصہ ہے۔

کیا مجھے Wiki.js 3 یا Wiki.js 2 انسٹال کرنا چاہیے؟

Version 2۔ July 2026 تک version 2 کی تازہ ترین release 2.5.314 ہے، جو May 2026 میں جاری ہوئی تھی، جبکہ version 3 کی documentation واضح طور پر کہتی ہے کہ یہ ایک unstable beta ہے اور اسے production میں انسٹال نہیں کرنا چاہیے۔ اپنی image کو ghcr.io/requarks/wiki:2 پر pin کریں، latest پر نہیں، کیونکہ major version کی تبدیلی چلتے ہوئے instance کے database schema کو بدل دیتی ہے۔

ہر ایک مختلف طریقے سے مضبوط ہے۔ BookStack readers کو exact phrases کے ساتھ query language، [location=london] جیسے tag filters، اور {created_after:2016-12-30} جیسے metadata filters فراہم کرتا ہے۔ ان میں سے کسی بھی term کو شروع میں - لگا کر منفی کیا جا سکتا ہے۔ Outline کو کسی configuration کی ضرورت نہیں ہوتی اور یہ uploaded files کے اندر موجود text کو search کرتا ہے۔ Wiki.js سب سے زیادہ قابلِ ترتیب ہے، کیونکہ آپ engine منتخب کرتے ہیں، اور جیسے ہی آپ کی wiki چند سو pages سے بڑھ جائے، PostgreSQL engine پر منتقل ہونا مفید ہے۔

کیا میں بعد میں اپنا content ایک system سے دوسرے system میں منتقل کر سکتا ہوں؟

جزوی طور پر، اور آپ کو دستی کام کی توقع رکھنی چاہیے۔ تینوں systems Markdown کو export اور import کرتے ہیں، اس لیے page text عموماً محفوظ رہتا ہے۔ Structure صاف طور پر محفوظ نہیں رہتا: BookStack کی books اور chapters کا Outline کے nested documents میں کوئی مساوی ڈھانچہ نہیں، اور Wiki.js کے paths، BookStack کی fixed hierarchy سے مطابقت نہیں رکھتے۔ Attachments، permissions اور page history کے ضائع ہونے کا امکان سب سے زیادہ ہوتا ہے، اس لیے migration کا فیصلہ کرنے سے پہلے ایک sample export کریں اور ان حصوں کی جانچ کریں۔

#bookstack#wikijs#outline#wiki#self-hosting#knowledge-base