# منصة PaaS ذاتية الاستضافة على Proxmox: النشر بمجرد الـ push مع حوسبة

> حوسبة لوحة تحكم مفتوحة المصدر (AGPL-3.0) تحوّل سيرفراتك أو Proxmox إلى منصة نشر بمجرد الـ push: بناء، وإصدارات بفحص صحة، ورجوع إلى نسخة سابقة، وقواعد بيانات ونسخ احتياطية وأنفاق.

*2026-10-19T12:49:05Z*

# منصة PaaS ذاتية الاستضافة على Proxmox: النشر بمجرد الـ push مع حوسبة

منصة PaaS ذاتية الاستضافة على Proxmox يُفترض أن تعمل بنظام push-to-deploy: تدفع التغيير إلى git فيُبنى، ثم يُفحص، ثم تتحول إليه الحركة، ويمكنك الرجوع إلى نسخة سابقة. حوسبة (Hosbah) لوحة تحكم مفتوحة المصدر (AGPL-3.0) تفعل ذلك على سيرفرات تملكها.

![حوسبة: النشر بالـ push](/uploads/sites/f6cc082a-cbb8-4310-ae77-ef4e334be56e/media/hosbah-push-to-deploy-ar.png)

## المشكلة

تشغيل التطبيقات على سيرفراتك يعني عادةً مجموعة سكربتات: تدخل بـ SSH، وتسحب، وتبني، وتعيد التشغيل، وتأمل أن ينجح. المنصات المستضافة تُخفي ذلك لكنك تتخلى عن الأجهزة. حوسبة تُبقي الأجهزة ملكك وتضيف فوقها لوحة التحكم.

## كيف تعمل

تربط السيرفر بأمر تثبيت واحد أو بجلسة SSH واحدة. ويعمل عليه `hosbah-agent`، وهو ملف Go ثابت صغير. يتصل الوكيل بلوحة التحكم من جهته، فلا يحتاج السيرفر إلى منفذ وارد للإدارة. ويستخدم التسجيل رمزًا لمرة واحدة ينتهي بعد 15 دقيقة، ثم يعرّف الوكيل نفسه بمفتاح ed25519 ونبضة كل 15 ثانية.

يمر النشر بهذه الخطوات:

1. تجهيز التطبيق على السيرفر.
2. البناء من `Dockerfile`، أو بـ Railpack/BuildKit إن لم يوجد.
3. تشغيل الإصدار الجديد على منفذ محلي مؤقت.
4. انتظار فحص الصحة.
5. تشغيل العمليات الخلفية.
6. تحويل upstream في Caddy عبر واجهته الإدارية.
7. إنهاء الحاويات القديمة تدريجيًا.

تبقى أحدث خمس صور على السيرفر، فيتحول الرجوع إلى صورة موجودة دون إعادة بناء. وتحصل النطاقات المخصصة على TLS من Caddy، ولا يُعتمد إلا النطاق الذي تحققت من سجل TXT الخاص به.

وعلى Proxmox تنشئ حوسبة جهازًا افتراضيًا من قالب cloud-init أو حاوية LXC غير ممتازة الصلاحيات، ثم تثبّت عليها الوكيل.

ومن مكونات لوحة التحكم نفسها: قواعد بيانات مع نسخ احتياطية عبر MinIO وrestic، ومضيفات وكيل (proxy hosts)، وأنفاق frp أو Tailscale. وللفرق أربعة أدوار (owner وadmin وdeployer وviewer). ويتصل وكلاء الذكاء الاصطناعي عبر MCP برموز مرتبطة بفريق، وتعلن كل أداة نطاقها.

## لقطات

لقطات الشاشة في المعرض بالإنجليزية فقط، وهي متاحة في [النسخة الإنجليزية](https://hosbah.com/en/blog/self-hosted-paas-proxmox-push-to-deploy).

## البدء

الأوامر التالية من ملف README، وتحتاج إلى Docker مع Compose v2.

```bash
git clone https://github.com/fadymondy/hosbah.git && cd hosbah
cp .env.selfhost.example .env.selfhost
# fill in POSTGRES_PASSWORD, HOSBAH_APP_DB_PASSWORD, AUTH_SECRET and HOSBAH_KEK
# (generate each with: openssl rand -base64 32) and back up HOSBAH_KEK
docker compose -f docker-compose.selfhost.yml --env-file .env.selfhost up -d --build
```

افتح `http://localhost:3710` وسجّل حسابًا. احتفظ بنسخة من `HOSBAH_KEK` لأنه يغلّف مفاتيح الفرق التي تشفّر أسرارك. وللحصول على صفحات الإدارة وخادم MCP الإداري، ارفع صلاحية حسابك:

```bash
docker compose -f docker-compose.selfhost.yml --env-file .env.selfhost exec api /app/hosbah-admin promote you@example.com
```

وللتثبيت العام ضع وكيلًا عكسيًا بـ TLS أمام الخدمة واضبط `APP_URL` و`HOSBAH_AGENT_URL` و`COOKIE_SECURE=1`.

## حدود صريحة

- جرى اختبار مشغّل Proxmox مقابل واجهة Proxmox وهمية. أما الاختبار على جهاز حقيقي فاختياري، فجرّبه أولًا على جهاز غير حرج.
- يحتاج البناء حاليًا إلى عنوان git عام. وتكامل GitHub App مكتوب لكنه غير مضبوط افتراضيًا.
- النسخ الاحتياطية عبر MinIO ليست point-in-time، وقد تكون النسخة الحية غير متسقة.
- الاتصال الواحد عبر MCP مرتبط بفريق واحد.
- ملف `hosbah.toml` اختياري، وما زالت الأسماء `cloudy.toml` و`cld_` محفوظة من قبل تغيير الاسم.

## أسئلة شائعة

### هل تعمل حوسبة مع Proxmox؟
نعم. تكتشف Proxmox VE وتنشئ جهازًا افتراضيًا من قالب cloud-init أو حاوية LXC غير ممتازة الصلاحيات. راجع الحدود أعلاه.

### كيف يعمل الرجوع إلى نسخة سابقة؟
تحتفظ حوسبة بأحدث خمس صور لكل تطبيق، فيعود الرجوع إلى صورة موجودة دون إعادة بناء.

### هل أستطيع نشر مستودعات خاصة؟
يحتاج البناء حاليًا إلى عنوان git عام.

### هل حوسبة مفتوحة المصدر؟
نعم، برخصة AGPL-3.0 على [github.com/fadymondy/hosbah](https://github.com/fadymondy/hosbah).

## الخطوات التالية

- اقرأ كيف بُنيت: [حوسبة على ToGO، دراسة الحالة](https://to-go.dev/ar/blog/hosbah-togo-case-study)
- اقرأ القصة: [لماذا بنيت حوسبة](https://fadymondy.com/ar/blog/why-i-built-hosbah)
- المصدر: [GitHub](https://github.com/fadymondy/hosbah)
- Product Hunt: [حوسبة](https://www.producthunt.com/products/hosbah)
- الموقع: [hosbah.com](https://hosbah.com)

---

Source: https://hosbah.com/ar/blog/self-hosted-paas-proxmox-push-to-deploy
