تخطَّ إلى المحتوى

Uptime Kuma

أداة مراقبة وقت التشغيل المستضافة ذاتيًا مع دعم HTTP و TCP و DNS و Docker و 90+ خدمة إخطار تشمل Slack و Discord و Telegram.

# تشغيل Uptime Kuma مع تخزين مستمر
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2

# الوصول في http://localhost:3001
# الربط بـ localhost فقط (لا يوجد وصول خارجي)
docker run -d \
  --restart=always \
  -p 127.0.0.1:3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2
# تحميل ملف التكوين الرسمي
mkdir uptime-kuma && cd uptime-kuma
curl -o compose.yaml \
  https://raw.githubusercontent.com/louislam/uptime-kuma/master/compose.yaml

# بدء الخدمة
docker compose up -d

# الوصول في http://localhost:3001
# وصل مقبس Docker لمراقبة صحة الحاويات
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  -v /var/run/docker.sock:/var/run/docker.sock:ro \
  --name uptime-kuma \
  louislam/uptime-kuma:2
# المتطلبات: Node.js 20.4+, Git

# الاستنساخ والإعداد
git clone https://github.com/louislam/uptime-kuma.git
cd uptime-kuma
npm run setup

# البدء مباشرة
node server/server.js

# أو استخدم PM2 للعملية الخلفية
npm install -g pm2
pm2 start server/server.js --name uptime-kuma
الأمرالوصف
docker run -d -p 3001:3001 louislam/uptime-kuma:2بدء حاوية Uptime Kuma
docker compose up -dالبدء مع Docker Compose
docker compose downإيقاف جميع الخدمات
docker compose logs -fمتابعة سجلات الحاوية
docker restart uptime-kumaإعادة تشغيل الحاوية
docker stop uptime-kumaإيقاف الحاوية
docker start uptime-kumaبدء الحاوية المتوقفة
node server/server.jsالبدء بدون Docker
pm2 start server/server.js --name uptime-kumaالبدء مع PM2
pm2 restart uptime-kumaإعادة تشغيل مع PM2
pm2 stop uptime-kumaالإيقاف مع PM2
pm2 logs uptime-kumaعرض سجلات PM2
# سحب أحدث صورة
docker pull louislam/uptime-kuma:2

# إيقاف وإزالة الحاوية الحالية
docker stop uptime-kuma
docker rm uptime-kuma

# إعادة الإنشاء بصورة جديدة (البيانات تبقى في المجلد)
docker run -d \
  --restart=always \
  -p 3001:3001 \
  -v uptime-kuma:/app/data \
  --name uptime-kuma \
  louislam/uptime-kuma:2
# سحب وإعادة الإنشاء
docker compose pull
docker compose up -d
cd uptime-kuma
git fetch --all
git checkout 2.1.3 --force
npm install --production
npm run download-dist
pm2 restart uptime-kuma
النوعالوصف
HTTP(S)مراقبة توفر الموقع وسرعة الاستجابة
HTTP(S) Keywordالتحقق من نص محدد في نص الاستجابة
HTTP(S) JSON Queryالتحقق من قيم استجابة JSON
TCP Portالتحقق من فتح منفذ TCP والاستجابة
Pingبلى ICMP لتوفر المضيف
DNSمراقبة حل سجل DNS
Docker Containerمراقبة حالة صحة الحاوية
Steam Game Serverالتحقق من توفر خادم اللعبة
MQTTمراقبة اتصال وسيط MQTT
gRPCمراقبة صحة خدمة gRPC
Radiusفحص خادم المصادقة RADIUS
GameDigمراقبة خادم اللعبة (بروتوكولات متعددة)
Pushمراقبة سلبية عبر نقطة نهاية نبض
Groupتجميع منطقي للمراقبات
الخدمةالوصف
Slackخطافات القناة وإخطارات البوت
Discordإخطارات القناة التي تعتمد على الويب
Telegramإخطارات API البوت
Microsoft Teamsإخطارات الويب الواردة
Mattermostتكامل الدردشة المستضافة ذاتيًا
Rocket.Chatإخطارات الويب
Google Chatإخطارات Webhook في المساحة
Matrixإخطارات الدردشة اللامركزية
الخدمةالوصف
Pushoverإخطارات الدفع على الهاتف المحمول
Gotifyخادم الدفع المستضاف ذاتيًا
ntfyإخطارات pub/sub المستندة إلى HTTP
Pushbulletإخطارات الدفع عبر الأجهزة
Signalإخطارات الرسائل الآمنة
LINEتكامل LINE Notify
الخدمةالوصف
PagerDutyتنبيهات الحوادث والاستدعاء
Opsgenieإدارة التنبيهات والتصعيد
Squadcastإدارة الحوادث
Splunk On-Callتوجيه تنبيهات VictorOps
Better Stackمراقبة وقت التشغيل وإدارة الحوادث

البريد الإلكتروني والخطافات

