دليل عملي

Frigate NVR الإصدار 0.18: مراقبة IP ذاتية الاستضافة على VPS

الاستضافة الذاتية11 دقيقةً للقراءةعدد الخطوات: 7

Frigate NVR هو مسجّل فيديو شبكي مفتوح المصدر يجمع بين إدارة تدفقات كاميرات IP واكتشاف الكائنات بالذكاء الاصطناعي الذي يعمل بالكامل على بنيتك التحتية الخاصة. يستبدل الإصدار 0.18 إعداد YAML الإلزامي بواجهة رسومية متكاملة، مما يفتح النشر على VPS لجمهور أوسع بكثير من مديري الخوادم فحسب. تبقى تسجيلاتك وتنبيهاتك على جهازك، دون أي اشتراك متكرر.

المحتويات· المراقبة المحلية أم السحابة: لماذا تستضيف نظام NVR الخاص بك1/8
  1. 01المراقبة المحلية أم السحابة: لماذا تستضيف نظام NVR الخاص بك
  2. 02الفوائد العملية لـ Frigate ذاتي الاستضافة على VPS
  3. 03المتطلبات بالأرقام: تحديد مواصفات VPS لـ Frigate
  4. 04نشر Frigate NVR باستخدام Docker Compose
  5. 05ضبط الكاميرات ومناطق الكشف عبر الواجهة الرسومية
  6. 06تأمين الوصول إلى واجهة Frigate
  7. 07استكشاف الأخطاء وإصلاحها: الأخطاء الشائعة
  8. 08للمزيد

المراقبة المحلية أم السحابة: لماذا تستضيف نظام NVR الخاص بك

تُسجّل حلول المراقبة SaaS — مثل Reolink Cloud وAmazon Ring وSynology Surveillance Station المرتبطة بخوادم خارجية — تدفقات الفيديو على خوادم أطراف ثالثة. في مقابل اشتراك شهري، تحصل على تطبيق موبايل وتخزين بعيد واكتشاف للأحداث. لكنك تتنازل عن السيطرة الكاملة على ما يجري أمام كاميراتك.

استضافة نظام NVR الخاص بك على VPS تعكس هذه المعادلة: تدفقاتك لا تغادر بنيتك التحتية قط، واكتشاف الكائنات (الأشخاص والمركبات والحيوانات) يعمل محليًا دون إرسال أي صورة لطرف ثالث، والتسجيلات مخزّنة على أقراصك أنت.

Frigate NVR هو المرجع مفتوح المصدر في هذه الفئة. يستقبل تدفقات RTSP من كاميرات IP، ويقطّع مقاطع عند الأحداث المكتشفة، ويحتفظ بلقطات ويوفر واجهة REST API متوافقة مع Home Assistant. الإصدار 0.18، الصادر في سبتمبر 2026، يستبدل ملف config.yml الإلزامي بواجهة رسومية متكاملة: تضبط الكاميرات ومناطق الكشف والعتبات من المتصفح دون لمس YAML إن شئت.

الفوائد العملية لـ Frigate ذاتي الاستضافة على VPS

  • تدفقات الفيديو والتسجيلات محلية 100%: لا يصل أي طرف ثالث إلى لقطاتك.
  • اكتشاف الكائنات بالذكاء الاصطناعي (أشخاص، مركبات، حيوانات) يعمل على معالجك الخاص دون حصص API.
  • لا اشتراك متكرر: تدفع مقابل VPS لا مقابل رخصة اكتشاف.
  • تكامل أصلي مع Home Assistant عبر MQTT وواجهة REST API.
  • مقاطع الأحداث واللقطات والجدول الزمني متاحة من واجهة Frigate.
  • متوافق مع كل كاميرات IP تقريبًا عبر بروتوكول RTSP القياسي.
  • مناطق كشف قابلة للضبط لكل كاميرا لتصفية التنبيهات الخاطئة.
  • إعداد كامل عبر الواجهة الرسومية منذ الإصدار 0.18 — YAML ممكن لكنه لم يعد إلزاميًا.

