الخادم المنزلي الأمثل: بناء بنفسك مع ZimaBoard 832

إيفا وونغ هي كاتبة تقنية و ومهندسة هاوية في ZimaSpace. مهووسة بالتكنولوجيا مدى الحياة ولديها شغف بالمختبرات المنزلية والبرمجيات مفتوحة المصدر، تتخصص في تبسيط المفاهيم التقنية المعقدة إلى أدلة عملية وسهلة الفهم. تؤمن إيفا بأن الاستضافة الذاتية يجب أن تكون ممتعة وليست مخيفة. من خلال دروسها، تمكّن المجتمع من تبسيط إعدادات الأجهزة، بدءًا من بناء أول نظام تخزين شبكي NAS وحتى إتقان حاويات Docker.

في هذه السلسلة من التدوينات، لدينا شرف مشاركة الرحلة المميزة لد. رولاند، عضو مجتمع مخلص كان معنا منذ مرحلة التمويل الجماعي لـ ZimaBoard قبل عامين. اشترى ثلاث لوحات، كل واحدة لها سيناريو تطبيق فريد. في هذه السلسلة من التدوينات، سنتعمق في تجاربه مع هذه اللوحات وكيف أصبحت أدوات لا تقدر بثمن في ترسانته التقنية.

في هذه التدوينة الأولى من ثلاث، سيرشدك د. رولاند إلى كيفية إعداد خادم منزلي خاص بك باستخدام ZimaBoard 832.

تعرف على د. رولاند

لنبدأ بالتعرف على د. رولاند بشكل أفضل. هو هاوٍ تقني نموذجي؛ زوج وأب لطفلين، ومحترف تقني متمرس ذو خلفية غنية في الشبكات وتكنولوجيا المعلومات. بدأت رحلته في عالم التكنولوجيا في المدرسة الثانوية، وقادته في النهاية إلى مهنة في تكنولوجيا المعلومات، حيث عمل مع الخوادم والشبكات وتقنيات مختلفة. إن رؤاه وتجربته لا تقدر بثمن ونحن نستكشف كيف أصبح ZimaBoard جزءًا من حياته.

سيناريو الخادم المنزلي: ZimaBoard 832

أحد الأسباب الرئيسية التي دفعت د. رولاند لشراء وحدة 832 هو استضافة الخدمات التي يستخدمها عادة بنفسه. قبل ZimaBoard، كان د. رولاند يستخدم "خادم" مخصص بحجم 3U مصنوع من قطع حاسوب قديمة كانت لديه أو استطاع جمعها من إعادة التدوير الإلكتروني. في صورة رف منزله أدناه، لا يزال بإمكانك رؤية الخادم القديم موضوعًا في أسفل الرف ومطفيء التشغيل.

تولى ZimaBoard 832 جميع مهام الخادم القديم، باستثناء بعض تخزين الملفات التي نُقلت إلى Synology NAS (المصورة أيضًا). أصبح ZimaBoard 832 الخاص بد. رولاند خادمًا منزليًا قويًا، وإليك كيف أعده:

بيئة الأجهزة:

  • ZimaBoard 832
  • قرص SSD بسعة 480 جيجابايت لمجلد /home

نظام البرمجيات:

  • Debian 11.5
  • Docker وDocker-Compose

كيفية إعداد ZimaBoard 832 كخادم منزلي

