Open Source ج٣٣ — Dockge: مدير ستاكات Docker Compose

Dockge مدير ستاكات docker compose.yaml self-hosted من louislam (MIT، v1.5.0، ★~٢٤٧٦١) — واجهة للكومبوز من غير ما تخطف ملفاتك، مع Console معطّل افتراضيًا من 1.5.0.

بتدير docker compose من الترمنال وعايز واجهة أوضح من غير ما تاخد ملفاتك؟ Dockge من louislam (نفس مؤلّف Uptime Kuma اللي غطّيناه في Open Source ج١) — مشروع مختلف تمامًا: ده مدير ستاكات compose.yaml self-hosted، مش أداة مراقبة uptime.

حسب GitHub النهاردة: الرخصة MIT، مش archived، حوالي ٢٤٧٦١ نجمة، والهوم بيج https://dockge.kuma.pet. آخر إصدار رسمي 1.5.0 (نُشر ٣٠ مارس ٢٠٢٥)، والصورة louislam/dockge:1.

إيه اللي بيعمله؟

من الـ README فقط:

  • إدارة ملفات compose.yaml: إنشاء / تعديل / تشغيل / إيقاف / إعادة تشغيل / حذف، وتحديث صور Docker
  • محرر تفاعلي لملف الكومبوز
  • ترمينال ويب تفاعلي — معطّل افتراضيًا من 1.5.0 لأسباب أمنية؛ لو محتاجه وفاهم المخاطر فعّله بـ DOCKGE_ENABLE_CONSOLE=true
  • من 1.4.0: دعم multiple agents عشان تدير ستاكات على هوستات Docker مختلفة من واجهة واحدة
  • تحويل أوامر docker run إلى compose.yaml
  • هيكل مبني على الملفات: Dockge مش بيخطف ملفات الكومبوز؛ بتفضل على الديسك وتقدر تتعامل معاها بـ docker compose العادي
  • واجهة reactive: تقدّم الـ Pull/Up/Down ومخرجات الترمنال تظهر في الوقت الفعلي
  • UI قريب من أسلوب Uptime Kuma

التسطيب (من الـ README)

المتطلبات: Docker 20+ أو Podman. البورت الافتراضي 5001، ومجلد الستاكات الافتراضي /opt/stacks.

mkdir -p /opt/stacks /opt/dockge
cd /opt/dockge
curl https://raw.githubusercontent.com/louislam/dockge/master/compose.yaml --output compose.yaml
docker compose up -d

بعدها تفتح http://localhost:5001

المهم في الـ volumes (من ملف الكومبوز الرسمي): المسار على الشمال لازم يطابق المسار على اليمين، ومسارات كاملة فقط — مثال صحيح: /opt/stacks:/opt/stacks. لو غلطت، الداتا ممكن تتكتب في مسار غلط.

الصورة في الكومبوز: louislam/dockge:1، والـ socket: /var/run/docker.sock.

أمان لازم تاخده جدّي

  • توصيل docker.sock = تحكّم كامل في الـ Docker daemon. ده مش «صلاحية خفيفة»
  • الـ Console off افتراضيًا من 1.5.0 — متفعّلوش على سيرفر مكشوف من غير ما تفهم المخاطر
  • متسيبش بورت 5001 مفتوح على النت من غير reverse proxy و HTTPS ومصادقة
  • تأكد إن مسار الستاكات متطابق شمال/يمين عشان متكتبش في مكان غلط

Dockge ولا Portainer؟

الـ FAQ بتاع المشروع بيقول: Portainer فيه ميزات Docker كتير؛ Dockge حاليًا مركّز على docker-compose بواجهة أوضح. لو همّك الكومبوز بس، الإجابة ممكن تكون آه. لو محتاج شبكات وحاويات فردية وميزات أوسع، ممكن لأ. وتقدر تثبّت الاتنين مع بعض.

رأيي

لو عندك كام ستاك compose على VPS وبتلف بينهم بـ docker compose، Dockge بيدي نظرة واحدة من غير ما يخطف الملفات. بس الـ docker.sock والـ Console محتاجين reverse proxy وحدود وصول — متحوّلوش «لوحة مفتوحة على النت».

أسبوع القاهرة للتكنولوجيا، لو بتفكّر في ستاك self-hosted للـ devops على سيرفرك، جرّب Dockge محليًا الأول قبل ما تفتح البورت برّه.

وإنت، بتدير الـ compose من الترمنال ولا عندك واجهة؟ 👇

المصادر

  • Open Source
  • Docker
  • Self-Hosted
  • Compose
  • DevOps