[{"data":1,"prerenderedAt":213},["ShallowReactive",2],{"seo-verification":3,"blog-استضافة-harbor-على-vps-سجل-حاويات-docker-خاص-ar":6},{"google":4,"bing":5},"EycwPY2XMyTkVzas3n1ygeNJFGAH513qrMjfDljzsMQ","",{"key":7,"data":8},"blog-استضافة-harbor-على-vps-سجل-حاويات-docker-خاص-ar",{"id":9,"slug":10,"slugs":11,"title":15,"excerpt":16,"readTime":17,"views":18,"isPinned":19,"publishedAt":20,"updatedAt":21,"category":22,"categories":27,"featuredImage":29,"bgImage":30,"posterImage":31,"relatedSolution":29,"intro":32,"sections":33,"ctaTitle":158,"ctaBody":159,"ctaButton":160,"ctaUrl":161,"relatedPosts":162},439,"استضافة-harbor-على-vps-سجل-حاويات-docker-خاص",{"fr":12,"en":13,"ar":10,"es":14},"self-host-harbor-registry-vps","self-host-harbor-registry-on-a-vps-complete-guide","harbor-registry-self-hosted-en-vps-guia-completa","هاربور ريجيستري على خادم خاص VPS: الدليل الشامل","نشر Harbor v2.15 على خادم VPS الخاص: سجل Docker خاص مع فحص Trivy وتوقيع Cosign وRBAC وامتثال NIS2\u002FGDPR. دليل خطوة بخطوة.",8,0,false,"2026-10-13T00:00:00+00:00","2026-10-13T14:10:28+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},3,"النشر","deploiement","bg-success\u002F10 text-success",[28],{"id":23,"name":24,"slug":25,"color":26,"icon":25},null,"\u002Fblog\u002Fcovers\u002Fbg.svg","\u002Fblog\u002Fcovers\u002Fself-host-harbor-registry-vps-poster.svg","منذ أن هزّت CVE-2026-21589 سلسلة توريد Atlassian، باتت فرق DevOps تبحث عن استعادة السيطرة الكاملة على كل artifact يمر عبر pipeline الإنتاج. يفرض Docker Hub حد 100 سحب كل 6 ساعات على الحسابات المجانية، ويربط GHCR صورك بسياسة الاحتفاظ الخاصة بـ GitHub، ولا يوقّع أيٌّ منهما الصور أو يفحصها تلقائيًا. Harbor، سجل الـ CNCF مفتوح المصدر، يحل المشاكل الثلاث بنشر واحد: فحص الثغرات Trivy المدمج، توقيع Cosign، RBAC دقيق وسجلات تدقيق كاملة. يرافقك هذا الدليل من تثبيت Docker Compose حتى سياسات القبول في الإنتاج، على خادم VPS بـ 4 vCPU و8 جيجابايت RAM.",[34,39,50,54,80,84,88,93,97],{"type":35,"title":36,"body":37,"items":38},"h2","لماذا سجل Docker خاص مع Harbor","Docker Hub وGHCR خدمتان عامتان مريحتان، لكنهما تُشكّلان ثلاث مشاكل حقيقية حين تنمو مؤسستك أو تحتاج إلى الامتثال لـ NIS2 (المادة 21 § 2 و – أمن سلسلة التوريد) أو GDPR (بيانات البنية التحتية خارج الاتحاد الأوروبي). يعالج Harbor كل نقطة مباشرةً‎.",[],{"type":40,"title":41,"items":42},"ul","الفوائد الرئيسية لـ Harbor",[43,44,45,46,47,48,49],"**فحص Trivy المدمج** — كل push يُطلق تحليل CVE؛ سياسات القبول تحجب نشر الصور التي تتجاوز عتبة الخطورة المحددة‎.","**توقيع Cosign \u002F Notary** — سلسلة الثقة من بناء CI حتى مجموعة Kubernetes؛ تمر فقط الصور الموقّعة بمفتاحك‎.","**RBAC متعدد المشاريع** — عزل لكل فريق أو بيئة (dev\u002Fstaging\u002Fprod) أو عميل، مع أدوار Guest وDeveloper وMaintainer وProjectAdmin‎.","**نسخ متزامن بين السجلات** — تزامن مع خادم VPS ثانٍ أو AWS ECR أو Docker Hub للتوزيع‎.","**سجلات تدقيق غير قابلة للتغيير** — كل pull وpush وحذف وتسجيل دخول مسجّل مع IP المصدر؛ امتثال لـ NIS2 المادة 21 § 2 د‎.","**لا حدود للسحب** — تسحب runners الـ CI صورًا بقدر ما تحتاج دون تأخير أو حصص‎.","**OIDC أصلي** — اربط Harbor بـ ZITADEL أو أي مزود OpenID Connect؛ صفر حسابات محلية للإدارة‎.",{"type":35,"title":51,"body":52,"items":53},"المتطلبات الأساسية بالأرقام","يعمل Harbor بكفاءة على خادم VPS من المواصفات التالية:\n\n- **المعالج**: 4 vCPU (الحد الأدنى 2 vCPU، لكن Trivy يستهلك 1–2 نواة أثناء الفحص)\n- **الذاكرة**: 8 جيجابايت (الحد الأدنى 4 جيجابايت؛ خصص 2 لـ PostgreSQL، 1 لـ Redis، 2 لـ Harbor core، 1 هامش أمان)\n- **القرص**: 100 جيجابايت SSD (طبقات Docker تتراكم بسرعة؛ خصص 40 للسجل، 20 لسجلات Trivy، 20 للنظام)\n- **نظام التشغيل**: Debian 12 أو Ubuntu 22‎.04 LTS\n- **Docker**: ‏≥ 24‎.0، **Docker Compose**: ‏≥ 2‎.20\n- **DNS**: نطاق فرعي يشير إلى خادمك (`registry‎.example‎.com`) يعمل بالفعل\n- **TLS**: شهادة صالحة — Let's Encrypt عبر Certbot أو Traefik ACME",[],{"type":55,"title":56,"steps":57,"items":79},"steps","تثبيت Harbor v2‎.15 مع Docker Compose",[58,61,64,67,70,73,76],{"title":59,"body":60},"تنزيل المثبّت غير المتصل","اتصل بخادم VPS عبر SSH. احضر حزمة Harbor v2‎.15‎.4 offline (الأكثر استقرارًا في 2026-10-13) من GitHub:\n\n```bash\nexport HARBOR_VERSION=v2‎.15‎.4\nwget https:\u002F\u002Fgithub‎.com\u002Fgoharbor\u002Fharbor\u002Freleases\u002Fdownload\u002F${HARBOR_VERSION}\u002Fharbor-offline-installer-${HARBOR_VERSION}‎.tgz\nwget https:\u002F\u002Fgithub‎.com\u002Fgoharbor\u002Fharbor\u002Freleases\u002Fdownload\u002F${HARBOR_VERSION}\u002Fharbor-offline-installer-${HARBOR_VERSION}‎.tgz‎.asc\n# التحقق من توقيع GPG\ngpg --keyserver keyserver‎.ubuntu‎.com --recv-keys 7722D168DAEC457894C2988818B80B4B2D318C8A\ngpg --verify harbor-offline-installer-${HARBOR_VERSION}‎.tgz‎.asc\ntar xvf harbor-offline-installer-${HARBOR_VERSION}‎.tgz\ncd harbor\n```",{"title":62,"body":63},"إعداد شهادات TLS","يشترط Harbor وجود TLS. باستخدام Certbot:\n\n```bash\napt install -y certbot\ncertbot certonly --standalone -d registry‎.example‎.com\n# الشهادات في \u002Fetc\u002Fletsencrypt\u002Flive\u002Fregistry‎.example‎.com\u002F\nmkdir -p \u002Fdata\u002Fcert\ncp \u002Fetc\u002Fletsencrypt\u002Flive\u002Fregistry‎.example‎.com\u002Ffullchain‎.pem \u002Fdata\u002Fcert\u002Fregistry‎.example‎.com‎.crt\ncp \u002Fetc\u002Fletsencrypt\u002Flive\u002Fregistry‎.example‎.com\u002Fprivkey‎.pem  \u002Fdata\u002Fcert\u002Fregistry‎.example‎.com‎.key\n```\n\nإذا كنت تستخدم Traefik كـ reverse proxy (راجع مقال Traefik v3)، فوّض إنهاء TLS إلى Traefik وضبط Harbor على HTTP داخليًا على المنفذ 8080‎.",{"title":65,"body":66},"‏ضبط ‎harbor‎.yml","انسخ النموذج وعدّل القيم الأساسية:\n\n```bash\ncp harbor‎.yml‎.tmpl harbor‎.yml\n```\n\nعدّل ‎`harbor‎.yml`:\n\n```yaml\nhostname: registry‎.example‎.com\n\nhttps:\n  port: 443\n  certificate: \u002Fdata\u002Fcert\u002Fregistry‎.example‎.com‎.crt\n  private_key: \u002Fdata\u002Fcert\u002Fregistry‎.example‎.com‎.key\n\nharbor_admin_password: غيّرهذاالمرور!\n\ndatabase:\n  password: غيّرهذاأيضًا!\n\ndata_volume: \u002Fdata\n\ntrivy:\n  ignore_unfixed: false\n  skip_update: false\n  offline_scan: false\n  security_check: vuln\n  insecure: false\n```",{"title":68,"body":69},"تشغيل المثبّت","يتيح Harbor مكوّنات اختيارية. شغّل Trivy (الفاحص) وNotary (التوقيعات):\n\n```bash\n‎.\u002Finstall‎.sh --with-trivy --with-notary\n```\n\nيُولّد المثبّت ملف ‎`docker-compose‎.yml` ويشغّل جميع الحاويات. تحقق أنها جميعًا `healthy`:\n\n```bash\ndocker compose ps\n# الحالة المتوقعة لكل خدمة: healthy\n```",{"title":71,"body":72},"أول تسجيل دخول وتغيير كلمة المرور","افتح `https:\u002F\u002Fregistry‎.example‎.com` في متصفحك. سجّل دخولك بـ `admin` وكلمة المرور من ‎`harbor‎.yml`. انتقل إلى **Administration → Users → admin** وغيّر كلمة المرور فورًا.\n\nمن محطتك أو runner الـ CI:\n\n```bash\ndocker login registry‎.example‎.com\n# أدخل بيانات admin أو حساب الخدمة\n```",{"title":74,"body":75},"إنشاء مشروع ودفع أول صورة","في واجهة Harbor، أنشئ مشروع `my-project` (خاص). ثم من آلة البناء:\n\n```bash\ndocker pull nginx:alpine\ndocker tag nginx:alpine registry‎.example‎.com\u002Fmy-project\u002Fnginx:1‎.27-alpine\ndocker push registry‎.example‎.com\u002Fmy-project\u002Fnginx:1‎.27-alpine\n# في Harbor → my-project → Repositories: تظهر الصورة مع حالة Trivy\n```",{"title":77,"body":78},"تفعيل التجديد التلقائي لـ TLS","أنشئ hook ما بعد التجديد في Certbot لإعادة تحميل Harbor:\n\n```bash\ncat > \u002Fetc\u002Fletsencrypt\u002Frenewal-hooks\u002Fpost\u002Fharbor-reload‎.sh \u003C\u003C 'EOF'\n#!\u002Fbin\u002Fbash\ncp \u002Fetc\u002Fletsencrypt\u002Flive\u002Fregistry‎.example‎.com\u002Ffullchain‎.pem \u002Fdata\u002Fcert\u002Fregistry‎.example‎.com‎.crt\ncp \u002Fetc\u002Fletsencrypt\u002Flive\u002Fregistry‎.example‎.com\u002Fprivkey‎.pem  \u002Fdata\u002Fcert\u002Fregistry‎.example‎.com‎.key\ncd \u002Fopt\u002Fharbor && docker compose restart proxy\nEOF\nchmod +x \u002Fetc\u002Fletsencrypt\u002Frenewal-hooks\u002Fpost\u002Fharbor-reload‎.sh\n```",[],{"type":35,"title":81,"body":82,"items":83},"الإعداد: المشاريع والمستخدمون وOIDC (ZITADEL)","**المشاريع وRBAC**\n\nيُنظّم Harbor الصور حسب المشاريع. كل مشروع يمكن أن يكون عامًا أو خاصًا، بسياسة احتفاظ مستقلة. أنشئ مشروعًا لكل فريق أو بيئة: `frontend` و`backend` و`infra`. عيّن أعضاء بأدوار دقيقة:\n\n- **Guest**: سحب فقط\n- **Developer**: دفع + سحب\n- **Maintainer**: إدارة العلامات والـ webhooks وسياسات الاحتفاظ\n- **ProjectAdmin**: إدارة الأعضاء\n\n**تكامل OIDC مع ZITADEL**\n\nإن كنت نشرت ZITADEL بالفعل (راجع المقال المخصص)، فربط Harbor يتم ببضع نقرات. في ZITADEL، أنشئ تطبيق `harbor` من نوع *Web*، دوّن `Client ID` و`Client Secret`. في Harbor → **Administration → Configuration → Authentication**:\n\n- Auth Mode: `OIDC`\n- OIDC Provider Name: `ZITADEL`\n- OIDC Endpoint: `https:\u002F\u002Fsso‎.example‎.com`\n- OIDC Client ID \u002F Secret: من ZITADEL\n- OIDC Scope: `openid profile email groups`\n- فعّل **Verify Certificate**\n\nعند أول تسجيل دخول OIDC، يُنشئ Harbor حساب المستخدم تلقائيًا. ثم أوقف إنشاء الحسابات المحلية (**Administration → Configuration → Allow Self-Registration → Off**)‎.",[],{"type":35,"title":85,"body":86,"items":87},"فحص الصور مع Trivy","يُدمج Harbor Trivy مباشرة في pipeline الدفع. فور دفع صورة، يُطلق Harbor فحصًا غير متزامن يستعلم قاعدة CVE الخاصة بـ Trivy (تُحدَّث يوميًا). تظهر النتيجة في الواجهة: عدد الثغرات حسب الخطورة (CRITICAL وHIGH وMEDIUM وLOW وUNKNOWN).\n\n**تفعيل الفحص التلقائي عند الدفع**: في Harbor → **Administration → Configuration → Vulnerability** → فعّل *Automatically scan images on push*.\n\n**عرض تقرير**: افتح مستودعًا، انقر على tag → تبويب *Vulnerabilities*. كل CVE تُدرج الحزمة المتأثرة والإصدار المُصلَح ورابطًا للـ NVD.\n\n**إصدار Trivy في Harbor v2‎.15**: يتضمن Harbor v2‎.15‎.4 محوّل ‎`trivy-adapter` متوافقًا مع Trivy v0‎.55‎.x، يدعم قواعد بيانات نظام التشغيل (Alpine وDebian وRHEL وUbuntu)، ومديري الحزم التطبيقية (npm وpip وcargo و‎go‎.mod) وملفات القفل.\n\n**سياسات الامتثال لكل مشروع**: في Harbor → *مشروعك* → **Policy** → *Deployment Security* → اختر مستوى الخطورة الذي يحجب السحب. مثلًا: حجب أي سحب لصورة بها CVE CRITICAL غير مُصلَحة‎.",[],{"type":89,"title":90,"body":91,"items":92},"tip","نصيحة أمنية: سياسات قبول Kubernetes","اجمع Harbor مع متحكم القبول **Cosign** (عبر Kyverno أو Connaisseur) لمنع أي صورة غير موقّعة أو تحتوي CVE CRITICAL من دخول مجموعتك. في pipeline الـ CI:\n\n```bash\n# توقيع الصورة بـ Cosign بعد البناء\ncosign sign --key cosign‎.key registry‎.example‎.com\u002Fmy-project\u002Fnginx:1‎.27-alpine\n# التحقق في CI قبل النشر\ncosign verify --key cosign‎.pub registry‎.example‎.com\u002Fmy-project\u002Fnginx:1‎.27-alpine\n```\n\nاضبط سياسة Kyverno تشترط توقيع Harbor: أي pod صورته غير موقّعة بمفتاحك تُرفض عند القبول. هذا يُغلق الثغرة الأكثر استغلالًا في هجمات سلسلة التوريد عقب CVE-2026-21589‎.",[],{"type":35,"title":94,"body":95,"items":96},"استكشاف الأخطاء: 5 أخطاء حقيقية وأسبابها","**1. `Error response from daemon: Get https:\u002F\u002Fregistry‎.example‎.com\u002Fv2\u002F: x509: certificate signed by unknown authority`**\nالسبب: شهادة Let's Encrypt لم تنتشر بعد أو تستخدم شهادة موقّعة ذاتيًا.\nالحل: على كل عقدة Docker عميلة، انسخ ‎`fullchain‎.pem` إلى `\u002Fetc\u002Fdocker\u002Fcerts‎.d\u002Fregistry‎.example‎.com\u002Fca‎.crt` ثم `systemctl restart docker`.\n\n**2. ‎`harbor-core` يُعيد التشغيل في حلقة مع `Error 1045 (28000): Access denied for user 'root'@'localhost'`**\nالسبب: يحتوي volume PostgreSQL على بيانات من تثبيت سابق بكلمة مرور مختلفة.\nالحل: `docker compose down -v` (⚠️ يحذف البيانات)، عدّل كلمة المرور في ‎`harbor‎.yml`، ثم أعد تشغيل `‎.\u002Fprepare && docker compose up -d`.\n\n**3. فحص Trivy عالق على `Fetching vulnerability DB` لأكثر من 10 دقائق**\nالسبب: الخادم لا يصل إلى `ghcr‎.io` (جدار حماية خارجي مقيّد) لتنزيل قاعدة Trivy.\nالحل: اسمح بالخروج HTTPS إلى `ghcr‎.io` و`pkg‎.dev`، أو فعّل `offline_scan: true` بعد تحميل القاعدة مسبقًا بـ `trivy image --download-db-only`.\n\n**4. `unauthorized: unauthorized to access repository` في CI رغم نجاح `docker login`**\nالسبب: حساب الخدمة لا يملك دور Developer على المشروع المستهدف.\nالحل: في Harbor → *مشروعك* → **Members** → أضف حساب الـ robot أو المستخدم بدور Developer أو أعلى.\n\n**5. واجهة Harbor لا تستجيب بعد تجديد شهادة Let's Encrypt**\nالسبب: حاوية `proxy` (nginx) لا تزال تقدم الشهادة القديمة المحمّلة في الذاكرة.\nالحل: `docker compose restart proxy` من مجلد تثبيت Harbor. من الأفضل أتمتة ذلك عبر hook ما بعد التجديد المذكور في الخطوة السابعة‎.",[],{"type":98,"title":99,"headers":100,"rows":106,"items":157},"comparison","Harbor مقابل Docker Hub مقابل GHCR مقابل Gitea Registry",[101,102,103,104,105],"المعيار","Harbor self-hosted","Docker Hub","GHCR","Gitea Registry",[107,113,118,123,129,134,140,145,151],[108,109,110,111,112],"الاستضافة","خادمك (بيانات في الاتحاد الأوروبي)","خوادم Docker Inc.‏ (USA)","خوادم GitHub\u002FMicrosoft (USA\u002FEU اختياري)","خادمك",[114,115,116,117,117],"فحص الثغرات","Trivy مدمج، تلقائي عند الدفع","Docker Scout (مدفوع)","لا يوجد أصلي",[119,120,121,122,117],"توقيع الصور","Cosign + Notary v2","DCT (متوقف)","Cosign خارجي",[124,125,126,127,128],"RBAC دقيق","5 أدوار لكل مشروع","أدوار تنظيم محدودة","أدوار GitHub (خشنة)","أدوار Gitea أساسية",[130,131,132,133,131],"حد السحب","لا يوجد","100\u002F6 ساعات (مجاني)، 5000\u002Fيوم (Pro)","مرتبط بحدود GitHub",[135,136,137,138,139],"OIDC\u002FSSO أصلي","نعم (LDAP، OIDC، SAML)","لا (SSO مؤسسي مدفوع)","SSO GitHub فقط","OIDC جزئي",[141,142,143,144,143],"سجلات تدقيق كاملة","نعم (IP، مستخدم، إجراء، tag)","محدود","جزئي عبر تدقيق GitHub",[146,147,148,149,150],"امتثال NIS2\u002FGDPR","كامل (بيانات on-premise)","تعاقدي فقط","DPA Microsoft متاح","كامل (on-premise)",[152,153,154,155,156],"التكلفة","VPS (~15–30 يورو\u002Fشهر)","مجاني \u002F Pro ~5$\u002Fشهر","مضمّن في GitHub Free\u002FPro","VPS مشترك مع Gitea",[],"انشر سجل Harbor على خادم ServOrbit VPS","خادم VPS بـ 4 vCPU و8 جيجابايت RAM يكفي لتشغيل Harbor في الإنتاج لفريق من 10 مطورين. يُسلّم ServOrbit الخادم في أقل من 90 ثانية مع وصول root عبر SSH ونسخ احتياطية تلقائية.","رؤية عروض الوكالات","\u002Fsolutions\u002Fagences",[163,178,199],{"id":164,"slug":165,"slugs":166,"title":170,"excerpt":171,"readTime":172,"views":18,"isPinned":19,"publishedAt":173,"updatedAt":21,"category":174,"categories":175,"featuredImage":29,"bgImage":30,"posterImage":177,"relatedSolution":29},434,"traefik-v3-على-vps-ريفرس-بروكسي-docker",{"fr":167,"en":168,"ar":165,"es":169},"traefik-v3-vps-reverse-proxy","traefik-v3-vps-docker-reverse-proxy-https","traefik-v3-vps-reverse-proxy-docker-https","Traefik‏ v3‏ على VPS‏: ريفرس بروكسي Docker‏ مع HTTPS‏ تلقائي","انشر Traefik‏ v3‏ على خادمك الافتراضي في أقل من ساعة: HTTPS‏ تلقائي مع Let's Encrypt‏، توجيه بعلامات Docker‏، حماية بكلمة مرور، وHTTP\u002F3‏ — دون كتابة أي قاعدة nginx‏.",9,"2026-10-12T00:00:00+00:00",{"id":23,"name":24,"slug":25,"color":26,"icon":25},[176],{"id":23,"name":24,"slug":25,"color":26,"icon":25},"\u002Fblog\u002Fcovers\u002Ftraefik-v3-vps-reverse-proxy-poster.svg",{"id":179,"slug":180,"slugs":181,"title":185,"excerpt":186,"readTime":187,"views":18,"isPinned":19,"publishedAt":173,"updatedAt":21,"category":188,"categories":193,"featuredImage":29,"bgImage":30,"posterImage":195,"relatedSolution":196},435,"استضافة-zitadel-على-vps-sso-متعدد-المستأجرين",{"fr":182,"en":183,"ar":180,"es":184},"zitadel-sso-self-hosted-vps","self-hosting-zitadel-vps-multi-tenant-sso","zitadel-vps-sso-multi-tenant-sin-keycloak","‏استضافة ZITADEL على VPS: SSO متعدد المستأجرين","‏انشر ZITADEL على VPS الخاص بك باستخدام Docker Compose: نظام IAM سحابي مكتوب بـ Go، متعدد المستأجرين بشكل أصلي، يدعم OIDC وOAuth2 وSAML وPasskeys.",14,{"id":17,"name":189,"slug":190,"color":191,"icon":192},"الأمان والمراقبة","securite-monitoring","bg-rose-500\u002F10 text-rose-400","security",[194],{"id":17,"name":189,"slug":190,"color":191,"icon":192},"\u002Fblog\u002Fcovers\u002Fzitadel-sso-self-hosted-vps-poster.svg",{"categorySlug":197,"appSlug":198},"الأمن-السيبراني-والحصن","zitadel",{"id":200,"slug":201,"slugs":202,"title":206,"excerpt":207,"readTime":172,"views":18,"isPinned":19,"publishedAt":208,"updatedAt":21,"category":209,"categories":210,"featuredImage":29,"bgImage":30,"posterImage":212,"relatedSolution":29},431,"cve-2026-21589-patch-atlassian-jira-confluence",{"fr":203,"en":204,"ar":201,"es":205},"atlassian-cve-2026-21589-patch-jira-confluence-self-hosted","cve-2026-21589-patch-atlassian-jira-confluence-self-hosted","cve-2026-21589-parche-atlassian-jira-confluence","‏CVE-2026-21589: رقع Atlassian فوراً","‏CVE-2026-21589 ثغرة path traversal غير مصادَق عليها (CVSS ‏9.3) تطال جميع منتجات Atlassian Data Center. تعرّف على الإصدارات المُصلَحة وكيفية التحقق من سلامة نسختك.","2026-10-11T00:00:00+00:00",{"id":17,"name":189,"slug":190,"color":191,"icon":192},[211],{"id":17,"name":189,"slug":190,"color":191,"icon":192},"\u002Fblog\u002Fcovers\u002Fatlassian-cve-2026-21589-patch-jira-confluence-self-hosted-poster.svg",1791900873984]