أداة مراقبة وقت التشغيل المستضافة ذاتيًا مع دعم 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 | مراقبة وقت التشغيل وإدارة الحوادث |
| الخدمة | الوصف |
|---|
| 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/TLS | SSL المدمج أو إنهاء الوكيل العكسي |
| 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;
}
}
| الأمر | الوصف |
|---|
docker cp uptime-kuma:/app/data ./backup | النسخ الاحتياطي لدليل البيانات |
docker cp ./backup/. uptime-kuma:/app/data | الاستعادة من النسخة الاحتياطية |
docker volume inspect uptime-kuma | البحث عن نقطة تثبيت المجلد |
| المشكلة | الحل |
|---|
| لا يمكن الوصول إلى واجهة المستخدم | تحقق من ربط المنفذ: 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 |
| النظام الأساسي | الحالة |
|---|
| Linux (x64, ARM) | مدعوم |
| Windows 10+ (x64) | مدعوم |
| macOS | مدعوم |
| Docker Desktop | مدعوم |
| Kubernetes | عبر صورة Docker |
| FreeBSD/OpenBSD | غير مدعوم |
| Replit/Heroku | غير مدعوم |
- استخدم أجزاء Docker (وليس ربط NFS) لاستمرار البيانات
- النشر خلف وكيل عكسي مع إنهاء SSL لاستخدام الإنتاج
- تفعيل 2FA لحساب المسؤول فورًا بعد تسجيل الدخول الأول
- اضبط فترات المراقبة على 60 ثانية أو أكثر للخدمات الخارجية
- استخدم نوع المراقبة Push للخدمات خلف جدران الحماية
- قم بتكوين قناتي إخطار على الأقل لضمان المرونة
- إنشاء صفحات حالة منفصلة للجماهير الداخلية والخارجية
- النسخ الاحتياطي للدليل البيانات بانتظام — يحتوي على جميع التكوينات
- اضبط المنطقة الزمنية عبر متغير البيئة
TZ لمطابقة مركز العمليات الخاص بك