نشر Proxmox¶
انشر Solar AI Optimizer على Proxmox VE باستخداممخطوطات المجتمع-style helper الذي ينشئ LXC (Debian أو Alpine)، ويقوم بتثبيت Docker، وتشغيل صورة GHCR المنشورة.
لمعرفة مسارات التثبيت الأخرى، راجعتثبيت.
التثبيت السريع (ديبيان)¶
قم بالتشغيل على مضيف Proxmox (كجذر):
bash -c "$(curl -fsSL https://raw.githubusercontent.com/oraad/solar-ai-optimizer/main/proxmox/ct/solar-ai-optimizer.sh)"
أحكام المعالج:
- Debian 13 LXC مع nesting و keyctl (مطلوب لـ Docker-in-LXC)
- محرك Docker + البرنامج المساعد للإنشاء
- حاوية
solar-optimizerمنghcr.io/oraad/solar-ai-optimizer:latest - حجم عامل الإرساء المستمر
solar-dataشنت في/app/data
افتح لوحة القيادة فيhttp://<lxc-ip>:8000.
Home Assistant: ثبّت تكامل HACS من oraad/solar-ai-integration. أنشئ رمز اقتران من إعدادات Solar ثم أضف التكامل في HA (Core 2026.7.0+).
يكتب البرنامج النصي التثبيت/opt/solar-ai-optimizer/solar.envمعTRUST_INGRESS_HEADERS=true(يثق في رؤوس ومجموعات المستخدم التي تدخل HAX-Frame-Options: SAMEORIGINللوحة الشريط الجانبي) وبيانات اعتماد المسؤول المحلي التي يتم إنشاؤها تلقائيًا. تتم طباعة اسم المستخدم وكلمة المرور مرة واحدة في نهاية التثبيت - احفظهما.
التثبيت السريع (جبال الألب)¶
بالنسبة لنظام التشغيل الأساسي LXC الأصغر، استخدم مساعد Alpine بدلاً من ذلك:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/oraad/solar-ai-optimizer/main/proxmox/ct/solar-ai-optimizer-alpine.sh)"
أحكام معالج جبال الألب:
- Alpine 3.23 LXC (قرص بسعة 4 جيجابايت بشكل افتراضي) مع تداخل وkeyctl
- محرك دوكر عبر
apk(خدمة OpenRC،json-fileسائق السجل) - نفس
solar-optimizerحاوية وsolar-dataحجم كمسار دبيان
استخدم برنامج Alpine النصي للحصول على التحديثات على عمليات تثبيت Alpine (ملف in-LXCupdateنقاط الأمر في البرنامج النصي المطابق تلقائيًا).
ما بعد التثبيت¶
- احفظ كلمة مرور المسؤول المحلي التي تظهر عند اكتمال التثبيت (اسم المستخدم الافتراضي هو
admin). استخدامه لتسجيل الدخول فيhttp://<lxc-ip>:8000عند عدم استخدام دخول HA. - افتح الإعدادات وقم بتعيينعنوان URL لمساعد المنزل والرمز المميز طويل الأمد.
- خريطة الكيانات العاكس، والموقع، وإعدادات البطارية.
- اترك SHADOW MODE قيد التشغيل حتى تثق في القرارات (افتراضي).
- تعيين اختياريا
API_TOKENفي/opt/solar-ai-optimizer/solar.envعلى LXC وبنفس القيمة في الإعدادات → أمان واجهة برمجة التطبيقات.
إعادة تشغيل مساعد التحديث على تثبيت يحتوي بالفعل على بيانات اعتماد المسؤول المحلي لا يقوم بتدوير كلمة المرور. لإعادة تعيين كلمة المرور:
bash /opt/solar-ai-optimizer/reset-local-password.sh
يرىالدخول والترخيص - إعادة تعيين كلمة مرور المسؤول المحلي.
تحديث¶
أعد تشغيل البرنامج النصي المساعد الذي استخدمته للتثبيت على الحاوية الموجودة (تدفق تحديث البرامج النصية للمجتمع).
ديبيان LXC:
bash -c "$(curl -fsSL https://raw.githubusercontent.com/oraad/solar-ai-optimizer/main/proxmox/ct/solar-ai-optimizer.sh)"
** جبال الألب LXC: **
bash -c "$(curl -fsSL https://raw.githubusercontent.com/oraad/solar-ai-optimizer/main/proxmox/ct/solar-ai-optimizer-alpine.sh)"
هذا يسحب أحدث صورة، ويعيد إنشاءsolar-optimizerحاوية، ويحفظsolar-dataمقدار. كما أنه يقوم بترحيل عمليات التثبيت الأقدم: ifTRUST_INGRESS_HEADERSأو أن بيانات اعتماد المسؤول المحلي مفقودةsolar.env، تتم إضافتها تلقائيًا وتظهر أي كلمة مرور جديدة مرة واحدة. يتم أيضًا إعادة كتابة كل عملية تحديث/usr/bin/updateللإشارة إلى هذا المستودع (يعمل على إصلاح عمليات التثبيت القديمة التي كانت تشير إلى البرامج النصية للمجتمع).
من داخل LXC، يمكنك أيضًا تشغيل:
update
يقوم هذا الأمر بتشغيل نفس البرنامج النصي المساعد Solar (وليس البرامج النصية المجتمعية). يتم بيع الوظائف المساعدة ضمن proxmox/vendor/community-scripts/ وتم تحميله عبرSOLAR_REPO_RAWفي وقت التشغيل.
أو قم بالتحديث يدويًا داخل LXC (بما في ذلك مقبس Docker وعلامات التحديث الذاتي لذلك الإعدادات ← تحديثات البرامج ← التحديث الآن يستمر العمل):
docker pull ghcr.io/oraad/solar-ai-optimizer:latest
docker stop solar-optimizer && docker rm solar-optimizer
docker run -d --name solar-optimizer --restart unless-stopped \
--env-file /opt/solar-ai-optimizer/solar.env \
-v solar-data:/app/data \
-p 8000:8000 \
-v /var/run/docker.sock:/var/run/docker.sock \
-e SELF_UPDATE_ENABLED=true \
-e SELF_UPDATE_ENV_FILE=/opt/solar-ai-optimizer/solar.env \
-e SELF_UPDATE_IMAGE=ghcr.io/oraad/solar-ai-optimizer:latest \
ghcr.io/oraad/solar-ai-optimizer:latest
تفضل المساعد
الupdateيقوم الأمر أو البرنامج النصي المساعد من جانب المضيف بتشغيل نفس تدفق السحب وإعادة الإنشاء
وهو أقل عرضة للخطأ من اليدويdocker run.
النسخ الاحتياطي¶
قم بعمل نسخة احتياطية لوحدة تخزين Docker قبل الترقية:
docker run --rm -v solar-data:/data -v $(pwd):/backup alpine \
tar czf /backup/solar-data-backup.tar.gz -C /data .
ملفات مهمة:solar.db, config.runtime.yaml, model.json.
تحديث لوحة المعلومات بنقرة واحدة¶
تقوم عمليات تثبيت Proxmox الجديدة بتثبيت مقبس Docker وتعيينهSELF_UPDATE_ENABLED=trueعلى
solar-optimizerحاوية. يمكن للمسؤولين فتح الإعدادات → تحديثات البرامج لرؤية الإصدار
الملاحظات وانقر فوق التحديث الآن (نفس عملية السحب وإعادة الإنشاء مثلupdate).
الوصول إلى مأخذ توصيل عامل الميناء
تصاعد/var/run/docker.sockيمنح الجذر الفعال على LXC. واجهة برمجة التطبيقات للتحديث هي
للمسؤول فقط، ولكن قم بتمكين هذا فقط على المضيفين الذين تثق بهم. أعد تشغيل مساعد التثبيت/التحديث
البرنامج النصي لتطبيق حامل المقبس على عمليات تثبيت LXC الأقدم.
يتطلب التحديث بنقرة واحدة الإصدار 0.5.5 أو أحدث (تتضمن الصورة واجهة سطر أوامر Docker عبر ملف
docker-cliطَرد). تم تثبيت الصور v0.5.2–0.5.4 على Debian Trixiedocker.io، أيّ
لم يعد يوفر/usr/bin/docker. إذا رأيت "Docker CLI غير متوفر في هذا
حاوية"، اسحب v0.5.5+ وأعد إنشاء (updateأو الدليلdocker runفوق).
تقوم لوحة المعلومات التثبيت بإعادة تسمية الحاوية قيد التشغيل، وتبدأ الصورة الجديدة، وتنتظر
/api/health، ويعود إلى الحاوية السابقة في حالة فشل فحص السلامة. تقدم
(الطبقات، المحاولات الصحية) تظهر ضمن الإعدادات → تحديثات البرامج. سجلات المساعد:
/app/data/.update-logs/latest.logداخلsolar-dataمقدار.
استكشاف الأخطاء وإصلاحها¶
| العدد | تحقق |
|---|---|
| Docker CLI غير متوفر في هذه الحاوية (الإعدادات → تحديثات البرامج) | تم إصلاحه في v0.5.5+ (docker-cliفي الصورة). في الإصدار 0.5.2–0.5.4،docker exec solar-optimizer command -v dockerفارغ حتى بعد إعادة إنشائه. يجريupdateبعد سحب الإصدار v0.5.5+، أو إعادة إنشائه باستخدام الدليل الكاملdocker runالأعلام (المقبس +SELF_UPDATE_*بيئه). |
لوحة الشريط الجانبي فارغة /X-Frame-Options: deny |
TRUST_INGRESS_HEADERS=trueفي/opt/solar-ai-optimizer/solar.env; دخولurlيجب أن أشير إلىhttp://<lxc-ip>:8000(وليس عنوان URL لـ HA الخاص بك)؛ التحديث إلى الصورة الحالية وإعادة تحميل الدخول في HA |
| لن يبدأ عامل الإرساء في LXC | احتياجات الحاوياتnesting=1وkeyctl=1(يتم تعيينه افتراضيًا في البرنامج النصي المساعد)؛ على جبال الألب تحقق أيضاrc-service docker status |
| لا يمكن الوصول إلى Home Assistant | يجب أن يقوم LXC بالتوجيه إلى HA على شبكة LAN الخاصة بك؛ استخدم HA IP بدلاً من mDNS إذا لزم الأمر |
| فشل التحقق من الصحة | docker logs solar-optimizerداخل LXC |
| المنفذ 8000 قيد الاستخدام | تغيير تعيين المضيف في/opt/solar-ai-optimizer/solar.envنشر أو تحريرdocker runميناء |
| 502 بعد لوحة القيادة تثبيت | يفحص/app/data/.update-logs/latest.logعلىsolar-dataمقدار. إذا فشل التراجع، قم بتشغيلupdateداخل LXC أو قم بإعادة إنشائه يدويًا بكامل طاقتهdocker runالأعلام (المقبس +SELF_UPDATE_*بيئه). |
| يبدو أن تحديث لوحة المعلومات قد انتهى ثم تعطلت الخدمة | ابق على الإعدادات حتى تكتمل قائمة الخطوات. تؤدي عمليات التحقق من الصحة الفاشلة إلى التراجع التلقائي عندما يكون ذلك ممكنًا؛ وإلا استخدم الاستعادة من النسخة الاحتياطية السابقة للتثبيت. |
شوكة / فرع¶
أشر إلى مرجع git الخاص بك:
export SOLAR_REPO_RAW="https://raw.githubusercontent.com/you/solar-ai-optimizer/your-branch"
bash -c "$(curl -fsSL ${SOLAR_REPO_RAW}/proxmox/ct/solar-ai-optimizer.sh)" # Debian
bash -c "$(curl -fsSL ${SOLAR_REPO_RAW}/proxmox/ct/solar-ai-optimizer-alpine.sh)" # Alpine
المستقبل: Proxmox OCI أصلي (PVE 9.1+)¶
يمكن لـ Proxmox VE 9.1+ تشغيل صور OCI من GHCR كتطبيق LXCs. هذه الميزة لا تزال معاينة التكنولوجيا — تتطلب التحديثات إعادة إنشاء CT، ولا يوجد دعم لـ Docker Compose.
الصورة المنشورة OCI جاهزة (execENTRYPOINTالتسميات القياسية،VOLUME /app/data، التكوين الذي يحركه البيئة).
الخطوات اليدوية لمستخدمي PVE 9.1+ الأوائل:
- التخزين ← قوالب التصوير المقطعي ← سحب من سجل OCI —
ghcr.io/oraad/solar-ai-optimizer:latest - إنشاء CT من هذا القالب (
--ostype unmanaged). - أضف نقطة التثبيت
mp0→/app/data(4 جيجابايت+ مستحسن). - في الخيارات → البيئة، قم بتعيين الحد الأدنى:
SHADOW_MODE=trueDATA_DIR=/app/dataDATABASE_URL=sqlite+aiosqlite:////app/data/solar.db- ابدأ التصوير المقطعي وافتحه
http://<ct-ip>:8000.
حتى ينضج دعم OCI، يعد مساعد Docker-in-LXC أعلاه هو مسار الإنتاج الموصى به.
ملفات المستودع¶
| المسار | الدور |
|---|---|
proxmox/ct/solar-ai-optimizer.sh |
البرنامج النصي المضيف — Debian LXC (افتراضي) |
proxmox/ct/solar-ai-optimizer-alpine.sh |
البرنامج النصي المضيف – Alpine LXC |
proxmox/install/solar-ai-optimizer-install.sh |
يعمل داخل LXC الجديدة |
proxmox/lib/solar-common.sh |
الصورة المشتركة/نشر المساعدين |
proxmox/vendor/community-scripts/ |
مساعدو البرامج النصية المجتمعية الموردة (مثبتة في المنبع) |
النسخة الأساسية من هذا الدليل موجودة علىموقع التوثيق. يحتفظ المستودع أيضًا بـ proxmox/README.md لتصفح GitHub.