Section titled “البريد الإلكتروني والخطافات”
الخدمةالوصف
SMTP Emailإخطارات البريد الإلكتروني المخصصة
Webhookاستدعاءات نقاط النهاية HTTP المخصصة
Home Assistantمحفزات أتمتة المنزل الذكي
Appriseبوابة الإخطارات العامة
المتغيرالوصفالافتراضي
UPTIME_KUMA_PORTمنفذ الخادم3001
UPTIME_KUMA_HOSTعنوان الربط::
DATA_DIRدليل تخزين البيانات./data
TZالمنطقة الزمنيةUTC
UMASKقناع إذن الملف0000
NODE_EXTRA_CA_CERTSمسار شهادات CA المخصصة
SSL_CERTمسار شهادة SSL
SSL_KEYمسار مفتاح SSL الخاص
الميزةالوصف
Multiple Pagesإنشاء صفحات حالة منفصلة لخدمات مختلفة
Custom Domainsتعيين صفحات الحالة إلى أسماء نطاقات مخصصة
Custom CSSصفحات الحالة على نمط CSS مخصص
Incident Postsإنشاء تقارير الحوادث المرئية على صفحة الحالة
Maintenanceجدولة نوافذ الصيانة
Monitor Groupsتنظيم المراقبات في مجموعات على صفحة الحالة
# تثبيت عميل Python API
pip install uptime-kuma-api
الحركةالوصف
Add monitorإنشاء المراقبات برمجيًا
Edit monitorتحديث تكوين المراقبة
Delete monitorإزالة المراقبات
Pause/Resumeتبديل حالة المراقبة
Get statusاسترجاع حالة المراقبة الحالية
Add notificationتكوين موفري الإخطارات
Get uptimeالاستعلام عن إحصائيات وقت التشغيل
# compose.yaml
services:
  uptime-kuma:
    image: louislam/uptime-kuma:2
    container_name: uptime-kuma
    restart: always
    ports:
      - "3001:3001"
    volumes:
      - ./data:/app/data
      # اختياري: مراقبة حاوية Docker
      # - /var/run/docker.sock:/var/run/docker.sock:ro
    environment:
      - TZ=UTC
الميزةالوصف
2FAالمصادقة الثنائية لتسجيل الدخول
Reverse Proxyالنشر خلف Nginx أو Caddy أو Traefik
SSL/TLSSSL المدمج أو إنهاء الوكيل العكسي
Login Rate Limitingحماية من الهجمات البرية
API Keysالوصول API المستند إلى الرموز
server {
    listen 443 ssl;
    server_name status.example.com;

    location / {
        proxy_pass http://127.0.0.1:3001;
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
    }
}

النسخ الاحتياطي والاستعادة

Section titled “النسخ الاحتياطي والاستعادة”
الأمرالوصف
docker cp uptime-kuma:/app/data ./backupالنسخ الاحتياطي لدليل البيانات
docker cp ./backup/. uptime-kuma:/app/dataالاستعادة من النسخة الاحتياطية
docker volume inspect uptime-kumaالبحث عن نقطة تثبيت المجلد

استكشاف الأخطاء والإصلاح

Section titled “استكشاف الأخطاء والإصلاح”
المشكلةالحل
لا يمكن الوصول إلى واجهة المستخدمتحقق من ربط المنفذ: docker port uptime-kuma
أخطاء مجلد NFSاستخدم الدلائل المحلية وليس أنظمة الملفات للشبكة
أخطاء WebSocketتكوين الوكيل العكسي لترقية WebSocket
الحاوية لا تبدأتحقق من السجلات: docker logs uptime-kuma
فقدان استمرار البياناتتأكد من استخدام -v uptime-kuma:/app/data المجلد
فشل مراقبة Dockerوصل docker.sock: -v /var/run/docker.sock:/var/run/docker.sock:ro

الأنظمة الأساسية المدعومة

Section titled “الأنظمة الأساسية المدعومة”
النظام الأساسيالحالة
Linux (x64, ARM)مدعوم
Windows 10+ (x64)مدعوم
macOSمدعوم
Docker Desktopمدعوم
Kubernetesعبر صورة Docker
FreeBSD/OpenBSDغير مدعوم
Replit/Herokuغير مدعوم
  • استخدم أجزاء Docker (وليس ربط NFS) لاستمرار البيانات
  • النشر خلف وكيل عكسي مع إنهاء SSL لاستخدام الإنتاج
  • تفعيل 2FA لحساب المسؤول فورًا بعد تسجيل الدخول الأول
  • اضبط فترات المراقبة على 60 ثانية أو أكثر للخدمات الخارجية
  • استخدم نوع المراقبة Push للخدمات خلف جدران الحماية
  • قم بتكوين قناتي إخطار على الأقل لضمان المرونة
  • إنشاء صفحات حالة منفصلة للجماهير الداخلية والخارجية
  • النسخ الاحتياطي للدليل البيانات بانتظام — يحتوي على جميع التكوينات
  • اضبط المنطقة الزمنية عبر متغير البيئة TZ لمطابقة مركز العمليات الخاص بك