لماذا تستضيف FileBrowser ذاتياً على خادم VPS
FileBrowser مدير ملفات ويب مكتوب بلغة Go، ويُوزَّع على هيئة ملف تنفيذي واحد. يعرض مجلداً من خادمك في واجهة حديثة: رفع، وتنزيل، ومعاينة، وتحرير نصوص، وإدارة مستخدمين، وروابط مشاركة. إنه الأداة المثالية حين يكون Nextcloud مبالغاً في حجمه: دون قاعدة بيانات خارجية، ودون PHP، وببصمة بحجم بضع عشرات من الميغابايت. على خادم VPS، يصبح نقطة الوصول عبر الويب إلى بيانات خادمك — تسليم ملفات لعميل، أو منح وصول مُقيَّد إلى مجلد، أو ببساطة إدارة ملفات تطبيق دون المرور عبر SFTP. يلزم خادم VPS لأن FileBrowser يحتاج إلى القراءة/الكتابة في نظام الملفات والعمل كخدمة دائمة، وهو ما لا تتيحه الاستضافة المشتركة.
فوائد ملموسة لـ FileBrowser المستضاف ذاتياً
- خفيف للغاية: ملف تنفيذي بلغة Go، وقاعدة SQLite مدمجة، ويبدأ خلال بضع ميلي ثانية.
- إدارة دقيقة للصلاحيات: يُحصر كل مستخدم في مجلد فرعي (scope) بحقوق محدّدة.
- روابط مشاركة بكلمة مرور ومدة صلاحية: أرسل ملفاً دون إنشاء حساب للمستلِم.
- التحرير والمعاينة داخل المتصفح (نصوص، صور، فيديوهات) دون تنزيل.
- أوامر مخصّصة وخطافات (hooks): شغّل سكربتاً عند الرفع (تحويل، فحص مكافحة فيروسات).
- واجهة ويب نظيفة بديلاً عن SFTP للمستخدمين غير التقنيين.
المتطلبات التقنية
FileBrowser من أكثر الأدوات اقتصاداً في الموارد: 1 vCPU و512 ميغابايت من الذاكرة تكفي بوفرة، وتعتمد مساحة القرص على حجم الملفات المراد تقديمها وحده. لا حاجة لأي قاعدة بيانات خارجية — إذ تُخزَّن الإعدادات والحسابات في ملف SQLite محلي. تحتاج إلى Docker وDocker Compose، ونطاق فرعي fichiers.yourdomain.com موجَّه إلى خادم VPS، ووسيط عكسي لـ HTTPS. مهم: خطّط لأي مجلد من المضيف تريد عرضه (مجلد مخصّص /srv/partage، لا جذر النظام أبداً) واربطه كوحدة تخزين في الحاوية.
انشر FileBrowser خطوة بخطوة
تجهيز المجلدات والإعدادات
على خادم VPS: mkdir -p /opt/filebrowser /srv/partage. أنشئ ملفاً فارغاً لقاعدة البيانات: touch /opt/filebrowser/filebrowser.db. المجلد /srv/partage هو ما سيعرضه FileBrowser.
كتابة ملف docker-compose.yml
اعتمد على صورة filebrowser/filebrowser:latest. اربط /srv/partage:/srv (البيانات)، و/opt/filebrowser/filebrowser.db:/database/filebrowser.db (قاعدة البيانات)، واضبط PUID/PGID. اعرض المنفذ الداخلي 80 إلى الوسيط العكسي فقط.
التشغيل واسترجاع بيانات الدخول
ابدأ بـ docker compose up -d. عند أول تشغيل، ينشئ FileBrowser حساب admin بكلمة مرور تظهر في السجلات: docker compose logs filebrowser. دوّنها لأول تسجيل دخول.
إعداد الوسيط العكسي وSSL
ضع FileBrowser خلف وسيط عكسي HTTPS. مع Caddy: fichiers.yourdomain.com { reverse_proxy filebrowser:80 }. تُولَّد شهادة Let's Encrypt وتُجدَّد تلقائياً.
التأمين وإنشاء الحسابات
سجّل الدخول، وغيّر كلمة مرور المدير فوراً، ثم أنشئ مستخدمين مع حصر كل واحد في نطاقه (المجلد الفرعي) بالحقوق المناسبة. فعّل المصادقة الثنائية على الوسيط العكسي إذا كان الوصول حسّاساً.
استثمر «الأوامر المخصّصة» في FileBrowser لأتمتة المعالجة اللاحقة: مثلاً، اربط سكربتاً يُشغَّل عند كل رفع (after_upload) يولّد صورة مصغّرة أو يطلق فحص ClamAV. لمشاركات العملاء، أنشئ دائماً مستخدماً مخصّصاً بنطاق مُصغَّر بدلاً من مشاركة حساب المدير، وفعّل انتهاء الصلاحية التلقائي على الروابط العامة كي لا يبقى أي ملف متاحاً إلى ما لا نهاية.