دليل النشر

‏استضف ‏Glance ذاتيًا: لوحة بداية على خادم VPS

انشر على VPS Cloud ←

دليل عملي

‏استضف ‏Glance ذاتيًا: لوحة بداية على خادم VPS

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

‏إدارة عدة خدمات على خادم VPS ‏دون رؤية موحّدة تعني التنقل في الظلام. ‏Glance ‏يحلّ هذه المشكلة: لوحة تحكم ذاتية الاستضافة خفيفة الوزن تجمع أخبارك التقنية (‏Hacker News ‏وRSS)، ومقاييس الخادم الحية، وحالة حاويات ‏Docker ‏في صفحة واحدة يمكن الوصول إليها من المتصفح. ‏ملف ثنائي ‏Go ‏واحد، لا قواعد بيانات، لا ‏Redis — يبدأ في أقل من ثانية، ويعمل باستهلاك أقل من 25 ميغابايت من الذاكرة، ويُضبط بالكامل عبر ملف ‏YAML. ‏يغطي هذا الدليل التثبيت الكامل، وضبط الأدوات المتقدمة، وأمان مقبس ‏Docker، ومقارنات مع البدائل، واستكشاف الأخطاء الشائعة.

المحتويات· ‏لماذا ‏Glance ‏مثالي لخادم VPS1/16
  1. 01‏لماذا ‏Glance ‏مثالي لخادم VPS
  2. 02ما تحصل عليه افتراضيًا
  3. 03‏Glance ‏مقابل البدائل: Heimdall ‏وHomepage ‏وHomarr
  4. 04‏مقارنة لوحات التحكم ذاتية الاستضافة
  5. 05‏المتطلبات الأساسية
  6. 06ما تحتاجه قبل البدء
  7. 07‏نشر ‏Glance ‏على خادم ServOrbit VPS
  8. 08‏التثبيت خطوة بخطوة
  9. 09‏إعداد YAML ‏المتقدم: الأدوات والسمات والتخطيط
  10. 10‏خيارات الإعداد المتقدمة
  11. 11‏الأمان: مقبس Docker ‏للقراءة فقط
  12. 12‏المخاطر وطرق التخفيف
  13. 13‏استكشاف الأخطاء: الأخطاء الشائعة
  14. 14‏المشكلات المتكررة وحلولها
  15. 15‏حالات الاستخدام الواقعية لوكالة الويب
  16. 16‏كيفية هيكلة Glance ‏لوكالة

‏لماذا ‏Glance ‏مثالي لخادم VPS

ما تحصل عليه افتراضيًا

  • ‏أدوات مدمجة: خلاصات ‏RSS، ‏Hacker News، ‏Reddit، الطقس، الإشارات المرجعية، ساعة العالم
  • ‏مقاييس الخادم الحية: CPU ‏وRAM ‏والقرص ومتوسط التحميل
  • ‏حالة حاويات ‏Docker (قيد التشغيل / متوقفة / متوقفة مؤقتًا)
  • ‏سمات فاتحة/داكنة وألوان مخصصة عبر ‏YAML
  • ‏لا تبعيات خارجية: ملف ثنائي ‏Go ‏ثابت واحد (~15 ميغابايت)
  • ‏إعادة تحميل الإعداد مباشرةً دون إعادة تشغيل

‏Glance ‏مقابل البدائل: Heimdall ‏وHomepage ‏وHomarr

‏مقارنة لوحات التحكم ذاتية الاستضافة

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

‏الأداة‏اللغة‏الذاكرة خاملة‏الإعداد‏مقاييس Docker‏أدوات RSS/أخبار
‏**Glance**‏Go‏< 25 ميغابايت‏YAML ‏خالص‏نعم (للقراءة فقط)‏نعم (مدمج)
‏Homepage‏Node/React‏~120 ميغابايت‏YAML‏نعم‏جزئي
‏Homarr‏Node/React‏~150 ميغابايت‏واجهة رسومية + JSON‏نعم‏عبر تكامل
‏Heimdall‏PHP/Laravel‏~200 ميغابايت‏واجهة رسومية + MySQL‏لا‏لا

‏يتميز ‏Glance ‏حين تكون الخفة والسرعة أهم من واجهة إعداد رسومية. بالنسبة للفرق غير التقنية التي تفضل النقر على تحرير ‏YAML، ‏فإن ‏Homarr ‏أو ‏Heimdall ‏هي بدائل صالحة.

‏المتطلبات الأساسية

ما تحتاجه قبل البدء

  • ‏خادم ‏ServOrbit VPS ‏يعمل بنظام ‏Ubuntu 22.04 / Debian 12 ‏(يكفي ≥ 1 ‏vCPU ‏و512 ميغابايت ذاكرة)
  • ‏تثبيت ‏docker ‏وdocker compose ‏(Docker Engine 24+, Compose v2)
  • ‏وصول ‏SSH ‏بصلاحيات ‏root ‏أو ‏sudo
  • ‏نطاق فرعي يشير إلى خادمك (مثل ‏glance.mysite.tld) — اختياري لكن موصى به لـ ‏HTTPS

‏نشر ‏Glance ‏على خادم ServOrbit VPS

