دليل النشر

Authentik أم Authelia: أي SSO مستضاف ذاتياً لـ VPS؟

انشر على VPS Cloud ←

مقارنة

Authentik أم Authelia: أي SSO مستضاف ذاتياً لـ VPS؟

مقارنات9 دقائق للقراءةعدد الخطوات: 10

يظهر Authentik وAuthelia جنباً إلى جنب في كل نقاش حول SSO المستضاف ذاتياً — لكنهما لا يجيبان عن نفس السؤال. Authentik هو مزود هوية متكامل: OIDC وSAML وLDAP والتزويد وتدفقات الاستيثاق المرئية. أما Authelia فهو بوابة استيثاق خفيفة تتصل بـ reverse proxy الخاص بك وتتحكم في الوصول إلى تطبيقاتك. اختيار أحدهما على الآخر لأنه «أكثر شهرة» هو الخطأ الأكثر شيوعاً في هذا الموضوع.

المحتويات· فلسفتان مختلفتان، لا منافسان مباشران1/12
  1. 01فلسفتان مختلفتان، لا منافسان مباشران
  2. 02جدول مقارنة Authentik مقابل Authelia
  3. 03البروتوكولات: المعيار الفاصل في 80% من الحالات
  4. 04اختر Authelia إذا
  5. 05اختر Authentik إذا
  6. 06استهلاك الموارد: الفارق بمقدار رتبة كاملة
  7. 07المتطلبات المسبقة لنشر كلا الأداتين
  8. 08نشر Authelia مع Docker Compose
  9. 09نشر Authentik مع Docker Compose
  10. 10استخدام الأداتين بالتوازي
  11. 11الأمان وسطح الهجوم
  12. 12أي VPS لكل أداة

فلسفتان مختلفتان، لا منافسان مباشران

Authentik (الإصدار 2026.8.2 وقت كتابة هذا المقال) مكتوب بـ Python/Django مع واجهة أمامية بـ TypeScript. يُثبَّت على VPS الخاص بك ويعمل كمزود هوية متكامل: تُفوِّض تطبيقاتك استيثاقها إلى Authentik عبر OIDC أو SAML، الذي يدير الجلسات والمجموعات والتزويد ودورة حياة الحسابات. النموذج يشبه Okta أو Auth0، لكن مفتوح المصدر وعلى بنيتك التحتية.

Authelia (الإصدار v4.39.24 وقت كتابة هذا المقال) هو طبقة استيثاق تتوضع أمام reverse proxy الخاص بك — Traefik أو nginx أو Caddy — عبر توجيه auth_request. يتحقق من كل طلب HTTP: إذا لم يكن المستخدم مستوثقاً أو لم يكن لديه مستوى MFA المناسب، يعيد Authelia استجابة 401 ويحجب reverse proxy الطلب. لا يُصدر Authelia رموز OAuth2 للتطبيقات، بل يحمي عناوين URL.

يتعايش هذان الأداتان كثيراً على البنية التحتية ذاتها: Authelia للوحات التحكم الداخلية والأدوات التي لا تدعم OIDC أصلاً، وAuthentik للتطبيقات التي تتحدث OAuth2 أو لتزويد LDAP.

جدول مقارنة Authentik مقابل Authelia

مرّر الجدول أفقيًا

المعيارAuthentik 2026.8Authelia v4.39
النوعمزود هوية (IdP)بوابة استيثاق
OIDC / OAuth2نعم — معتمد OpenID Certified™نعم — معتمد OpenID Certified™
SAML 2.0 (IdP)نعملا (خارطة الطريق، بلا موعد)
LDAPنعم (مزود + outpost)لا
تزويد SCIMنعم (Enterprise)لا
تدفقات استيثاق مرئيةنعملا
ذاكرة RAM الدنيا (المكدّس كاملاً)~1 غيغابايت (worker + PostgreSQL)أقل من 30 ميغابايت
قاعدة البيانات المطلوبةPostgreSQL (أُزيل Redis في 2025.10)Redis + PostgreSQL (أو SQLite)
واجهة الإدارةكاملة (واجهة ويب)ملف إعداد YAML
الرخصةMIT (Community) / EnterpriseApache 2.0
لغة الخادمPython + Rust (منذ 2026.8)Go