المتطلبات بالأرقام: تحديد مواصفات VPS لـ Frigate

Frigate تطبيق يستهلك موارد CPU بشكل مكثّف في وضع البرمجيات فقط. يعتمد اكتشاف الكائنات على نموذج TensorFlow Lite يُنفَّذ على كل إطار مُحلَّل.

لـ 1 إلى 2 كاميرا بدقة 1080p: 2 vCPU و2 جيجابايت RAM هو الحد الأدنى الوظيفي. معدّل التحليل الموصى به: 5 إطارات في الثانية كحد أقصى.

لـ 3 إلى 5 كاميرات بدقة 1080p: 4 vCPU و4 جيجابايت RAM يوفران هامشًا مريحًا. خطة VPS Power (4 vCPU / 8 GB جيجابايت RAM) هي الحد الأدنى الواقعي لهذه الحالة.

لأكثر من 5 كاميرات: 6 إلى 8 vCPU و8 جيجابايت RAM أو أكثر. التسريع عبر Coral TPU أو GPU يقلّص الحمل على CPU بشكل كبير لكنه غير متاح على VPS المُستضاف الاعتيادي.

التخزين: كل كاميرا 1080p تُنتج بالمتوسط 1 إلى 3 جيجابايت في الساعة في وضع التسجيل المستمر. في الوضع الحدثي، خصّص 5 إلى 15 جيجابايت لكل كاميرا يوميًا.

الشبكة: كل تدفق RTSP يستهلك 1 إلى 4 ميغابت/ثانية. كاميرا H.264 بدقة 1080p تستهلك عادةً 1.5 إلى 2.5 ميغابت/ثانية.

البرمجيات المطلوبة: Docker Engine 24+ وDocker Compose v2، وصول root إلى VPS، نطاق فرعي DNS، وبروكسي عكسي (Nginx أو Caddy أو Traefik) لإنهاء TLS.

