نسخة MinIO Community مؤرشفة
مستودع minio/minio للقراءة فقط منذ أبريل 2026 ولم تعد تتم صيانته. النسخة القائمة لم تعد تتلقى إصلاحات أمنية من المجتمع، فاقرأ قسم «البقاء أم الانتقال» أدناه. وللخروج، يشرح الدليل migrer-minio-vers-garage-ou-rustfs-vps الطريقة، ويصف heberger-garage-s3-vps وself-host-rustfs-vps الوجهتين.
نسخة MinIO Community مؤرشفة: الحالة الفعلية للمشروع
مستودع minio/minio مؤرشف: هو للقراءة فقط، وآخر commit فيه يعود إلى أبريل 2026، ويذكر ملف README أنه لم تعد تتم صيانته. وهذه نهاية انزلاق ظاهر منذ خريف 2025: أعلنت الجهة المطوِّرة في أكتوبر 2025 أنها ستتوقف عن نشر صور Docker، ثم انتقل المشروع إلى «الصيانة فقط» في ديسمبر 2025، دون قبول مساهمات جديدة، وفي أفضل الأحوال مع دراسة الإصلاحات الحرجة وحدها حالة بحالة. وتُوزَّع نسخة Community الآن في شكل شيفرة مصدرية فقط، برخصة AGPLv3، وتحيل الجهة المطوِّرة إلى AIStor Free (نسخة مستقلة برخصة مجانية) أو AIStor Enterprise (نسخة موزعة مع دعم تجاري). الشيفرة ما زالت متاحة وبياناتك ما زالت مقروءة: ما يختفي هو الفريق الأصلي الذي يصلح الثغرات.
ماذا يعني ذلك لنسخة قيد التشغيل
- لا إصلاحات أمنية من المجتمع بعد الآن — الثغرة القادمة في خادم S3 أو الواجهة أو المصادقة لن يصلحها أحد في المصدر افتراضيًا، وتبقى معرَّضًا إلى أن تصلحها بنفسك
- رفع وسم الصورة لم يعد مفيدًا — الأمر
docker compose pullلا يجلب نسخة مصححة منminio/minio، والتحديث التلقائي يعطي إحساسًا زائفًا بالأمان - إعادة البناء من المصدر تعني أن تصبح أنت المسؤول عن الصيانة — ما دام التوزيع شيفرة مصدرية فقط، فالتجميع والتوقيع ومتابعة ثغرات CVE في اعتماديات Go تصبح مهمتك
- المنظومة تتقدم من دونك — ستستمر حزم SDK والأدوات وتطبيقات S3 في العمل زمنًا، لكن لن يجري أحد اختبارات التوافق مع إصدارات MinIO الجديدة
- بياناتك ليست في خطر فوري — لا شيء ينكسر يوم الأرشفة، ولا يزال
mcوrcloneيقرآن حاوياتك؛ الخطر بطيء وهو دَين أمني متراكم - درجة التعرض تحدد الاستعجال — نسخة يمكن بلوغها من الإنترنت لها ملف مخاطر مختلف عن نسخة على شبكة خاصة خلف VPN أو جدار ناري
البقاء أم الانتقال: كيف تقرر
اطرح ثلاثة أسئلة بهذا الترتيب. هل يمكن بلوغ النسخة من الإنترنت؟ هل تبرر البيانات مراقبة أمنية لن يقوم بها أحد غيرك؟ هل يستطيع فريقك تحمّل صيانة ملف تنفيذي مبني داخليًا؟ الجواب بنعم عن السؤال الأول، أو ثلاث إجابات بلا عن الأسئلة التالية، تدفع إلى الانتقال؛ أما النسخة الخاصة قليلة التعرض ذات النسخ الاحتياطية المجرَّبة فتمنحك وقتًا للتحضير. وفي الحالتين لا تقرر على عجل: ترحيل S3 يُحضَّر (جرد الحاويات والسياسات والروابط الموقّعة مسبقًا والإصدارات)، وهذا ما يفصّله الدليل migrer-minio-vers-garage-ou-rustfs-vps. وتوصف الوجهتان في heberger-garage-s3-vps وself-host-rustfs-vps، وهما تخزينان متوافقان مع S3 ينبغي معرفة فوارقهما عن MinIO قبل الاختيار.
البقاء أو التجميع أو الانتقال: جدول القرار
مرّر الجدول أفقيًا
| الخيار | متى يصمد | ماذا يترتب عليه |
|---|---|---|
| البقاء على آخر إصدار مجتمعي | نسخة خاصة وبيانات قليلة الحساسية وخروج مخطَّط | لا إصلاحات من المصدر، والعزل والمراقبة على عاتقك |
| التجميع من المصدر | فريق قادر على متابعة ثغرات Go وإعادة البناء | تصبح مسؤولًا عن صيانة ملفك التنفيذي |
| الانتقال إلى نسخة AIStor من الجهة المطوِّرة | ترغب في البقاء ضمن منظومة MinIO | رخصة وشروط خاصة بالجهة، تُقرأ قبل الالتزام |
| الانتقال إلى Garage | حجم متواضع واحتياجات S3 بسيطة ونسخ متماثل بين المواقع | الإصدارات وقوائم ACL وسياسات الحاويات غير مدعومة |
| الانتقال إلى RustFS | تحتاج واجهة ونمط استخدام قريبًا من MinIO | قوائم ACL غير مدعومة، ويجب تحديد المنطقة ونمط العنونة صراحةً |
| العودة إلى تخزين S3 عام | لا قدرة تشغيلية داخلية | تعود رسوم الخروج والفوترة لكل طلب |
لماذا تستضيف MinIO ذاتيًا على خادم VPS
يعرض MinIO واجهة API متوافقة 100% مع S3: فكل حِزم SDK وأدواتك (aws s3 وrclone وmc) وأطر العمل التي تتحدث S3 تعمل دون أي تعديل. وبدلًا من دفع تكلفة التخزين والطلبات وخاصة البيانات الصادرة (egress) لسحابة عامة، تحصل على تخزين كائني محلي بالسعر الثابت لخادمك الـVPS. وهو مثالي لخدمة أصول التطبيقات، وتخزين ملفات المستخدمين المرفوعة، واستقبال لقطات قواعد البيانات، أو بناء وجهة نسخ احتياطي لخوادمك الأخرى، وكل ذلك على بنية تحتية تتحكم فيها.
مزايا تخزين كائني مُستضاف ذاتيًا
- واجهة S3 أصلية: توافق فوري مع
aws-cliوrcloneوحِزم SDK وأطر العمل القائمة - لا رسوم للبيانات الصادرة (egress) ولا فوترة لكل طلب GET/PUT
- وحدة تحكّم على الويب مدمجة لإدارة الحاويات (buckets) والسياسات والمستخدمين
- تشفير في جهة الخادم وتأصيل نسخ الكائنات (versioning) قابلان للتفعيل لكل حاوية
- وجهة نسخ احتياطي مثالية لخوادمك الـVPS وقواعد بياناتك وحاوياتك
- سياسات وصول دقيقة وروابط موقّعة مسبقًا (presigned) لمشاركة الملفات بأمان
متطلبات واقعية
MinIO خفيف على المعالج/الذاكرة: يكفي خادم VPS بمعالجين افتراضيين (2 vCPU) و2 غيغابايت من ذاكرة RAM للبدء. العامل الحاسم هو القرص: خصّص وحدة تخزين SSD محجّمة وفقًا لسعتك المستهدفة، مع هامش لتأصيل النُّسخ (versioning). مع تثبيت Docker + Compose، ونطاق فرعي لواجهة API (s3.yourdomain.com) وآخر لوحدة التحكم (console.yourdomain.com). وشهادة TLS ضرورية لأن MinIO ينقل بيانات اعتماد.
النشر خطوة بخطوة
تجهيز التخزين على خادم VPS
أنشئ دليل البيانات على قرص SSD لديك:
mkdir -p /opt/minio/data. وإن كان لديك عدة وحدات تخزين، فيمكن لـ MinIO تجميعها في وضع ترميز المحو (erasure coding) لتحقيق المرونة.تعريف الخدمة ببيانات اعتماد قوية
في
docker-compose.yml، استخدم صورةminio/minio، والأمرserver /data --console-address ":9001"، وعرّفMINIO_ROOT_USER/MINIO_ROOT_PASSWORDبقيم مُولَّدة عشوائيًا. اربط/opt/minio/data:/data.التشغيل وربط المنافذ محليًا
شغّل
docker compose up -d. اعرض منفذ واجهة API رقم 9000 ومنفذ وحدة التحكم رقم 9001 على127.0.0.1فقط: إذ سيُنشران حصريًا عبر الوكيل العكسي.إعداد الوكيل العكسي بـ TLS
اضبط مضيفَين افتراضيَّين بـ HTTPS:
s3.yourdomain.comنحو المنفذ 9000 وconsole.yourdomain.comنحو 9001. وتذكّر السماح بالرفعات الكبيرة عبرclient_max_body_size 0;(Nginx) على مضيف واجهة API.إنشاء حاوية ومستخدم تطبيقي
باستخدام عميل
mc:mc alias set local https://s3.yourdomain.com ...، ثمmc mb local/mon-bucket، وأنشئ مستخدمًا مخصّصًا بسياسةreadwriteمقصورة على تلك الحاوية بدلًا من استخدام حساب الجذر (root).تفعيل النُّسخ (versioning) والتشفير
فعّل تأصيل النُّسخ (
mc version enable) للحماية من عمليات الحذف العرضية، واضبط التشفير في جهة الخادم (SSE) على الحاويات الحساسة.
استخدم ميزة النسخ المتماثل للحاويات (mc replicate) بين MinIO لديك وخادم VPS بعيد ثانٍ: تحصل على نسخة شبه فورية من كائناتك في موقع آخر، ما يشكّل استراتيجية تعافٍ من الكوارث متينة دون الاعتماد على سحابة طرف ثالث. اقرنها بقواعد دورة الحياة (lifecycle) لإنهاء صلاحية النسخ القديمة تلقائيًا والتحكم في مساحة القرص.
MinIO: متى يكون البقاء مبررًا
البقاء ليس خطأ في ذاته. فنسخة MinIO المؤرشفة ما زالت تخزّن الكائنات وتقدّمها، والترحيل السيئ التحضير كثيرًا ما يضر أكثر من ثغرة نظرية في خدمة غير معرَّضة. ويكون البقاء مبررًا حين تختار هذا الخطر عن علم، مع تاريخ للخروج، بدل تجاهله.
شروط بقاء معقول
- لا تعرض عام — المنفذان 9000 و9001 مربوطان بالعنوان
127.0.0.1أو بشبكة خاصة، والواجهة لا تُنشر أبدًا، والوصول عبر VPN أو نفق SSH - استخدام محدود — وجهة نسخ احتياطي داخلية أو تخزين artefacts، دون رفع من مستخدمين مجهولين ودون بيانات شخصية حساسة
- نسخ احتياطي مستقل ومجرَّب — نسخة من الحاويات على وسيط آخر بالأمر
mc mirrorأوrclone، مع استعادة جُرّبت فعلًا - وظائف بلا مقابل في مكان آخر — يعتمد تطبيقك على الإصدارات أو سياسات الحاويات أو النسخ المتماثل التي لا تدعمها الوجهة، والانتقال سيكسره
- موعد مكتوب — مراجعة كل ثلاثة أشهر ومحفزات للانتقال: ثغرة منشورة بلا إصلاح، أو تعرّض أصبح ضروريًا، أو تطبيق يتطلب إصدارًا أحدث
إذا غاب أحد هذه النقاط الخمس فاعتبر الانتقال ورشة تُجدول لا مشروعًا لـ«يومٍ ما»: migrer-minio-vers-garage-ou-rustfs-vps للطريقة، وheberger-garage-s3-vps وself-host-rustfs-vps لتثبيت الوجهة.