Skip to content

الحاويات (Docker) الخادم

مدير مرئي لحاويات Docker متكامل مع RoqueOS. يستبدل Portainer/Yacht/CasaOS بتكامل أصلي: يفتح التطبيق مباشرة على سطح مكتب RoqueOS، دون الحاجة لتغيير علامة التبويب، دون الحاجة لإعداد reverse proxy يدويًا.

App Store لـ Docker على RoqueOS

لماذا هذا موجود

الاستضافة الذاتية التقليدية لها 3 مشاكل مزمنة:

  1. التثبيت مزعج — تقرأ تعليمات بـ 30 خطوة، تلصق docker-compose.yml، تضبط volume، تعبث بـ firewall
  2. التحديث يدوي — تنسى docker pull لشهور، تبقى مع إصدار ضعيف
  3. الوصول محير — كل تطبيق له URL خاص، كل منفذ مكشوف يصبح شاشة مختلفة

RoqueOS يحل الـ 3:

  • بنقرة واحدة للتثبيت أي تطبيق من الكتالوج (155+ تطبيقًا منتقى)
  • تحديث تلقائي اختياري أو دفعة يدوية عبر UI
  • التطبيقات تفتح داخل RoqueOS كنوافذ سطح مكتب (reverse proxy مُكوّن تلقائيًا)

App Store Docker — كتالوج منتقى

كتالوج من 155+ تطبيق Docker جاهز للتثبيت بنقرة واحدة:

الفئةالتطبيقات الشائعة
الوسائطPlex، Jellyfin، Emby، Navidrome، Audiobookshelf
التنزيلqBittorrent، Sonarr، Radarr، Lidarr، Bazarr، Prowlarr، Jackett
المنزل الذكيHome Assistant، Node-RED، ESPHome، Zigbee2MQTT
السحابة الشخصيةNextcloud، Seafile، Syncthing، FileBrowser
كلمات / ملاحظاتBitwarden، Vaultwarden، Joplin Server، Memos
المراقبةGrafana، Prometheus، Uptime Kuma، Glances، Netdata
التطويرGitea، Drone CI، Verdaccio، Portainer، Code Server
التواصلMattermost، Rocket.Chat، Matrix Synapse، Jitsi Meet
الإنتاجيةVikunja، Wekan، AppFlowy، Trilium، BookStack
التصورPhotoview، Immich، PiGallery2، Lychee
Adblock / DNSPi-hole، AdGuard Home، NextDNS
VPNWireGuard، OpenVPN، Tailscale
قاعدة البياناتPostgreSQL، MySQL، Redis، MongoDB، MinIO، InfluxDB

الكتالوج الكامل →

التثبيت بنقرة واحدة

  1. افتح Containers في Launchpad
  2. علامة تبويب App Store ← بحث أو تنقل حسب الفئة
  3. انقر على "تثبيت" في بطاقة التطبيق
  4. النموذج: اضبط المنفذ (مقترح تلقائيًا بدون تعارض)، RAM، volumes
  5. تأكيد ← تنزل الحاوية، تعمل، تكوّن proxy
  6. بعد ~30-90 ثانية، يظهر التطبيق في Launchpad جاهزًا للاستخدام

نموذج تثبيت التطبيق

استيراد docker-compose موجود

لديك بالفعل Docker stack على الخادم لم يأتِ من الكتالوج؟ استورد:

عبر UI (علامة تبويب "استيراد"):

  • الصق docker run -d ... مباشرة
  • أو الصق docker-compose.yml كاملًا

يكتشف parser image، ports، volumes، env vars، networks، depends_on — يحول إلى نموذج داخلي + يشغل الحاويات. تظهر في قائمة "المثبتة" كأي شيء آخر.

عبر CLI (roqueos-cli):

bash
# داخل Terminal
docker run -d --name my-app -p 9000:9000 myimage:latest
# تظهر تلقائيًا في "المثبتة" بعد ~5 ثوان (UI يقوم بـ polling)

إدارة الحاويات

علامة التبويب المثبتة تسرد جميع الحاويات بمعلومات حية:

قائمة الحاويات المثبتة

لكل سطر:

  • 🟢 / 🔴 الحالة (running / stopped / error)
  • 📊 CPU + RAM في الوقت الفعلي (يحدث كل 5 ثوانٍ)
  • 🔗 المنافذ المعينة + رابط "Open" للفتح في Roque Browser
  • 📅 منذ متى تعمل / متى تم التحديث آخر مرة
  • ⚙️ قائمة الإجراءات: Start/Stop/Restart، Logs، Terminal، Update، Remove

