لماذا تختار Outline بدلاً من Notion أو Confluence على VPS
يشترك Notion وConfluence في عيب هيكلي واحد: تسعيرهما مرتبط بعدد المستخدمين، وترتفع التكلفة مع نمو الفريق. تُحاسب Confluence Cloud على كل مستخدم نشط شهريًا، فيما دمج Notion وحدة الذكاء الاصطناعي في خططه الأخيرة دون خيار لإلغاء تفعيلها. لفريق من 20 شخصًا على خطة Notion Business، يتجاوز الفاتورة بسرعة عدة مئات من الدولارات شهريًا — مقابل ويكي لا تتحكم في بياناته ولا في خريطة تطويره.
Outline يكسر هذا النمط. حين تستضيفه على VPS الخاص بك، تكون التكلفة ثابتة: تدفع مقابل الخادم لا مقابل كل مستخدم إضافي. واجهة العرض أنيقة — طباعة نظيفة، وكتل كود بتلوين بناء، وصور متكاملة، وجداول — والتحرير المتزامن يعمل عبر WebSockets. البحث النصي الشامل مُفهرَس مباشرة في PostgreSQL: لا خدمات خارجية، لا تكاليف إضافية. لفريق تقني من 10 إلى 50 شخصًا، هذا أفضل معادل جودة/تكلفة في سوق الويكي المستضاف ذاتيًا.
حادثة استحواذ Bending Spoons على Airtable ليست هامشية. Bending Spoons معروفة باستحواذها على أدوات SaaS شائعة وإعادة تشكيل اقتصادياتها — Evernote، Meetup، WeTransfer. حين تعتمد وثائق شركتك على SaaS خارجي، قد تعني مثل هذه الصفقة ارتفاع الأسعار أو تراجع الميزات أو تحولًا يتعارض مع استخدامك. استضافة Outline على بنيتك التحتية تُخرجك من هذا الخطر.
ما يقدمه Outline على أرض الواقع
- عرض Markdown في الوقت الفعلي — محرر يشبه Notion دون كتل مغلقة المصدر
- تحرير تعاوني — عدة محررين على الوثيقة ذاتها عبر WebSockets وRedis
- صلاحيات لكل مجموعة أو مجموعة وثائق — قراءة فقط، تعليق، تحرير، إدارة
- بحث نصي شامل — مُفهرَس على PostgreSQL، يعمل فور التثبيت
- مرفقات وصور — تخزين متوافق مع S3 (MinIO، Backblaze B2، AWS S3)
- واجهة برمجية REST موثقة — قابلة للدمج في مسارات CI/CD أو سكريبتات الأتمتة
- استيراد من Notion وConfluence وMarkdown — ترحيل بدون احتكاك
رخصة BSL 1.1: Outline ليس مفتوح المصدر
هذه هي النقطة التي تتجاهلها معظم المقارنات. Outline منشور تحت رخصة Business Source License 1.1 (BSL 1.1). على صفحته في GitHub، توصف الرخصة بأنها «not an Open Source license» — هذه ليست تفسيرًا، بل صياغة المؤلفين أنفسهم.
عمليًا، تحظر BSL 1.1 استخدامًا واحدًا بالتحديد: تقديم Outline كخدمة وثائق لأطراف ثالثة. إن كنت مطور برمجيات وتريد توفير ويكي Outline لعملائك كخدمة مدفوعة، فأنت خارج نطاق الرخصة.
أما الاستخدام الداخلي للفريق — قاعدة معرفة، توثيق منتج، كتيبات تشغيل، تأهيل موظفين — فالقيد لا ينطبق عليك. يمكنك الاستضافة الذاتية بحرية.
تاريخ التحول المقرر إلى Apache 2.0 هو 2030-09-01 (تحقق من ملف LICENSE في المستودع قبل أي قرار). في ذلك التاريخ، ستصبح الرخصة مفتوحة بالكامل وتتيح جميع الاستخدامات بما فيها التجارية.
خلاصة عملية: إن كان فريقك يستخدم Outline داخليًا، لا مشكلة. إن كنت تفكر في إعادة بيعه أو تقديمه كخدمة للعملاء، اقرأ الرخصة قبل النشر.
Outline مقابل Notion مقابل Confluence مقابل Docmost
| Outline | Notion | Confluence | Docmost | |
|---|---|---|---|---|
| نموذج الرخصة | BSL 1.1 (← Apache 2.0 عام 2030) | SaaS مغلق | SaaS مغلق | AGPL-3.0 |
| الاستضافة الذاتية | نعم — Docker + VPS | لا | نعم (Data Center، مكلف) | نعم — Docker + VPS |
| التسعير | تكلفة خادم ثابتة | لكل مستخدم/شهر | لكل مستخدم نشط | تكلفة خادم ثابتة |
| التحرير في الوقت الفعلي | نعم (WebSockets + Redis) | نعم | نعم | نعم (WebSockets) |
| البنية المطلوبة | PostgreSQL + Redis + S3 | لا ينطبق (SaaS) | PostgreSQL/Oracle + بنية ثقيلة | PostgreSQL فقط |
| البحث النصي الشامل | PostgreSQL مدمج | نعم (SaaS) | نعم | PostgreSQL مدمج |
| استيراد Notion/Confluence | نعم | تصدير فقط | تصدير فقط | نعم (Notion) |
| النضج | منذ 2019، نشط | تأسس 2016 | تأسس 2004 | منذ 2023 |
متطلبات استضافة Outline على VPS
يتكون Outline من ثلاثة خدمات يجب أن تعمل معًا.
PostgreSQL يخزن جميع الوثائق والمستخدمين والصلاحيات، وهو الخدمة الوحيدة التي تحفظ حالة الويكي؛ نسخة احتياطية من قاعدة البيانات كافية لاسترداد كل شيء. Redis يدير الجلسات وWebSockets للتحرير الفوري وقوائم انتظار المهام الخلفية؛ إن توقف Redis يتوقف التحرير المتزامن لكن الوثائق تبقى قابلة للقراءة. تخزين متوافق مع S3 (MinIO مستضاف ذاتيًا، Backblaze B2، أو AWS S3) يستقبل المرفقات والصور — دونه تُرفض الرفعات لكن باقي الوظائف تستمر.
الحد الأدنى من الموارد لفريق أقل من 50 شخصًا: 2 vCPU و4 غيغابايت RAM، وقرص SSD سعة 20 غيغابايت لقاعدة البيانات. VPS Power (4 vCPU، 8 غيغابايت RAM) يغطي البنية الكاملة بمساحة واسعة لأوقات ذروة التحرير المتزامن.
البرامج المطلوبة على المضيف: Docker 24+، Docker Compose v2، بروكسي عكسي (Nginx أو Caddy)، شهادة TLS صالحة. اسم نطاق مطلوب: Outline يتحقق من ترويسة Host ويرفض الاتصالات المباشرة عبر عنوان IP.
نشر Outline باستخدام Docker Compose
إنشاء ملف `docker-compose.yml`
أنشئ مجلدًا مخصصًا وضع فيه ملف التكوين:
mkdir -p /opt/outline && cd /opt/outlineمحتوى الحد الأدنى لملف docker-compose.yml:
services:
outline:
image: outlinewiki/outline:latest
env_file: .env
ports:
- "127.0.0.1:3000:3000"
depends_on:
- postgres
- redis
postgres:
image: postgres:15
env_file: .env
volumes:
- postgres_data:/var/lib/postgresql/data
redis:
image: redis:7
volumes:
- redis_data:/data
volumes:
postgres_data:
redis_data:تكوين ملف `.env`
أنشئ مفتاح سري ومفتاح أدوات:
openssl rand -hex 32 # SECRET_KEY
openssl rand -hex 32 # UTILS_SECRETالمتغيرات الأساسية في .env:
SECRET_KEY=<المفتاح المولّد>
UTILS_SECRET=<المفتاح المولّد>
DATABASE_URL=postgres://outline:كلمة_المرور@postgres:5432/outline
REDIS_URL=redis://redis:6379
URL=https://wiki.yourdomain.com
FORCE_HTTPS=true
PGUSER=outline
PGPASSWORD=كلمة_المرور
PGDATABASE=outline
AWS_ACCESS_KEY_ID=<مفتاح-s3>
AWS_SECRET_ACCESS_KEY=<سر-s3>
AWS_REGION=us-east-1
AWS_S3_UPLOAD_BUCKET_NAME=outline-uploads
AWS_S3_UPLOAD_BUCKET_URL=https://s3.amazonaws.comللمصادقة، يدعم Outline بروتوكولات OIDC وSlack وGoogle OAuth وSAML. إعداد OIDC هو الأكثر مرونة للفريق التقني (Keycloak، Authentik، إلخ).
تشغيل قاعدة البيانات وتهيئتها
docker compose up -d postgres redis
# انتظر بضع ثوانٍ لبدء تشغيل PostgreSQL
docker compose run --rm outline yarn db:migrate
docker compose up -d outlineتحقق من أن الخدمات الثلاث تعمل:
docker compose psتكوين البروكسي العكسي Nginx
Outline يستمع على المنفذ 3000 محليًا. مثال على كتلة Nginx:
server {
listen 443 ssl;
server_name wiki.yourdomain.com;
ssl_certificate /etc/letsencrypt/live/wiki.yourdomain.com/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/wiki.yourdomain.com/privkey.pem;
location / {
proxy_pass http://127.0.0.1:3000;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection 'upgrade';
proxy_set_header Host $host;
proxy_cache_bypass $http_upgrade;
}
}ترويسة Upgrade ضرورية لعمل WebSockets (التحرير الفوري) بشكل صحيح.
إنشاء أول حساب مدير
افتح https://wiki.yourdomain.com من متصفحك. سيرشدك Outline لإنشاء مساحة العمل والحساب الأول. إن كنت تستخدم OIDC، سجّل الدخول عبر موفر الهوية — أول مستخدم يصبح مديرًا تلقائيًا.
لدعوة زملاء، انتقل إلى الإعدادات ← الأعضاء ← دعوة.
تحديث Outline دون انقطاع
ينشر Outline صور Docker بعلامات محددة. تجنب latest في بيئة الإنتاج: استهدف نسخة بعينها (مثل outlinewiki/outline:0.76.1) واختبر عمليات الترحيل في بيئة التجريب قبل تطبيقها.
إجراء التحديث:
docker compose pull outline
docker compose run --rm outline yarn db:migrate
docker compose up -d outlineعمليات ترحيل PostgreSQL قابلة للتراجع — أخذ نسخة احتياطية من قاعدة البيانات قبل كل تحديث يبقى أفضل ضمان. أمر docker compose run --rm outline yarn db:migrate يطبق عمليات الترحيل دون إعادة تشغيل خدمة الويب، مما يتيح لك تجهيز قاعدة البيانات قبل التحويل. على بيئات ذات عدد كبير من الوثائق، قد تستغرق عملية الترحيل بضع ثوانٍ؛ الخدمة تظل متاحة خلالها عبر الحاوية القديمة.
متى تختار Docmost بدلاً من Outline
Outline هو الخيار الأنسب إن كنت تريد واجهة Markdown أنيقة مماثلة لـNotion، وتحريرًا متزامنًا متينًا، ودمجًا مع موفر هوية قائم (OIDC، SAML). نضجه (منذ 2019) ومجتمعه النشط وسجله في الاستقرار حجج قوية للفريق الذي يبني على المدى البعيد. الميزات المتقدمة — التعليقات على الوثائق، وسجل المراجعات، وتكاملات Slack وLinear — تجعله الأداة الأكثر اكتمالًا في فئة الاستضافة الذاتية.
Docmost هو بديل أحدث (2023) تحت رخصة AGPL-3.0 — رخصة مفتوحة المصدر حقيقية بمفهوم OSI، دون قيد على الاستخدام كخدمة. بنيته أخف (PostgreSQL فقط، دون Redis)، مما يبسط التثبيت على VPS من الفئة الأدنى. إن كانت مؤهلات الرخصة معيارًا حاسمًا — لا سيما إن كنت تطور منتج SaaS يتضمن قاعدة معرفة متاحة لمستخدميك — يستحق Docmost التقييم الموازي. هذا المقال يركز على الاختيار والتأهيل القانوني للرخصة؛ للتثبيت خطوة بخطوة، راجع دليلنا المخصص لـDocmost.
كلاهما يتعايش في المشهد المستضاف ذاتيًا دون تنافس مباشر: Outline يقدم ميزات أكثر تقدمًا ومجتمعًا أكثر رسوخًا، Docmost يمتلك رخصة أكثر مرونة وبنية أبسط. الاختيار يعتمد على سياقك القانوني ومتطلباتك التقنية. إن كنت تنتقل من Notion وتريد الحفاظ على هيكل وثائقك القائم، Outline هو الأكثر تقدمًا حاليًا في أدوات الاستيراد.