البروتوكولات: المعيار الفاصل في 80% من الحالات

دعم SAML هو نقطة التحول الأكثر شيوعاً. إذا كان أحد تطبيقات البنية التحتية لديك — مجموعة مكتبية أو ERP أو أداة موارد بشرية — لا يقبل سوى SAML 2.0 كآلية للتفويض، فلا خيار لك: Authelia لا يمكنها أن تؤدي دور IdP لـ SAML. دعم SAML موجود في خارطة طريق Authelia في قسم «التخطيط» (وليس «نشطاً» بعد)، دون موعد منشور.

أما بالنسبة لـ OIDC/OAuth2، فكلا الأداتين معتمدان الآن كـ OpenID Certified™. حصلت Authelia على هذه الشهادة، ما يُثبت التطبيق على ملفات Basic OP وImplicit OP وHybrid OP وForm Post OP وConfig OP. Authentik أيضاً معتمد منذ الإصدار 2026.8، مع دعم إضافي لملفات تسجيل الخروج (RP-Initiated وFront-Channel وBack-Channel).

لمكدّس 100% من تطبيقات الويب الحديثة التي تتحدث OIDC — Nextcloud وGitea وGrafana وMattermost وJellyfin — يكفي Authelia وهو أخف بكثير. حالما تحتاج تطبيقاً واحداً إلى SAML أو تزويد حسابات تلقائي، فإن Authentik هو الوحيد القادر على ذلك.

اختر Authelia إذا

  • تحمي خدمات داخلية بلا دعم OIDC أصلي (لوحات تحكم، أدوات DevOps) عبر reverse proxy
  • VPS الخاص بك لديه أقل من 2 غيغابايت RAM أو يُشغِّل عدة خدمات بالتوازي
  • تفضل إعداداً تصريحياً بـ YAML مُدار في Git، بلا واجهة ويب
  • مكدّسك حصري لـ OIDC/OAuth2 (بلا SAML، بلا LDAP)
  • تريد أصغر سطح هجوم ممكن: الملف الثنائي Go يزن أقل من 20 ميغابايت

اختر Authentik إذا

  • تطلب تطبيق واحد على الأقل SAML 2.0 — Authentik هو الوحيد الذي يطبّقه
  • تدير حسابات مستخدمين: دورة الحياة، تزويد SCIM، مزامنة LDAP
  • تحتاج تدفقات استيثاق مخصصة (تأهيل، تحقق بريد إلكتروني، استرداد حساب)
  • يفضل فريقك التقني واجهة رسومية على ملف إعداد
  • تمركز الهوية لعدة فرق أو عدة منتجات

استهلاك الموارد: الفارق بمقدار رتبة كاملة

يبقى Authelia تحت 30 ميغابايت RAM في الظروف العادية. حاوية Docker الخاصة به تزن أقل من 20 ميغابايت. للتثبيت الكامل مع Redis وPostgreSQL، احسب 150 إلى 200 ميغابايت إجمالاً — وهو استهلاك خدمة واحدة من بين خدمات أخرى على VPS مشترك.

Authentik في فئة مختلفة. المكدّس الكامل — عامل Python وخادم Rust (منذ 2026.8، أُعيدت كتابة الواجهة الأمامية من Go إلى Rust) وPostgreSQL — يحتاج 1 غيغابايت على الأقل من RAM، وأفضل 2 غيغابايت على خادم مخصص لـ Authentik عند مئات المستخدمين. بسّط المشروع المكدّس في 2025.10 بإزالة Redis: جميع عمليات التخزين المؤقت والمهام الخلفية وWebSocket تمر الآن عبر PostgreSQL.

