تثبيت rtorrent على سيرفر synology باستتخدام docker

قبل فترة شرحت طريقة تركيب برنامج rtorrent وواجهة rutorrent بشكل يدوي وبطريقة كانت نوعاً ما متعبة وتحتاج فهم لسطر الاوامر خصوصاً عند التعطل احيانا مع التحديثات, بالرغم من وجود ملف تثبيت مباشر من خلال الاستور مقدم من مستودعات Synocommunity إلا انني واجهت ايضاً بعض المشاكل والتي قد تختلف من مستخدم لآخر ولصعوبة توضيح حلها بطريقة واضحة لذلك لم اتطرق لها.

تكلمت كثير عن حاويات لينكس هنا و هنا وانها تقنية رائعة في مجال dev-ops او حتى للمستخدم العادي, و من قبل سنة تقريباً بدأت استخدام docker بشكل مباشر على اي جهاز وفي اي مشروع اعمل عليه حتى لو مجرد تشغيل قاعدة بيانات لتفادي التثبيت وعوار الراس :)

دوكر منصة سطر اوامر بالكامل ولكن شركة synology وفرت GUI لعملائها في نظام تشغيلها وصار استخدامه سهل لاي شخص, الان بشرح طريقة انشاء حاوية تحتوي على برنامج التورنت الشهير rtorrent كذلك يحتوي على واجهة ويب rutorrent و معظم الاضافات المهمة مثل اضافة auto-dl وبطريقة بسيطة وبدون اي اوامر في الطرفية.

طريقة التثبيت

نثبت دوكر من المتجر ونفتح النافذة الرئيسية

في اليسار نحدد تبويب Registry ونبحث عن النسخة المحدده وبضغطتين راح يبدأ تحميلها

 

طبعاً النسخ – images – موجودة بكثرة في الانترنت وكل شخص يقدر يبني نسخة وينشرها طبعا انا اخترت هذي النسخة لانها خام ونظيفة وفيها معظم الاضافات المهمة على رأسها auto-dl, طيب الان نروح لتبويب Images وبنشوف النسخة الي حملناها

وبضغتين راح تظهر لنا نافذة خصائص انشاء الحاوية

  1. Container name اكتب الاسم الي تبيه و ارقام البورت في نوعين منها
  2. الي بالوسط Container port هذي خاصه بالحاوية نفسها اكتب نفس الموجود بالصورة
  3. في اليسار Local port هذي على كيفك وهي الي من خلالها تقدر تستخدم البرنامج ولازم تكون متاكد ان تختار رقم ضمن هذا الحد (49153-65535) , ثم next وتظهر لنا هذي النافذة

ونضغط فوق Advanced setting وتظهر لنا هذي الواجهة الصغيرة وفيها اهم شي وهو الربط بين مجلدات الحاوية والسيرفر طبعا راح نحدد المجلدات الي بنسوي عليها الـ download مثل مجلدات الافلام او البرامج

من تبويب Volume نضغط add folder ونختار المجلد الي نبغاه

وراح يطلع مساره في خانه File/Folder والاهم من ذلك هو تحديد المسار في خانة Mount path وفي نسختنا هذه لازم يبدأ المسار بالشكل التالي

/downloads/XXXX

بحيث ان علامة XXXX اسم المجلد زي ماتبي هذا الاسم هو الي راح يطلع لك في برنامج rtorrent, طبعا حتكرر الخطوة السابقة بعدد المجلدات التي تبي تضيفها بيكون الشكل النهائي من الصورة السابقة

وبعد ما نضغط ok راح نرجع لنافذة summary

تقدر تحط علامة صح في اليسار تحت وهذا راح يشغل الحاوية تلقائيا مع تشغيل السيرفر, الان نضغط apply وبكذا خلصنا من انشاء الحاوية

وبضغطة على الزر الايمن لتشغيل البرنامج بشكل كامل وتقدر تروح الان للبرنامج من خلال رابط السيرفر بالاضافة للبورت الي اخترته في الاعدادات مثلا

http://SERVERHOSTNAME:32000

او

http://192.168.10.100:32000

كل شي سليم إلى الان لكن راح تلاحظ عدم وجود المجلدات في قائمة تنزيل التورنت

والسبب في ذلك هو الصلاحيات المستخدمة في النظام, بشرح هذي النقطة بالتفصيل حتى تكون على بينة وتعرف انه ممكن اذا ما عملت الصلاحيات بشكل سليم حتكون ملفاتك مكشوفة لاي يوزر ثاني على السيرفر

النظام يعتمد في اعطاء الصلاحيات على user او folder بحيث انك تقدر تعطي الصلاحيات بالشكل التالي:

  1. المستخدم (rayan) ياخذ صلاحيات على مجلدات معينة
  2. المجلد (movies) يكون محدد لمستخدمين معينين

الان لو رجعنا للحاوية نلاحظ انها مو مستخدم ولا مجلد  (_11 , فهنا تكون المشكلة ان النظام يمنع الحاوية من الدخول للمجلدات لانها مجهول بالنسبة له.


الحل

الحل نعمل شرط rule لكل مجلد نبغاه داخل برنامج التورنت وهذا الشرط يعتبر (خطِر نوعاً ما) خصوصاً للسيرفر الي عليه اكثر من مستخدم وفيه صلاحيات معينة ولكن تقدر تعدل في صلاحيات كل مجلد وتتفادى هذه الخطورة, وهذي هي السلبية الوحيدة لتشغيل rtorrent على docker

نفتح متصفح الملفات ومن اليسار كلك يمين على المجلد (المجلد الي نبغاه يطلع في برنامج rtorrent) ونختار properties

وتطلع لنا النافذة التالية

نختار  تبويب permission ونضغط create وتطلع لنا الواجهة التالية

ونحدد مثل الموجود بالصورة نختار everyone ونحدد على Read و Write ونضغط ok , هذا هو الشرط ومعانه اي مستخدم يقدر يشوف المجلد ويعدل عليه وفي هالحالة تكون الحاوية داخل نطاق هالصلاحية, طبعاً نكرر الخطوات على المجلدات الي نبغاها في برنامج rtorrent مثلا مجلد Movies, TV, Programs, والان تقد تشيك على صفحة البرنامج

كل شي بيكون سليم ان شاء الله  (_5


طيب الحين نبغى نعدل على المجلدات الي سوينا لها الشرط علشان ما يقدر اي احد يدخل عليها وهذي طريقتها سهلة, من لوحة التحكم نروح لـ shared folder ثم نختار المجلدات الي بنعدل عليها ونسوي لها صلاحيات مخصصه.

  1. نختار المجلد ونضغط من فوق edit
  2. تظهر لنا واجهة نختار منها تبويب permissions
  3. نضع علامة صح على no access امام اي مستخدم مانبيه ياخذ اكسس على المجلد

والان بإذن الرحمن بيكون في استقرار كبير في برنامج التورنت لانه بيئة منعزلة تماماً و حتى لو صار اي مشكلة تقدر تسوي ريسيت للحاوية ويرجع كل شي زي ماكان طبعا بعدما تاخذ منها نسخة احتياطية.