ما هي Uptime Kuma؟

Uptime Kuma هي أداة مراقبة مستضافة ذاتيًا. تتحقق بانتظام من مواقع الويب ومنافذ TCP وسجلات DNS وحاويات Docker وغير ذلك، وترسل إشعارًا عند توقف أي منها، كما يمكنها نشر صفحات الحالة. يوفّر المشروع صورة رسمية باسم louislam/uptime-kuma، تستمع على المنفذ 3001 وتخزّن كل شيء في مجلد /app/data.

وصف الأداة

تنشئ هذه الأداة ملف compose.yaml لـ Uptime Kuma. تبدأ من الملف الموجود في مستودع Uptime Kuma، وتضيف الإعدادات التي يحتاجها المستخدمون عادةً: إصدار الصورة ومتغيرها، ومنفذ المضيف وعنوان الربط، ومكان تخزين البيانات، والوصول إلى مقبس Docker لمراقبات مضيف Docker، وقاعدة البيانات. عند اختيار MariaDB كقاعدة بيانات داخل حاوية مستقلة، تضيف الأداة خدمة ثانية مع فحص للصحة، بحيث لا تبدأ Uptime Kuma إلا بعد أن تصبح قاعدة البيانات جاهزة. يمكن إضافة الإعدادات التي لا يوفّر النموذج حقلاً لها كمتغيرات بيئية. يتم إنشاء كل شيء في متصفحك.

الميزات

  • وسوم الصور 2 و1 وbeta، مع المتغيرات standard وslim وrootless وslim rootless للإصدار 2
  • منفذ المضيف، وعنوان ربط مثل 127.0.0.1 للاستخدام خلف وكيل عكسي
  • مجلد بيانات على المضيف أو وحدة تخزين Docker مسماة، ويتم التصريح عنها نيابةً عنك
  • وصول اختياري إلى /var/run/docker.sock لمراقبات مضيف Docker، مع تحذير بشأن ما يتيحه ذلك
  • SQLite أو MariaDB المضمّنة أو حاوية MariaDB تُضاف إلى الملف أو خادم MariaDB خارجي
  • كلمة مرور قاعدة بيانات مُنشأة تلقائيًا، مع تهريب علامات $ حتى يحتفظ بها Compose
  • خيارات التضمين في iframe، والتحقق من مصدر WebSocket، ورمز Cloudflare Tunnel
  • أي متغير بيئي آخر، وتعليقات تشرح الملف، وتنزيل الملف باسم compose.yaml

أمثلة

تنتج الإعدادات الافتراضية الملف نفسه الموجود في مستودع Uptime Kuma:

services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data
    restart: unless-stopped

يؤدي اختيار حاوية MariaDB كقاعدة البيانات إلى إضافة خدمة mariadb وربط Uptime Kuma بها باستخدام UPTIME_KUMA_DB_TYPE وUPTIME_KUMA_DB_HOSTNAME ومتغيرات UPTIME_KUMA_DB_* الأخرى.

نصائح

  • احفظ النتيجة باسم compose.yaml في مجلد فارغ وشغّلها باستخدام docker compose up -d. ثم افتح http://localhost:3001
  • أنظمة الملفات مثل NFS غير مدعومة لمجلد البيانات. استخدم مجلدًا محليًا أو وحدة تخزين Docker
  • لا تتضمن الصور slim Chromium، الذي يحتاج إليه مراقب المتصفح الحقيقي، كما أنها لا تتضمن MariaDB المضمّنة
  • تعمل الصور rootless كمستخدم node ذي UID يساوي 1000، لذلك يجب أن يكون مجلد البيانات على المضيف قابلاً للكتابة من قِبل ذلك المستخدم
  • تستخدم Uptime Kuma بروتوكول WebSockets. عند وضعها خلف وكيل عكسي، يجب أن يمرر الوكيل رأسي Upgrade وConnection
  • يمنح مقبس Docker Uptime Kuma تحكمًا كاملاً في Docker على المضيف. لا تقم بتركيبه إلا عند الحاجة إلى مراقبات مضيف Docker، ولا تعرّض Uptime Kuma للإنترنت
  • لا يدعم الإصدار 1 سوى SQLite، لذلك تكون خيارات قاعدة البيانات مخفية فيه
  • تُحفظ حقول كلمات المرور في الملف كنص واضح. احتفظ بالملف خاصًا، أو انقل كلمة المرور إلى ملف .env وأشر إليها باستخدام ${DB_PASSWORD}