إجراءات دورة الحياة

الإجراءما يفعل
Startيشغل حاوية متوقفة
Stopيوقف دون إزالة (يستمر volume)
RestartStop + Start (يحل 80% من التعليقات)
Updatedocker pull + إعادة إنشاء (يحافظ على volumes)
Reinstallيزيل الحاوية + يعيد التثبيت من الكتالوج (يحافظ على البيانات)
RemoveStop + إزالة. نموذج تأكيد يطلب اختيار إذا كان يجب الاحتفاظ بـ volume

السجلات في الوقت الفعلي

انقر "Logs" ← نافذة مع docker logs -f. تصفية حسب المستوى (info/warn/error)، البحث في النص، التمرير التلقائي، copy.

مراقب استخدام الحاوية

الطرفية داخل الحاوية

انقر "Terminal" ← shell bash (أو sh) داخل الحاوية. مفيد للتصحيح، تغيير config، تثبيت تبعية مخصصة.

bash
# مثال: التحقيق في تكوين Plex
plex# cat /config/Library/Application\ Support/Plex/Preferences.xml

الإعدادات بعد التثبيت

كل حاوية لديها ⚙️ "إعدادات":

  • 🏷️ اسم ودود (معروض في Launchpad)
  • 🖼️ أيقونة مخصصة
  • 🌐 المنفذ المكشوف (التغيير دون الحاجة لإعادة الإنشاء)
  • 💾 Volumes المعينة (عرض/تحرير/إضافة)
  • 🔐 Env vars (الحساسة مخفية)
  • 🚀 Restart policy (unless-stopped، always، on-failure، no)
  • 📡 جسر الشبكة

Reverse proxy تلقائي

عند تثبيت حاوية بمنفذ مكشوف، يقوم RoqueOS تلقائيًا بـ:

  1. اكتشاف المنفذ الداخلي (مثل: Plex يستمع على 32400)
  2. التخطيط إلى منفذ خارجي متاح (مثل: 32400 أو التالي الفارغ)
  3. تكوين reverse proxy على roqueos-server في /proxy/apps/<containerId>
  4. يصبح التطبيق متاحًا كنافذة سطح مكتب على <server>/proxy/apps/<id>

النتيجة: تفتح Plex كتطبيق RoqueOS، دون العبث بـ DNS / Cloudflare / nginx.

للكشف العام (الوصول من أي مكان)، فقط ادمج مع Cloudflare Tunnel — يأخذ tunnel reverse proxy ويكشفه عبر HTTPS تلقائي.

App Manager — إدارة كل شيء من مكان واحد

علامة التبويب App Manager:

  • 📊 Dashboard: CPU/RAM/قرص يستخدمها مجموع الحاويات
  • 🔄 تحديث دفعي: علم على عدة حاويات + 1 نقرة "تحديث الكل"
  • 🧹 تنظيف: docker system prune متحكم به عبر UI (يحرر مساحة دون التأثير على الحاويات النشطة)
  • 🚦 فحوصات الصحة: قائمة الحاويات التي فشل healthcheck لها في آخر 24 ساعة

Mount-shared (مشاركة مجلد بين التطبيقات)

بعض التطبيقات تحتاج للقراءة/الكتابة في نفس المجلد — مثال كلاسيكي:

  • Sonarr/Radarr ينزلون الملفات عبر qBittorrent ← مجلد /downloads
  • Plex/Jellyfin يقرؤون نفس مجلد /downloads (بعد التنظيم)

RoqueOS يعرف ذلك. عندما تثبت تطبيقًا يحتوي على MOUNT_SHARED_APPS في manifest، يظهر volume /data/roqueos/shared/<category> تلقائيًا. تثبت تطبيقات متعددة عليه.

التفاصيل التقنية: Volumes والنسخ الاحتياطي.

القيود

  • التطبيقات التي تحتاج GPU passthrough (Frigate مع Coral USB، إلخ) — تعمل، ولكن تتطلب تكوينًا يدويًا عبر UI (تمرير --device=/dev/X)
  • حاويات Docker التي تحتاج وصولاً إلى Docker socket (Portainer، Watchtower) — قابلة للتكوين عبر UI ولكن مع تحذير أمني (أنت تعطي root فعليًا)
  • صور كبيرة جدًا (>5GB) — التثبيت الأول بطيء. فكر في docker pull مسبق عبر Terminal

انظر أيضًا