على VPS بـ 2 غيغابايت RAM يُشغِّل Gitea وGrafana وreverse proxy، سيستهلك Authentik نصف الموارد المتاحة. Authelia في السياق نفسه لن تكاد تلاحظه.

المتطلبات المسبقة لنشر كلا الأداتين

لـ Authelia: يكفي VPS بـ 1 غيغابايت RAM، مع reverse proxy جاهز (Traefik أو nginx أو Caddy)، ونطاق يشير إلى خادمك، وDocker وDocker Compose مثبتَين. يحتاج Authelia لتخزين الجلسات — SQLite للاختبار، PostgreSQL أو MySQL في الإنتاج.

لـ Authentik: خطط لـ VPS بـ 2 غيغابايت RAM مخصصة على الأقل لـ Authentik، ويفضل 4 غيغابايت إن كانت خدمات أخرى تعمل بالتوازي. PostgreSQL إلزامي (أُزيل Redis منذ 2025.10). تحتاج Docker وDocker Compose ونطاقاً والمنافذ 80 و443 مفتوحة.

نشر Authelia مع Docker Compose

  1. إنشاء هيكل المجلدات

    أنشئ مجلد العمل والمجلدات الفرعية اللازمة:

    mkdir -p /opt/authelia/{config,data}
    cd /opt/authelia
  2. إنشاء ملف الإعداد

    يُعدَّ Authelia بـ YAML. أنشئ /opt/authelia/config/configuration.yml مع كتل server وlog وauthentication_backend وaccess_control وsession وstorage وnotifier. حدد domain الجذر (auth.yourdomain.com) ومدة الجلسة وخلفية التخزين.

  3. إنشاء docker-compose.yml

    services:
      authelia:
        image: authelia/authelia:latest
        container_name: authelia
        volumes:
          - ./config:/config
          - ./data:/data
        ports:
          - "9091:9091"
        restart: unless-stopped
        environment:
          - TZ=Europe/Paris
  4. إعداد reverse proxy

    في nginx، أضف كتلة location تفوّض التحقق إلى Authelia عبر auth_request. كل طلب لخدماتك الداخلية يمر أولاً عبر http://authelia:9091/api/verify — يعيد Authelia 200 إن كان المستخدم مستوثقاً، و401 خلاف ذلك. يمتلك Traefik وسيطاً مكافئاً يُسمى ForwardAuth.

  5. التشغيل والتحقق

    docker compose up -d
    docker compose logs -f authelia

    افتح https://auth.yourdomain.com. يعرض Authelia بوابة تسجيل الدخول. أنشئ مستخدماً أول في ملف users_database.yml واختبر الوصول إلى خدمة محمية.

نشر Authentik مع Docker Compose

  1. تحميل compose الرسمي

    mkdir -p /opt/authentik && cd /opt/authentik
    curl -O https://goauthentik.io/docker-compose.yml

    يعرّف هذا الملف العامل والخادم وPostgreSQL. منذ الإصدار 2025.10، لم يعد Redis في compose الافتراضي.

  2. إنشاء ملف ‎.env

    ولّد الأسرار اللازمة:

    echo "PG_PASS=$(openssl rand -base64 36 | tr -d '\n')" >> ‎.env
    echo "AUTHENTIK_SECRET_KEY=$(openssl rand -base64 60 | tr -d '\n')" >> ‎.env
    echo "AUTHENTIK_ERROR_REPORTING__ENABLED=false" >> ‎.env
  3. تشغيل المكدّس

    docker compose pull
    docker compose up -d

    أول تشغيل يطبّق هجرات PostgreSQL وقد يستغرق دقيقة إلى دقيقتين. تابع السجلات بـ docker compose logs -f worker.

  4. الوصول إلى واجهة الإدارة

    افتح http://<ip-vps>:9000/if/flow/initial-setup/ لإنشاء حساب المدير الأول. ثم وجّه نطاقك (‌sso.yourdomain.com‌) إلى الخادم وأعدّ reverse proxy لإنهاء TLS.

  5. إنشاء أول تطبيق OIDC

    في واجهة الإدارة، انتقل إلى التطبيقات ← إنشاء ثم المزودون ← OAuth2/OpenID. أدخل URL إعادة التوجيه لتطبيقك العميل، انسخ Client ID وClient Secret المولَّدَين، وأعدّ تطبيقك مع نقاط نهاية OIDC الخاصة بـ Authentik.