‏التثبيت خطوة بخطوة

  1. ‏إنشاء دليل العمل

    ‏اتصل بخادمك عبر ‏SSH ‏وأنشئ المجلد الذي سيحتوي إعداد ‏Glance:

    mkdir -p /opt/glance && cd /opt/glance

  2. ‏كتابة ملف `docker-compose.yml`

    ‏أنشئ الملف التالي. تثبيت مقبس ‏Docker ‏للقراءة فقط إلزامي (انظر قسم الأمان أدناه):

    services:
      glance:
        image: glanceapp/glance:latest
        restart: unless-stopped
        ports:
          - "8080:8080"
        volumes:
          - ./glance.yml:/app/glance.yml:ro
          - /var/run/docker.sock:/var/run/docker.sock:ro
          - /proc:/proc:ro
        environment:
          - TZ=UTC
  3. ‏إنشاء الإعداد الأساسي `glance.yml`

    ‏يحدد ملف ‏YAML ‏هذا صفحاتك وأعمدتك وأدواتك:

    server:
      port: 8080
    
    pages:
      - name: الرئيسية
        columns:
          - size: small
            widgets:
              - type: clock
                hour-format: 24h
              - type: resource-usage
          - size: full
            widgets:
              - type: hacker-news
              - type: rss
                feeds:
                  - url: https://blog.servOrbit.com/rss
                    title: ServOrbit Blog
          - size: small
            widgets:
              - type: docker-containers
  4. ‏تشغيل الحاوية

    docker compose up -d

    ‏تحقق من أنها تعمل: docker compose ps — يجب أن تظهر الحالة Up.

  5. ‏فتح جدار الحماية (إن كان UFW ‏مفعّلاً)

    ufw allow 8080/tcp

    ‏افتح http://<IP-VPS>:8080 ‏في متصفحك للتأكد من استجابة ‏Glance.

  6. ‏إعداد وكيل عكسي nginx ‏مع HTTPS

    ‏لخدمة ‏Glance ‏على https://glance.mysite.tld، ‏أنشئ ‏vhost ‏لـ ‏nginx ‏واحصل على الشهادة عبر ‏Certbot: certbot --nginx -d glance.mysite.tld.

  7. ‏تفعيل المصادقة الأساسية HTTP ‏(موصى به)

    ‏Glance ‏لا يوفر مصادقة مدمجة. احمِ الوصول عبر ‏nginx:

    htpasswd -c /etc/nginx/.htpasswd admin

    ‏ثم أضف في كتلة location / ‏من ‏vhost:

    auth_basic "Glance";
    auth_basic_user_file /etc/nginx/.htpasswd;

    ‏أعد تحميل ‏nginx: systemctl reload nginx.

  8. ‏التحقق من مقاييس النظام

    ‏تقرأ أداة resource-usage ‏ملف /proc — لذا فإن تثبيت :ro ‏في docker-compose.yml ‏إلزامي. إن لم تظهر المقاييس، تحقق: docker compose logs glance | grep -i proc.

  9. ‏إعادة تحميل الإعداد دون إعادة تشغيل

    ‏أي تعديل على glance.yml ‏يُطبَّق بإرسال إشارة SIGHUP ‏للحاوية:

    docker kill --signal=SIGHUP glance_glance_1

  10. ‏تفعيل التحديثات التلقائية (اختياري)

    ‏انشر ‏[Watchtower](https://containrrr.dev/watchtower/) ‏للحفاظ على صورة ‏Glance ‏محدّثة تلقائيًا، أو أدِرها يدويًا:

    docker compose pull && docker compose up -d

‏إعداد YAML ‏المتقدم: الأدوات والسمات والتخطيط

‏تكمن قوة Glance في ملف YAML الخاص به. إليك أكثر التخصيصات فائدةً.

‏خيارات الإعداد المتقدمة

  • ‏سمة مخصصة — أضف تحت server:: ‏theme: { background-color: "240 21 15", primary-color: "217 92 83" } ‏(بتنسيق ‏HSL ‏بدون hsl())
  • ‏صفحات متعددة — أضف كتل - name: ‏متعددة تحت pages: ‏(مثل "تطوير"، "عملاء"، "شخصي")
  • ‏أداة الإشارات المرجعية — type: bookmarks ‏مع مجموعات روابط لمركزة الوصول السريع لأدواتك الداخلية
  • ‏أداة المراقبة — type: monitor ‏مع قائمة عناوين ‏URL: ‏تجري ‏Glance ‏فحوصات ‏HTTP ‏وتعرض زمن الاستجابة والحالة في الوقت الفعلي
  • ‏أداة إصدارات GitHub — type: releases ‏مع قائمة مستودعات: مثالية لتتبع الإصدارات الجديدة من أدواتك
  • ‏فترة التحديث — تقبل كل أداة cache: 1h ‏(أو 30m ‏أو 5m) ‏للتحكم في تكرار الاستطلاع

‏الأمان: مقبس Docker ‏للقراءة فقط

‏تثبيت /var/run/docker.sock ‏داخل حاوية يمنح تلك الحاوية تحكمًا كاملاً محتملاً في ‏daemon ‏Docker ‏للمضيف — ما يعادل صلاحيات ‏root. ‏هذا هو أكثر متجهات تصعيد الامتيازات شيوعًا في بيئات ‏Docker.

‏المخاطر وطرق التخفيف

  • ‏الخطر: حاوية مخترقة بوصول :rw ‏للمقبس يمكنها تشغيل حاويات بصلاحيات ‏root، ‏وتثبيت /، ‏وسرقة الأسرار
  • ‏تخفيف 1 — تثبيت للقراءة فقط: يمنع :ro ‏في docker-compose.yml ‏جميع الكتابات؛ ‏تحتاج ‏Glance ‏فقط إلى قراءة حالة الحاوية
  • ‏تخفيف 2 — وكيل المقبس: انشر ‏[Docker Socket Proxy](https://github.com/Tecnativa/docker-socket-proxy) ‏لعرض نقاط نهاية GET /containers ‏وGET /version ‏فقط
  • ‏تخفيف 3 — عزل الشبكة: ضع ‏Glance ‏في شبكة ‏Docker ‏مخصصة، معزولة عن خدماتك التطبيقية
  • ‏التحقق: docker inspect glance_glance_1 | grep -A5 Mounts — يجب أن تظهر قيمة Mode ‏كـ ro ‏وليس rw

‏إن لم تكن بحاجة إلى مقاييس ‏Docker، ‏فأزل ببساطة تثبيت /var/run/docker.sock ‏من docker-compose.yml ‏وأزل أداة docker-containers ‏من glance.yml. ‏تعمل ‏Glance ‏بشكل مثالي دون وصول إلى ‏daemon ‏Docker.

‏استكشاف الأخطاء: الأخطاء الشائعة

‏المشكلات المتكررة وحلولها

  • ‏المنفذ 8080 مستخدم بالفعل — ss -tlnp | grep 8080 ‏لتحديد العملية. ‏غيّر منفذ المضيف في docker-compose.yml: ‏"8181:8080" ‏(يبقى منفذ الحاوية 8080 ‏من جانب ‏Glance).
  • ‏الأداة لا تُحمَّل / دوار دائم — تحقق من الاتصال الصادر من الحاوية: docker exec glance_glance_1 curl -s https://news.ycombinator.com. ‏إن انتهت المهلة، فخادمك ‏VPS ‏خلف جدار حماية صادر مقيّد — افتح المنافذ 80/443 ‏صادرة عبر ufw.
  • ‏رفض مقبس Docker ‏(permission denied) — تعمل الحاوية تحت ‏UID ‏غير ‏root ‏دون وصول إلى مجموعة docker. ‏الحل: أضف group_add: ["docker"] ‏أو ثبّت المقبس بالصلاحيات الصحيحة. ‏تحقق: ls -la /var/run/docker.sock ‏(المجموعة docker، الوضع 660).
  • ‏مقاييس /proc ‏مفقودة — تثبيت /proc:/proc:ro ‏مفقود من docker-compose.yml. ‏بدونه، تعرض resource-usage ‏قيمًا فارغة أو رسالة خطأ. ‏أضف ‏المجلد وأعد التشغيل: docker compose up -d.

‏حالات الاستخدام الواقعية لوكالة الويب

‏يمكن لوكالة تدير مشاريع عملاء متعددة على خوادم ‏VPS ‏منفصلة مركزة المراقبة في ‏Glance ‏بصفحة لكل عميل أو بيئة.

‏كيفية هيكلة Glance ‏لوكالة

  • ‏صفحة لكل عميل: يتوافق كل كتلة pages[n] ‏مع مشروع — أداة monitor ‏مع عناوين ‏URL ‏الحيوية (الواجهة الأمامية، ‏API، ‏لوحة الإدارة)
  • ‏صفحة "البنية التحتية العامة": يمكن لأداة monitor ‏فحص نقاط نهاية ‏Healthcheck ‏المكشوفة على كل خادم (مثل /healthz)
  • ‏خلاصة RSS ‏للتنبيهات: أضف خلاصة ‏RSS ‏من أداة المراقبة (‏UptimeKuma، ‏Gatus) ‏لعرض الحوادث دون مغادرة ‏Glance
  • ‏أداة إصدارات GitHub: تتبع إصدارات ‏CMS/frameworks ‏لعملائك لاستباق التحديثات الحيوية
  • ‏وصول متعدد الفرق: واحدة ‏Glance ‏لكل بيئة (تجريبية / إنتاجية)، محمية بمصادقة ‏HTTP ‏منفصلة عبر ‏nginx

‏توثيق ‏Glance ‏الرسمي (github.com/glanceapp/glance) ‏يسرد جميع الأدوات المتاحة وخياراتها. ‏قسم مرجع glance.yml ‏هو المرجع الأحدث — تتطور الخيارات مع كل إصدار ثانوي.

خدمات VPS في نظرة واحدة

انشر Glance على خادم ServOrbit VPS — لوحة بداية خفيفة الوزن مستضافة ذاتيًا مع أخبار التقنية وإحصاءات الخادم في الوقت الفعلي.

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

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

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