لم أدفع مقابل خدمة صور جوجل لفترة طويلة، لكني أعرف العديد من الأشخاص الذين يضطرون الآن إلى إنفاق 20 أو 30 دولارًا شهريًا فقط للحفاظ على مكتبة صورهم سليمة. من نواحٍ عديدة، قد يبدو من المنطقي الدفع لشركة تقنية كبرى لتخزين صورك، حيث تتوفر لديهم بنية تحتية وتكرارية لا يمكنك مضاهاتها بمفردك. ومع ذلك، إذا كان لديك جهاز كمبيوتر قديم وترغب في توفير المال، فقد أصبح الآن من الأسهل من أي وقت مضى امتلاك سحابة خاصة بك وفعالة لإدارة الصور.
المكونات الرئيسية لما يقدمه التخزين السحابي
- إمكانية رفع الصور من جهازك تلقائياً.
- القدرة على تصفح الصور والبحث فيها عن طريق مرشحات (عادة الألبومات أو النطاقات الزمنية).
- إمكانية مشاركة الصور مع الآخرين.
- العمل كنسخة احتياطية موثوقة على المدى الطويل.
سنبدأ بمعالجة النقطتين الأوليين، وهما جداً من السهل تحقيقهما. ستحتاج إلى جهاز ذي سعة تخزينية جيدة، وبعض الصبر، وربما فنجانًا من القهوة.
إعداد Docker
Docker عبارة عن منصة تتيح لك تشغيل التطبيقات بسهولة داخل حاوية. تخيل الحاوية كحزمة معزولة من الأجزاء التي تعمل ككل لإنشاء تطبيق. سوف نستخدم Immich كتطبيق مفضل، فهو مجاني ومفتوح المصدر، ولكن هناك العديد من الخيارات للاختيار من بينها. يمكنك البحث عن صفحات تقدم مخططات مقارنة مفيدة لاختيار البديل الأنسب.
الخطوة 1: تثبيت Docker على الجهاز الذي تخطط لاستخدامه لخادم الصور
يقدم Docker تعليمات تثبيت واضحة لأنظمة التشغيل Windows وMacOS وLinux. اتبع هذه التعليمات وتأكد من قدرتك على تشغيل مثال بسيط مثل Hello World في نهاية التثبيت للتأكد من أن كل شيء يعمل بشكل صحيح.
الخطوة 2: إنشاء ملفات التكوين لـ Immich
يتم إنشاء حاويات Docker من سلسلة من التعليمات الموجودة في ملف نصي (يسمى تقليديًا docker-compose.yml أو compose.yml). أولاً، قم بإنشاء مجلد داخل نظام الملفات على الجهاز حيث تخطط لتخزين كل شيء لهذا الإعداد (يمكنك تسميته immich-app أو my-photo-server)، وقم بإنشاء الملفين أدناه في هذا المجلد:
compose.yml.env
عند إنشاء ملف .env، ضع في اعتبارك أن مستكشف الملفات لديك قد لا يعرضه افتراضيًا (يشير الرمز . في المقدمة إلى أنه ملف مخفي). ومع ذلك، يجب أن تظهره أدوات مثل VS Code أو محرر النصوص الذي تختاره. إذا لم تتمكن من العثور عليه، فراجع الإرشادات الواردة من مستكشف ملفات نظام التشغيل الخاص بك حول كيفية عرض الملفات المخفية.
داخل ملف compose.yml، ستحتاج إلى إضافة تعريفات الخدمات المختلفة التي يتكون منها Immich (الخادم، خدمة التعلم الآلي، Redis، وقاعدة البيانات). هذا الملف هو بمثابة وصف لكيفية تشغيل هذه المكونات معًا. للحصول على المحتوى الدقيق والمحدث لملف compose.yml، يُرجى الرجوع دائمًا إلى الوثائق الرسمية لـ Immich على موقعهم، حيث قد تتغير الإصدارات والتكوينات بمرور الوقت. الجزء الأكثر أهمية الذي يجب ملاحظته هو المنفذ الذي ستعمل عليه الخدمة، وهو المنفذ 2283.
أما بالنسبة لملف .env، فهو يحتوي على متغيرات البيئة الخاصة بتكوين Immich. أهم المتغيرات التي ستحتاج إلى ضبطها هي UPLOAD_LOCATION الذي يحدد موقع تخزين صورك، و DB_DATA_LOCATION لموقع بيانات قاعدة البيانات، و DB_PASSWORD الذي يجب أن يكون سلسلة عشوائية آمنة لتأمين قاعدة البيانات الخاصة بك. يمكنك أيضًا تغيير المنطقة الزمنية TZ إذا أردت، وهو أمر اختياري. يُرجى الرجوع إلى وثائق Immich للحصول على قائمة كاملة بمتغيرات البيئة المدعومة.
الخطوة 3: ابدأ الخادم
إما باستخدام واجهة المستخدم الرسومية لسطح مكتب Docker، أو سطر الأوامر، قم بتشغيل الحاوية. إذا كنت تفعل ذلك من سطر الأوامر، فتأكد من أنك في الدليل الذي وضعت الملفين فيه، ثم قم بتشغيل الأمر أدناه:
sudo docker compose -d
الخطوة 4: تحديد عنوان IP الخاص
قبل أن ننتقل إلى الاتصال بـ Immich من جهاز آخر، نحتاج إلى معرفة عنوان IP للاتصال به. اختر الأمر من تلك الموجودة أدناه بناءً على نظام التشغيل الخاص بك، ثم قم بتدوين عنوان IP للخطوات المستقبلية.
لينكس
في نظام لينكس، يمكنك استخدام الأمر: hostname -I | awk ‘{print $1}’
ماك
يمكنك استخدام علامة التبويب الشبكة في تفضيلات النظام، ومن المفترض أن ترى عنوان IP هناك. يجب أن يبدأ بالرقم 10 أو 172 أو 192.
ويندوز
انتقل إلى الإعدادات > الشبكة والإنترنت، وابحث عن عنوان IP4. يجب أن يبدأ بالرقم 10 أو 172 أو 192.
باستخدام Immich
من متصفح الويب
من جهاز آخر، اختبر قدرتك على الاتصال بواجهة الويب. باستخدام عنوان IP الذي وجدته أعلاه، اكتب http://{ip_address}:2283 في شريط المتصفح الخاص بجهاز آخر على نفس الشبكة المحلية (أي جهاز كمبيوتر أو هاتف متصل بنفس شبكة WiFi). يجب أن يتم الترحيب بك من خلال عملية الإعداد التي ستطلب منك إنشاء المستخدم المسؤول. يجب أن تكون عملية إعداد الحساب مطابقة تقريبًا لعمليات إنشاء الحساب على الأنظمة الأساسية الأخرى، وستجد الواجهة مشابهة جدًا لصور جوجل، مما يجعلها مألوفة وسهلة الاستخدام.
من الهاتف
بالإضافة إلى الوصول إلى Immich من خلال المتصفح، يمكنك أيضًا الوصول إليه من خلال تطبيق Immich المخصص. بعد تنزيل التطبيق من متجر Apple أو Play Store أو Obtainium (إذا كنت تفضل التنزيل مباشرةً من GitHub)، سيُطلب منك إدخال عنوان خادم Immich. في مربع النص هذا، ضع نفس العنوان http://{ip_address}:2283 الذي استخدمته أعلاه. بمجرد الاتصال، حاول تحميل صورة.
اعتبارات الأجهزة
الآن بعد أن أصبح لديك تثبيت صالح، قد تلاحظ أنه في الركن السفلي الأيسر، سيخبرك Immich بمقدار المساحة الحرة المتبقية لديك. ستأتي معظم أجهزة الكمبيوتر بسعة تخزين تتراوح بين 256 جيجابايت و1 تيرابايت. يتم تقسيم عدد الصور التي يمكنك تخزينها أدناه، بناءً على افتراض أن كل صورة يبلغ متوسطها حوالي 50 ميجابايت.
- 250 جيجابايت: حوالي 5000 صورة.
- 500 جيجابايت: حوالي 10,000 صورة.
- 750 جيجابايت: حوالي 15,000 صورة.
- 1 تيرابايت: حوالي 20,000 صورة.
من المحتمل أن يكون التخزين هو العامل المحدد في هذا الإعداد، ولن يستخدم Immich الكثير من قوة المعالجة أو الذاكرة.
حيث يتم تخزين الصور فعليًا
سيتم تخزين الصور في الموقع الذي يحدده متغير UPLOAD_LOCATION في ملف .env الذي قمت بإعداده سابقًا. بشكل افتراضي، هذا هو دليل library داخل الدليل الذي تقوم بإعداد Immich (الذي يحتوي على ملفي compose.yml و .env). داخل دليل library، ستجد مجلدات بأسماء المستخدمين (مثل admin) التي تمثل الصور المخزنة ضمن حساباتهم. هذا هو المجلد الذي تريد نسخه احتياطيًا، والذي سيتم تناوله في القسم التالي.
النسخ الاحتياطي لصورك
أنت لا تريد الاعتماد فقط على القرص الصلب داخل هذا الجهاز لتخزين جميع ذكرياتك الثمينة. هناك العديد من طرق النسخ الاحتياطي التي قد ترغب في اتباعها، ولكن جميعها ستتضمن على الأقل نسخ دليل المكتبة هذا في مكان آخر. يمكنك اختيار استخدام أي من الطرق المذكورة أدناه، أو حتى الجمع بينها لإجراء عملية نسخ احتياطي أكثر قوة:
- قرص صلب خارجي: ما عليك سوى توصيل هذا الجهاز بالجهاز كل 3 أشهر أو نحو ذلك، ونسخ الدليل أعلاه. لاحظ أن هذا ليس تلقائيًا ولا يتميز بالوفرة الجغرافية، ولكنه بسيط جدًا.
- خدمة النسخ الاحتياطي السحابية: مثل Backblaze. مقابل حوالي 7 دولارات شهريًا، يمكنك الحصول على سعة 1 تيرابايت. فقط تأكد من أن دليل
UPLOAD_LOCATION(libraryبشكل افتراضي) مشمول في النسخة الاحتياطية العادية، وأنك تتلقى إشعارًا أو تحذيرًا في حالة فشل النسخ الاحتياطي المجدول بانتظام. - جهاز تخزين متصل بالشبكة (NAS): استخدم جهاز NAS يحتوي على تكرار بين الأقراص من خلال RAID لضمان أمان البيانات.
مشاركة الصور مع الآخرين والوصول إليها أثناء التنقل
إذا كنت ترغب في مشاركة مكتبتك مع الآخرين، أو الوصول إليها خارج منزلك، فسوف تحتاج إلى القيام ببعض الأعمال الإضافية. هذا يتجاوز نطاق هذه المقالة، نظرًا لأنه أعلى صعوبة بشكل كبير، ولكنك تحتاج في الأساس إلى أحد الخيارين التاليين:
- استخدام جهاز يمكن الوصول إليه عبر الإنترنت بالفعل (مثل جهاز افتراضي من موفر السحابة).
- تمكين الوصول الخارجي إلى الجهاز داخل منزلك (على سبيل المثال من خلال نفق Cloudflare).
في كلتا الحالتين، من المحتمل أن ترغب في تكوين وكيل عكسي، وربما الحصول على اسم نطاق رخيص، والتأكد من اتخاذ الاحتياطات اللازمة والعناية عندما يتعلق الأمر بالأمان. إذا كنت تريد حل التوصيل والتشغيل الذي لا يكون اقتصاديًا تمامًا مثل استضافته بنفسك، فيمكنك اختيار خدمة مثل Pikapods والذي سيسمح لك بتكوين جهاز Immich على الفور، وتوصيل ما يصل إلى 1 تيرابايت من مساحة التخزين.
الاستنتاج
يعد الحصول على إعداد Immich على شبكتك المحلية، باستخدام جهاز موجود لديك، أسهل مما تعتقد. إذا كنت مرتاحًا لإعداد نظام نسخ احتياطي يسمح لك بالنوم ليلاً، فمن المحتمل أن توفر الكثير من المال مقارنة بالدفع مقابل اشتراك شهري لصور جوجل أو تخزين iCloud. الجانب السلبي الوحيد هو أنه سيتم نسخ الصور احتياطيًا في المرة التالية التي يتصل فيها هاتفك بشبكة Wifi المنزلية (بدلاً من الاتصال الفوري إذا كانت لديك خدمة خلوية). ومع ذلك، لا تغفل أن هاتفك يحتوي على مساحة تخزين خاصة به! إذا كنت تحتاج فقط إلى الوصول إلى 1000 صورة أثناء التنقل، فيمكن لهاتفك تخزين تلك الصور بمفرده، وبعد ذلك يمكنك إدارة بقية مكتبتك من خلال Immich.