تفتقر Radarr وSonarr وStarrs الأخرى حاليًا إلى آلية مدمجة للتعامل مع التنزيلات المتوقفة، ويهدف هذا المشروع إلى حل هذه المشكلة.
Swaparr مستوحى من موضوع Reddit "لقد كتبت نصًا يعيد .." من Douglas96.
إذا كان Swaparr مفيدًا لك وأنت تقدر قوة البرامج مفتوحة المصدر، فيرجى التفكير في منح هذا المستودع نجمة. ستدعم لفتتك جهودنا بشكل كبير وتساعد الآخرين على اكتشاف Swaparr!
يعمل Swaparr بهدوء في الخلفية، ويقدم خيارات تخصيص كاملة ورؤية واضحة من خلال سجلات وحدة التحكم. وتتمثل وظيفتها الأساسية في معالجة مشكلة التنزيلات المتوقفة في مثيلات ستار.
الاكتشاف التلقائي: يقوم Swaparr بفحص جميع التنزيلات النشطة في مثيلات Starr الخاصة بك كل 10 دقائق (قابل للتعديل) لتحديد حالات التباطؤ المحتملة.
نظام المخالفة: يتم إعطاء مخالفة للتنزيلات المحددة، وتتكرر دورة التقييم هذه بشكل دوري. إذا تراكم لدى التنزيل الحد الأقصى المسموح به من المخالفات، فسيقوم Swaparr بإزالته تلقائيًا من المثيل الخاص بك.
التخصيص: يوفر Swaparr خيارات التخصيص لضبط السلوك اللافت للنظر.
تحذير
Swaparr لا يزال في مرحلة تجريبية، وقد تتغير الأمور قبل الوصول إلى الإصدار 1.0.0
يلزم وجود Docker ومكوّنه الإضافي، وفيما يلي مصفوفة حول كيفية تثبيت كليهما لنظامك:
نظام التشغيل | التعليمات الرسمية |
---|---|
لينكس | docs.docker.com/../linux-install |
ماك | docs.docker.com/.../mac-install |
ويندوز | docs.docker.com/.../windows-install |
ابدأ بملف الإنشاء المقدم كأساس، ثم قم بتخصيصه عن طريق استبعاد أو تعديل أي خدمات.
الإصدار: '3' الخدمات: رادار: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-radarrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:7878 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح Radarr API (مطلوب) - PLATFORM=radarr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح # -- (خياري) sonarr: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-sonarrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:8989 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح Sonarr API (مطلوب) - PLATFORM=sonarr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح
الإصدار: '3' الخدمات: رادار: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-radarrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:7878 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح Radarr API (مطلوب) - PLATFORM=radarr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح # -- (خياري) sonarr: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-sonarrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:8989 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح Sonarr API (مطلوب) - PLATFORM=sonarr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح # -- (خياري) Lidarr: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-lidarrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:8989 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح Lidarr API (مطلوب) - PLATFORM=lidarr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح # -- (خياري) readarr: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-readarrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:8989 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح واجهة برمجة تطبيقات Readarr (مطلوب) - PLATFORM=readarr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح # -- (خياري) whisparr: الصورة: ghcr.io/thijmengthn/swaparr:latestcontainer_name: Swaparr-whisparrrestart: ما لم يتم إيقاف البيئة: - BASEURL=http://127.0.0.1:8989 # IP أو FQDN (مطلوب) - APIKEY=7f3a8..cbc07 # مفتاح Whisparr API (مطلوب) - PLATFORM=whisparr # "radarr"، "sonarr".. (اختياري) الافتراضي: الرادار - MAX_STRIKES=3 # الرقم الموجب (اختياري) الافتراضي: 3 - SCAN_INTERVAL=10m # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 10m - MAX_DOWNLOAD_TIME=2h # 1d، 6h، 30m، إلخ. (اختياري) الافتراضي: 2 ساعة - IGNORE_ABOVE_SIZE=25 جيجابايت # 1 تيرابايت، 1 جيجابايت، 1 ميجابايت، وما إلى ذلك. (اختياري) الافتراضي: 25 جيجابايت - REMOVE_FROM_CLIENT=true # افتراضي منطقي (اختياري): صحيح
لبدء Swaparr، قم بتشغيل الأمر التالي:
docker compose up -d
يمكنك مراقبة أنشطة Swaparr وتتبع معالجة التنزيلات عن طريق تنفيذ الأمر التالي. احذف معلمة
لعرض السجلات لجميع الأنظمة الأساسية:
docker compose logs
لإيقاف تشغيل Swaparr، قم بتشغيل الأمر التالي:
docker compose down
يعد تحديث Swaparr أمرًا سهلاً للغاية، اسحب أحدث الصور وأعد تشغيل الخدمة:
docker compose pull
docker compose down
docker compose up -d
ملخص موجز لتسليط الضوء على شيئين بالنسبة لك:
اسم | تقصير | وصف |
---|---|---|
بازورل | http://127.0.0.1:7878 | عنوان URL لرادار أو سونار أو مثيل ستار آخر. |
APIKEY | 7f3a8..cbc07 | مفتاح واجهة برمجة التطبيقات (API) لرادار أو سونار أو مثيل ستار آخر. |
منصة | radarr | يشير إلى نوع منصة ستار، إما radarr أو sonarr أو lidarr أو readarr أو whisparr . |
MAX_STRIKES | 3 | الحد الأقصى لعدد الإنذارات التي يمكن أن يتراكمها التنزيل قبل إزالته. |
SCAN_INTERVAL | 10m | كم مرة يقوم Swaparr بالتحقق من التنزيلات المتوقفة. |
MAX_DOWNLOAD_TIME | 2h | الحد الأقصى لوقت التنزيل المسموح به قبل اعتباره متوقفًا. |
IGNORE_ABOVE_SIZE | 25GB | سيتم تجاهل الملفات الأكبر من هذا الحجم ولن تتم مراقبتها. |
REMOVE_FROM_CLIENT | true | إزالة من قائمة الانتظار وتنزيل العميل (افتراضي) أو false فقط في قائمة انتظار مثيل ستار. |
حالة | وصف |
---|---|
Normal | التنزيل يسير كما هو متوقع؛ لم يتم اكتشاف أية مشكلات. |
Striked | تم وضع علامة على التنزيل كبطيء أو متوقف؛ قد تتم إزالتها إذا استمرت في تراكم الضربات. |
Removed | تمت محاولة إزالة التنزيل من مثيل starr. |
Ignored | لا تتم مراقبة التنزيل لأنه يقع خارج الحدود المحددة (على سبيل المثال، الحجم أو الحدود الزمنية). |
Queued | التنزيل موجود في قائمة الانتظار في انتظار البدء؛ لن يتم ضربها. |
سواء كنت بحاجة إلى مساعدة، أو ترغب في المشاركة، أو وجدت خطأ يحتاج إلى إصلاح، ما عليك سوى فتح مشكلة. نحن جميعًا آذان صاغية ومستعدون للتعاون معك!