استخدام الأداتين بالتوازي

التركيبة الأكثر شيوعاً على VPS مُحمَّل: Authelia تحمي الأدوات الداخلية بلا دعم OIDC (Grafana القديم، Portainer، لوحات تحكم منزلية) عبر reverse proxy، بينما يؤدي Authentik دور IdP لـ OIDC للتطبيقات التي تفوّض استيثاقها. يمكن للأداتين التعايش على الخادم نفسه ومشاركة PostgreSQL ذاتها إن كانت قواعد البيانات معزولة. يمكن حتى تأهيل Authelia لتفويض الاستيثاق إلى Authentik عبر OIDC — فتحصل على خفة Authelia كبوابة وثروة Authentik كمصدر هوية.

الأمان وسطح الهجوم

سطح هجوم Authelia أصغر هيكلياً: كود أقل، لا واجهة إدارة مكشوفة (الإعداد ملف محلي)، لا دعم SAML، لا LDAP. سجل CVE التاريخي لـ Authelia أقصر بالتبعية.

Authentik يكشف أكثر: واجهة ويب كاملة، محرك تدفقات، عدة بروتوكولات استيثاق، واجهة REST API وoutposts. كل سطح إضافي هو سطح يجب صيانته ومتابعته. تغطي سياسة دعم Authentik الإصدار الحالي والسابق فقط.

في كلتا الحالتين، أفضل الممارسات واحدة: لا تكشف منفذ الإدارة مباشرة على الإنترنت، استخدم شهادة TLS صالحة على النطاق الفرعي للاستيثاق، فعّل MFA لجميع حسابات الإدارة، وحافظ على تحديث صور Docker.

أي VPS لكل أداة

لـ Authelia وحدها: VPS بـ 1 إلى 2 غيغابايت RAM يكفي تماماً حتى مع تشغيل عدة خدمات أخرى. Authelia لا تستوجب خادماً مخصصاً.

لـ Authentik: الحد المعقول في الإنتاج هو 2 غيغابايت RAM مخصصة لمكدّس Authentik (worker + PostgreSQL). إن شارك Authentik VPS مع تطبيقات أخرى، خطط لـ 4 غيغابايت على الأقل.

يغطي VPS ServOrbit بـ 2 vCPU و4 غيغابايت RAM Authentik بارتياح في الإنتاج مع هامش للتطبيقات التي يحميها. يُهيئ قالب Marketplace لـ Authentik في Dolibarr, n8n, Nextcloud, Open WebUI, WooCommerce, WordPress المكدّس Docker مع PostgreSQL والمتغيرات البيئية وreverse proxy في أمر واحد.

انشر SSO مستضافاً ذاتياً على VPS مخصص

يمنحك VPS ServOrbit بوصول root وIPv4 مخصصة وDocker مُهيأ مسبقاً الأساس لتشغيل Authentik أو Authelia في الإنتاج. اختر الموارد المناسبة لبنيتك التحتية وقم بالتوسع عمودياً حسب الحاجة.

بحاجة إلى مساعدة؟

تصفّح مركز المساعدة والأسئلة الشائعة، أو تواصل مع فريقنا — معاودة اتصال أو WhatsApp أو بريد إلكتروني. الدعم بـالعربية والفرنسية والإنجليزية.

راسلنا على WhatsAppيُفتح في علامة تبويب جديدة