تضمن إعداد خادم المنزل الخاص بد. رولاند الخطوات التالية:

  • تثبيت نظام التشغيل: نظرًا لأن وحدات ZimaBoard هي أنظمة x86، تمكن د. رولاند من اتباع إجراء التثبيت العادي لـ Debian. قام بمسح قسم CasaOS وتثبيت نسخة نظيفة من Debian Bullseye على ذاكرة eMMC الخاصة بـ ZimaBoard 832. استخدم eMMC للقسم الجذري/root.
  • تخزين إضافي: لتخزين البيانات، استخدم قرص SSD بسعة 480 جيجابايت لمجلد /home. هذا الفصل بين نظام التشغيل والبيانات يضمن تشغيلًا فعالًا.
  • تثبيت Docker: بمجرد تشغيل نظام التشغيل، قام د. رولاند بتثبيت Docker وDocker-Compose. في وقت الإعداد، كان Docker وDocker-Compose مكونين منفصلين؛ أما الآن فإن إصدار Debian Bookworm يدمج Compose داخل Docker.
  • ترحيل البيانات: نسخ نقاط تركيب Docker وملف docker-compose.yml من خادمه السابق إلى ZimaBoard 832. ضمنت هذه الخطوة نقل بياناته وتكويناته بسلاسة إلى الجهاز الجديد. تم تحديث بعض مسارات الملفات في docker-compose.yml وسكربت bash الخاص بـ “Backup-to-S3” لتعكس تخطيط النظام الجديد.
  • تكوين Docker: مع تحديث مسارات الملفات في ملف docker-compose.yml الخاص به، تمكن د. رولاند من تنفيذ “docker-compose up -d” وعادت جميع خدماته للعمل بشكل طبيعي.

التطبيقات وحالات الاستخدام

في الوقت الحالي، يشغل د. رولاند التطبيقات والخدمات التالية على جهاز ZimaBoard 832 الخاص به:

  • hkotel/mealie
  • linuxserver/calibre-web
  • gitea/gitea
  • matrixdotorg/synapse
  • vaultwarden/server
  • iarekylew00t/caddy-cloudflare
  • oznu/cloudflare-ddns
  • ugeek/webdav
  • itzg/minecraft-bedrock-server
  • mongo:4.4
  • pawelmalak/flame
  • drowland/phpfpm-alpine
  • drowland/fastapi
  • drowland/ipcalc
  • drowland/autolog

س: تخدم هذه التطبيقات أغراضًا متنوعة في السيناريوهات. فيما يلي مشاركة د. رولاند.

يريد د. رولاند الإشارة إلى أنه أثناء استخدام جميع حاويات Docker المذكورة أعلاه، وبناءً على لقطة شاشة neofetch الخاصة به، يستخدم جهازه 832 فقط 1.3 جيجابايت من الذاكرة خلال الاستخدام اليومي العادي.

مشاريع بايثون د. رولاند: جوهر خادم المنزل ZimaBoard 832 يكمن في مشاريع بايثون المختلفة التي طورتها وأعمل عليها بنشاط. تتراوح هذه المشاريع بين الأدوات العملية والمبادرات التجريبية. حاليًا، أشغل:

  • Autoblog: Autolog هو سجل خدمة سيارات عبر الويب مصمم لتتبع وإدارة سجلات الصيانة لسيارات عائلتنا. يبسط صيانة المركبات ويضمن بقائنا على اطلاع بالخدمات المجدولة.
  • ipcalc: مستوحى من IPCALC الخاص بـ kjokjo بلغة بيرل، أردت إنشاء تنفيذ خاص بي بلغة بايثون لحاسبة الشبكات الفرعية IP. إنها أداة مفيدة للمهام والحسابات المتعلقة بالشبكات.
  • fastapi: FastAPI هو إطار عمل ويب حديث بلغة بايثون أستكشفه حاليًا. مكنني من بناء واجهة برمجة تطبيقات REST نموذجية، مما ساعدني في تطوير مشروع تكامل مع بائع للعمل.

بناء الحاويات المخصصة

د. رولاند: بعض حاويات Docker تعمل جيدًا لمعظم حالات الاستخدام، لكن أحيانًا تحتاج إلى بعض التعديلات.

  • PHP-FPM: قمت بتخصيص حاوية PHP-FPM القياسية بإضافة حزم إضافية غير موجودة في النشر العادي. استخدمتها مع عدة مشاريع، لذا تستمر الحزم في التزايد، مثل: imagick، mongodb، mysqli، sodium، وغيرها.

قاعدة البيانات والتخزين

