تخطَّ إلى المحتوى

الإعداد

الإعداد

ابنِ HolyArrs من المصدر وافتحه في المتصفح على المنفذ 6262.

  • Go، بالإصدار الذي يسمّيه go.mod.
  • Node 24 و npm.
  • طرفية مفتوحة في جذر المستودع.

لا تحتاج إلى مترجم C. عمليات البناء تستعمل CGO_ENABLED=0.

  1. ثبّت حزم تطبيق الويب:

    Terminal window
    npm --prefix app/frontend ci
  2. ابنِ تطبيق الويب:

    Terminal window
    npm --prefix app/frontend run build

    سترى البناء ينتهي والمجلد app/frontend/dist يمتلئ بالملفات.

  3. ابنِ البرنامج:

    Terminal window
    go build -o bin/holyarrs ./app/backend/cmd/holyarrs
  4. شغّله مع مجلد إعدادات خاص بك:

    Terminal window
    ./bin/holyarrs -config ./config
  5. افتح http://localhost:6262.

    سترى معالج التشغيل الأول. أنشئ حساب المالك.

يأخذ -config مجلدًا على قرص محلي، وقيمته الافتراضية /config. ويغيّر -addr عنوان الاستماع، وقيمته الافتراضية :6262.

العمل على تطبيق الويب

رابط إلى العمل على تطبيق الويب

أبقِ البرنامج يعمل. وفي طرفية ثانية، شغّل خادم التطوير:

Terminal window
npm --prefix app/frontend run dev

يعيد خادم التطوير التحميل عند الحفظ ويرسل نداءات API إلى البرنامج العامل. سترى تعديلك في المتصفح خلال 2 s.

الأمر عمله
make ui يثبّت حزم الويب ويبني تطبيق الويب
make build make ui، ثم يبني bin/holyarrs
make test go test بمهلة 25 min
make vet go vet ./...
make docker يبني الصورة باسم holyarrs:dev
make e2e يشغّل الاختبارات الشاملة (end-to-end)

بعض الميزات محجوبة وتبقى مطفأة. سمِّها في HOLYARRS_FLAGS مفصولة بفواصل:

Terminal window
HOLYARRS_FLAGS=subtitle_sites,ai_apps ./bin/holyarrs -config ./config

تخفي الصفحات الميزة المطفأة، ومسارات API الخاصة بها غير موجودة. يقرأ المستخدمون عنها في الميزات المحجوبة.

املأ المكتبة ببيانات تجريبية

رابط إلى املأ المكتبة ببيانات تجريبية

تملأ أداة العرض التجريبي مجلد إعدادات بمجموعة تجريبية. تعمل فقط و HolyArrs متوقف، وفقط على مجلد علّمته على أنه مختبر. علّمه مرة واحدة:

Terminal window
go run ./app/backend/tools/demo seed -config ./config -init-lab

بعدها يضيف seed -config ./config المكتبة التجريبية، ويزيل seed -config ./config -reset-demo ما أضافه هو فقط. يجب أن يكون مجلد الوسائط /data/media إلا إذا مرّرت -force. أدوات التطوير تبقى خارج الصورة. انظر أدوات التطوير.

العَرَض. تبدو الصفحات قديمة بعد أن غيّرت تطبيق الويب. السبب. البرنامج يقدّم نسخة البناء التي ضمّنها في داخله. الحل. شغّل بناء الويب، ثم بناء Go، ثم شغّل البرنامج.

العَرَض. يفشل go build لغياب app/frontend/dist. السبب. تطبيق الويب لم يُبنَ بعد. الحل. نفّذ الخطوة 2 أولًا.

العَرَض. يقول البرنامج إن المنفذ مستعمل. السبب. نسخة أخرى من HolyArrs أو تطبيق آخر يشغل 6262. الحل. مرّر عنوانًا آخر: ./bin/holyarrs -config ./config -addr :6263.

مفاتيح تبديل الميزات المحجوبة
مفتاح التبديل الميزة
plex_watchlists قوائم المشاهدة في Plex تصير طلبات
row_title_stats إحصاءات صفوف الاستكشاف للمالك
trakt_lists قوائم Trakt
alert_channels_more قنوات تنبيه غير Discord والبريد الإلكتروني
subtitle_sites مواقع الترجمات والبحث عن الترجمات
emby_signin تسجيل الدخول عبر Emby
go_back خطوات الرجوع إلى الإصدار السابق

لإضافة واحد، سجّل اسمه عبر startup.RegisterFeature وافحص startup.FeatureOn قبل أن تسجّل مساراته. الأسماء موجودة في app/backend/internal/core/startup (feature.go).

أدوات التطوير
الأداة الأمر عملها
العرض التجريبي go run ./app/backend/tools/demo <command> -config DIR تعمل على مجلد إعدادات متوقف. الأوامر: inspect (أعداد)، fingerprint، query "SELECT ..." (للقراءة فقط)، doctor، seed، showcase
موقع ترجمات وهمي go run ./app/backend/tools/fakesubs يقدّم مواقع ترجمات وهمية للاختبارات على 127.0.0.1:18727. ينقله -addr؛ ويضيف -accounts-addr النسخ الوهمية لمواقع الحسابات
قائمة المسارات go run ./app/backend/tools/apidoc تعيد كتابة مسارات API
بناء الصورة
Terminal window
docker build --file deploy/Dockerfile --tag holyarrs:dev .
docker run -p 6262:6262 -v ./config:/config holyarrs:dev

تبدأ الصورة بـ FROM scratch وتحوي البرنامج وشهادات CA والتراخيص. وتشغّل -config /config -addr :6262.

HolyArrs مجاني. إذا وفّر عليك وقتًا، امنحه نجمة على GitHub أو ادعمه ماليًا أو ادعُني إلى فنجان قهوة.