نشر Frigate NVR باستخدام Docker Compose

  1. إنشاء هيكل مجلدات الإعداد

    اتصل بـ VPS عبر SSH وأنشئ هيكل المجلدات الذي سيستخدمه Frigate للإعداد والتسجيلات واللقطات:

    mkdir -p /opt/frigate/{config,storage/recordings,storage/clips,storage/exports}
    cd /opt/frigate

    يتوقع Frigate ملف الإعداد في /opt/frigate/config/config.yml. مع الإصدار 0.18، يمكن أن يظل هذا الملف في حده الأدنى عند البدء — تُكمل الواجهة الرسومية الإعداد بعد ذلك.

  2. إنشاء إعداد بدء تشغيل أدنى

    أنشئ /opt/frigate/config/config.yml بالمحتوى التالي:

    mqtt:
      enabled: false
    
    record:
      enabled: true
      retain:
        days: 7
        mode: motion
    
    snapshots:
      enabled: true
      retain:
        default: 10
    
    detectors:
      cpu1:
        type: cpu
        num_threads: 3

    مفتاح detectors يُعلن عن كاشف برمجي على CPU. num_threads: 3 توازن جيد لـ 2 إلى 4 كاميرات.

  3. كتابة ملف Docker Compose

    أنشئ /opt/frigate/docker-compose.yml بالإعداد التالي:

    services:
      frigate:
        container_name: frigate
        image: ghcr.io/blakeblackshear/frigate:stable
        restart: unless-stopped
        shm_size: "256mb"
        volumes:
          - /opt/frigate/config:/config
          - /opt/frigate/storage:/media/frigate
          - /etc/localtime:/etc/localtime:ro
        ports:
          - "5000:5000"
          - "8554:8554"
          - "8555:8555/tcp"
          - "8555:8555/udp"
        environment:
          FRIGATE_RTSP_PASSWORD: "changeme"
        devices:
          - /dev/dri:/dev/dri

    المنافذ المكشوفة: 5000 للواجهة الرسومية وREST API، 8554 لخادم RTSP الداخلي، 8555 لـ WebRTC.

  4. تشغيل Frigate ومراجعة السجلات

    من مجلد /opt/frigate، شغّل الحاوية وراقب سجلات البدء:

    docker compose up -d
    docker compose logs -f frigate

    عند أول تشغيل، يُنزّل Frigate نموذج TensorFlow Lite (~6 ميغابايت) ويُهيّئ قاعدة بيانات SQLite. يستغرق ذلك 30 إلى 90 ثانية. يجب أن تظهر Frigate is running في السجل.

    ادخل إلى الواجهة على http://<ip-vps>:5000 للتحقق الأولي.

  5. إعداد بروكسي عكسي للوصول عبر HTTPS

    Frigate لا يتعامل مع TLS بشكل أصلي. أعدّ Nginx كبروكسي عكسي. أنشئ /etc/nginx/sites-available/frigate:

    server {
        listen 443 ssl;
        server_name frigate.yourdomain.com;
    
        ssl_certificate /etc/letsencrypt/live/frigate.yourdomain.com/fullchain.pem;
        ssl_certificate_key /etc/letsencrypt/live/frigate.yourdomain.com/privkey.pem;
    
        location / {
            proxy_pass http://127.0.0.1:5000;
            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_read_timeout 86400;
        }
    }

    احصل على شهادة Let's Encrypt: certbot --nginx -d frigate.yourdomain.com.

  6. إضافة الكاميرات عبر واجهة Frigate v0.18 الرسومية

    افتح واجهة Frigate في المتصفح. يوفر الإصدار 0.18 معالج إضافة كاميرا من Configuration → Cameras → Add Camera. أدخل:

    - اسم الكاميرا (بدون مسافات أو أحرف خاصة).
    - رابط RTSP مثل rtsp://admin:[email protected]:554/stream1.
    - الدقة تُكتشف تلقائيًا أو تُحدَّد يدويًا.
    - ملف الكشف: *Standard* للتوازن بين الدقة وحمل CPU، *Lightweight* لـ VPS الأصغر.

    تُنشئ الواجهة وتُحقّق من كتلة YAML المقابلة قبل تطبيقها — يمكنك التبديل إلى وضع YAML الخام عبر تبويب Advanced في أي وقت.

  7. التحقق من عمل التسجيلات والكشف

    من لوحة تحكم Frigate، انتقل إلى Events لتأكيد توليد أحداث الكشف. تحقق من تبويب Recordings للتحقق من كتابة ملفات mp4 في /opt/frigate/storage/recordings/.

    على VPS، راقب حمل CPU في الوقت الفعلي:

    docker stats frigate

    في وضع CPU فقط مع كاميرتين بدقة 1080p وتحليل 5 إطارات/ثانية، توقع 60 إلى 90% من vCPU واحد.

ضبط الكاميرات ومناطق الكشف عبر الواجهة الرسومية

الميزة المحورية في Frigate v0.18 هي محرر مناطق الكشف المرئي. حتى الإصدار 0.14، كان تحديد المنطقة يتطلب حساب إحداثيات المضلع يدويًا في ملف YAML.

منذ الإصدار 0.18، يعرض تبويب Zones لكل كاميرا الصورة المباشرة ويتيح رسم المضلعات بالماوس مباشرةً. كل منطقة تحصل على اسم (مثل entrance، garden، street) وفلاتر للكائنات — تستطيع تحديد أن منطقة street تتجاهل الأشخاص لكن تُنبّه عند المركبات.

أقنعة الحركة: تتيح الواجهة رسم أقنعة على المناطق التي تُولّد كثيرًا من التنبيهات الخاطئة كشجرة متحركة أو ضوء متقطع. القناع يمنع Frigate من تحليل تلك البكسلات دون التأثير على التسجيل.

عتبات الثقة: كل كائن قابل للكشف (شخص، سيارة، كلب، قطة...) له عتبة ثقة قابلة للضبط بين 0 و1. القيمة الافتراضية 0.5 معقولة؛ خفضها إلى 0.35 يزيد الحساسية على حساب تنبيهات خاطئة أكثر.