D.Rowland:

  • MongoDB (الإصدار 4.4): نظرًا لقيود وحدة المعالجة المركزية في ZimaBoard 832، التي تفتقر إلى دعم AVX، اخترت استخدام إصدار MongoDB 4.4 لمشاريعي. ولحسن الحظ، هذا الإصدار مناسب جيدًا لحالات الاستخدام والمشاريع الخاصة بي.
  • WebDAV: تلعب حاوية WebDAV دورًا حيويًا في سير عملي. أستخدمها لمزامنة ملاحظات Obsidian عبر عدة أجهزة. تضمن وصولًا سلسًا إلى ملاحظاتي سواء كنت على هاتفي، أو جهاز الكمبيوتر الشخصي، أو جهاز العمل، أو الجهاز اللوحي، أو اللابتوب.

الوكيل العكسي والوصول عن بُعد

D.Rowland:

  • Caddy Server: لتبسيط الوصول عن بُعد إلى خدماتي أثناء غيابي عن المنزل، أعتمد على Caddy Server كوكيل عكسي. سهولة التكوين والموثوقية تجعله خيارًا مثاليًا. لم أستخدم حاوية مطور Caddy Server لأنني أردت إضافة Cloudflare DNS المدمجة.
  • Cloudflare DynDNS: أشغل حاوية Cloudflare DynDNS لإدارة سجل DNS A الخاص بي في المنزل بسهولة، مما يضمن بقاء خدماتي متاحة حتى أثناء التنقل.

حاويات أخرى

D.Rowland:

  • Mealie: أستخدم Mealie ككتاب وصفات إلكتروني. إذا صادفت وصفة تبدو جيدة، أضيفها بسرعة وسهولة. بالنسبة لي، إضافة الصور وحقول الملاحظات الإضافية تجعلها أفضل من كتاب وصفات مكتوب باليد.
  • Gitea: مستودع Git الشخصي الخاص بي؛ أستخدمه أثناء العمل على جميع مشاريعي الشخصية في Python وPowershell، وكمرآة لمشاريع العمل.
  • Flame: هذه لوحة تحكم رائعة أستخدمها كصفحة رئيسية للمتصفح. مرتبطة بمقبس Docker، لذا عند إضافة حاويات جديدة يمكنني ربطها باللوحة بسهولة مع أقل جهد في التكوين.
  • Minecraft Bedrock: أشغل خادم Bedrock بدلاً من إصدار Java ببساطة بسبب قيود الذاكرة. لا أستخدم تعديلات، لذا فإن إصدار Bedrock هو خادم سهل وخفيف الوزن للتشغيل.

أمان البيانات والنسخ الاحتياطي

D.Rowland:

  • نص النسخ الاحتياطي: أمان البيانات أولوية قصوى بالنسبة لي. لحماية نقاط تركيب الحاويات والبيانات الحيوية، طورت سكربت باش يستخدم tar لأرشفة ملفات الدوكر، ثم s3cmd لرفع الأرشيف إلى Wasabi كل ليلة.
  • Vaultwarden: استخدام حاوية Vaultwarden مع عميل/تطبيق Bitwarden يسمح لي بتتبع جميع كلمات المرور ورموز التحقق الثنائية الخاصة بي مع ضمان أن يكون تحت سيطرتي وليس يعمل على شبكات شركات أكبر.

تُبرز هذه المجموعة المتنوعة من التطبيقات مرونة وقوة ZimaBoard 832 كخادم منزلي.

الخاتمة :

في الجزء الأول من سلسلة ZimaBoard، استعرضنا إعداد الخادم المنزلي المذهل لـ D. Rowland باستخدام ZimaBoard 832. تُظهر تجربته كيف يمكن استغلال هذا الكمبيوتر الصغير المضغوط لاستضافة العديد من الخدمات مع الحفاظ على الكفاءة. ترقبوا الجزء القادم حيث نكشف المزيد من الاستخدامات الإبداعية لـ ZimaBoard!

انضم إلى مجتمعنا لمناقشة مع أعضائنا:

ديسكورد:zimaboard.com/discord

المنتدى : https://icewhale.community

مركز حملة Zima

المزيد للقراءة

Get More Builds Like This

Stay in the Loop

Get updates from Zima - new products, exclusive deals, and real builds from the community.

Stay in the Loop preferences

We respect your inbox. Unsubscribe anytime.