إعداد الإشعارات: يتكامل Frigate مع Home Assistant عبر MQTT أو REST API. دون Home Assistant، يمكنك إرسال التنبيهات إلى أي webhook عبر notify.webhook.

تأمين الوصول إلى واجهة Frigate

لا تتضمن واجهة Frigate نظام مصادقة في نسختها المستقرة. ثلاثة إجراءات تكميلية قبل نشر النطاق الفرعي:

مصادقة HTTP Basic عبر Nginx: أضف auth_basic وauth_basic_user_file في كتلة location. أنشئ ملف كلمات المرور بـ htpasswd -c /etc/nginx/.htpasswd your_user.

تقييد IP: أضف allow 203.0.113.x; deny all; في كتلة location إذا كنت تصل من IP ثابت.

الوصول عبر VPN فقط: الحل الأكثر متانةً. نشر WireGuard على نفس VPS وجعل المنفذ 5000 متاحًا محليًا فقط أو عبر نفق VPN — الواجهة لن تكون مكشوفة على الإنترنت مباشرةً.

استكشاف الأخطاء وإصلاحها: الأخطاء الشائعة

Failed to connect to camera: Connection refused أو انتهاء مهلة الاتصال
Frigate لا يصل إلى تدفق RTSP. تحقق من صحة رابط RTSP عبر ffprobe من VPS: ffprobe -v quiet -print_format json -show_streams rtsp://.... إذا كانت الكاميرا على شبكة خاصة منفصلة عن VPS فهي غير متاحة مباشرةً — تحتاج إلى نفق أو RTSP relay.

ffmpeg process crashed يتكرر في السجلات
الأرجح: كودك غير مدعوم (H.265/HEVC) أو دقة عالية جدًا للنطاق الترددي المتاح. الحل: أضف input_args: preset-rtsp-restream في إعداد الكاميرا، أو خفّض دقة الكاميرا إلى 1280×720.

Insufficient shared memory عند بدء تشغيل الحاوية
يعني أن shm_size صغير جدًا. القاعدة: 256 ميغابايت لكاميرتين، 512 ميغابايت لأربع، 1 جيجابايت لثماني فأكثر. عدّل shm_size في docker-compose.yml.

Database is locked أو تعطلات عشوائية
Frigate يستخدم SQLite الذي يتعامل بشكل سيء مع أقراص الشبكة (NFS, CIFS). انقل قاعدة البيانات إلى قرص محلي: db_path: /tmp/frigate.db في الإعداد. يمكن أن تبقى التسجيلات على القرص البعيد.

الكشف لا يُطلَق رغم وجود حركة مرئية
تحقق أولًا من أن منطقة الكشف تغطي المنطقة المطلوبة في المحرر المرئي. ثم راجع تبويب Debug للكاميرا في الواجهة: يُظهر مستطيلات الكشف في الوقت الفعلي على التدفق. إذا لم تظهر مستطيلات، النموذج يعمل لكنه لا يجد شيئًا — عتبة الثقة قد تكون عالية جدًا أو الكائنات صغيرة جدًا في إطار الكاميرا.

للمزيد

يحوّل Frigate NVR VPS اعتياديًا إلى محطة مراقبة سيادية. اكتشاف الكائنات يعمل محليًا، تسجيلاتك تبقى على أقراصك، والإصدار 0.18 يجعل التثبيت متاحًا دون خبرة YAML.

إذا كنت توسّع مجموعة تطبيقاتك ذاتية الاستضافة، تغطي المقالات التالية خدمات تكميلية تتكامل جيدًا مع Frigate: Jellyfin لمكتبة الوسائط، Pi-hole لتصفية DNS، وHomepage كلوحة تحكم لجميع خدماتك. خطة VPS Power تغطي معظم إعدادات 3 إلى 5 كاميرات في وضع CPU فقط مع هامش للحاويات الأخرى.

VPS لنظام Frigate NVR الخاص بك

وصول root، IPv4 مخصص، اختيار نظام التشغيل — تدفقات كاميراتك تُعالَج محليًا دون اشتراك سحابي أو وصول المُصنّع. الخطط تبدأ من 99 درهم/شهر.

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

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

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