,

استضافة سحابة Nextcloud الذاتية: دليلك للاستغناء عن Google Drive و Dropbox

في العصر الرقمي الحالي، نعتمد جميعاً بشكل شبه كامل على الخدمات السحابية مثل Google Drive و Dropbox و OneDrive لتخزين ملفاتنا، ومشاركة مستنداتنا، والنسخ الاحتياطي لصور هواتفنا. ولكن مع تزايد المخاوف بشأن خصوصية البيانات، وتغير سياسات التسعير، وفرض قيود على المساحات المجانية، أصبح خيار استضافة سحابتك الخاصة (Self-Hosting) أمراً جذاباً وضرورياً للغاية لكل مهتم بالخصوصية والتحكم المطلق ببياناته.

تعتبر منصة Nextcloud هي الخيار الأقوى والأكثر نضجاً في عالم البرمجيات مفتوحة المصدر؛ فهي لا تقدم مجرد مساحة لتخزين الملفات، بل هي نظام متكامل لإدارة المكاتب والمجموعات والتقويم والمستندات المشتركة. في هذا الدليل الشامل والمفصل، سنشرح كيفية استضافة Nextcloud بنفسك باستخدام Docker، وضبطه مع قاعدة بيانات PostgreSQL ومسرع الكاش Redis لتقديم أداء خارق وسريع.

لماذا تختار Nextcloud كبديل للخدمات السحابية التجارية؟

عندما تستضيف Nextcloud، فإنك تحصل على الميزات التالية:

المعيارالخدمات التجارية (Google/Dropbox)استضافة Nextcloud الذاتية
ملكية البياناتمخزنة في خوادم شركات عملاقة وتخضع لشروطهاملكك بالكامل وتوجد داخل قرصك الصلب الفيزيائي
التكلفةاشتراكات شهرية متزايدة لزيادة المساحةتكلفة الهاردوير والكهرباء فقط (مساحة غير محدودة فعلياً)
الخصوصية والأمانيمكن للشركات مسح بياناتك لتدريب الذكاء الاصطناعيتشفير تام من الطرفين (End-to-End Encryption) ولا أحد يقرأ ملفاتك
الخدمات المضمنةتخزين ملفات فقط (أو حزمة مكتبية مغلقة)ملفات، تقويم، جهات اتصال، محادثات فيديو، بريد، ومحرر مستندات

بنية النظام المطلوبة لأداء احترافي

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

في هذا الدليل، سنبني معمارية احترافية تتكون من:

  1. PostgreSQL: قاعدة البيانات القوية والمستقرة لإدارة العلاقات والجداول للملفات بكفاءة عالية.
  2. Redis: خادم ذاكرة تخزين مؤقت (In-Memory Cache) يستخدمه Nextcloud لقفل الملفات أثناء الرفع (File Locking) وتسريع التصفح والاستجابة.
  3. Nextcloud: حاوية التطبيق الرئيسية التي تحتوي على كامل الكود البرمجي وتتفاعل مع بقية الخدمات.

ملف Docker Compose المتكامل للتثبيت

أنشئ مجلداً جديداً للمشروع، ثم أنشئ ملف docker-compose.yml:

version: '3.8'

services:
  # ─── قاعدة البيانات ───
  db:
    image: postgres:15-alpine
    container_name: nextcloud-db
    restart: always
    volumes:
      - db_data:/var/lib/postgresql/data
    environment:
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_PASSWORD=strong_db_password

  # ─── مسرع الكاش Redis ───
  redis:
    image: redis:alpine
    container_name: nextcloud-redis
    restart: always
    command: redis-server --requirepass strong_redis_password

  # ─── حاوية Nextcloud الرئيسية ───
  app:
    image: nextcloud:latest
    container_name: nextcloud-app
    restart: always
    ports:
      - "8080:80"
    depends_on:
      - db
      - redis
    volumes:
      - nextcloud_data:/var/www/html
    environment:
      - POSTGRES_HOST=db
      - POSTGRES_DB=nextcloud
      - POSTGRES_USER=nextcloud
      - POSTGRES_PASSWORD=strong_db_password
      - REDIS_HOST=redis
      - REDIS_HOST_PASSWORD=strong_redis_password

volumes:
  db_data:
  nextcloud_data:

شغّل المشروع في الخلفية:

docker compose up -d

الخطوات اللاحقة وإعدادات الأداء الحيوية

1. ضبط التجديد والجدولة التلقائية لـ Cron

افتراضياً، يعتمد Nextcloud على طريقة “AJAX” لتشغيل المهام الدورية (مثل التحقق من التحديثات وإرسال الإشعارات)؛ مما يعني أن المهام تعمل فقط عندما يتصفح شخص ما الموقع. هذا يبطئ التصفح ويسبب تراكم المهام المعلقة.

لتصحيح ذلك، يفضل جدولة مهمة نظام (Cron Job) حقيقية لتنفيذ مهام Nextcloud كل 5 دقائق. افتح crontab الخاص بسيرفرك:

sudo crontab -e

أضف السطر التالي لتوجيه المهمة داخل حاوية Docker للتشغيل التلقائي كل 5 دقائق:

*/5 * * * * docker exec -u www-data nextcloud-app php -f /var/www/html/cron.php

ثم ادخل إلى إعدادات المدير (Settings -> Basic Settings) في واجهة الويب لـ Nextcloud، وقم بتغيير خيار “Background jobs” من AJAX إلى Cron.

2. تفعيل تشفير الاتصال وحماية النفق

لأنك ستقوم برفع ملفاتك الخاصة، يجب عدم تصفح Nextcloud عبر بروتوكول HTTP غير الآمن. نوصي بشدة بربط النطاق الخاص بك بـ Nextcloud باستخدام Cloudflare Tunnel أو إعداد Nginx Reverse Proxy مع Let’s Encrypt لتوفير تشفير SSL آمن وموثوق لبياناتك بالكامل أثناء النقل.

خاتمة

استضافة سحابة Nextcloud الخاصة بك هي خطوة كبرى نحو استعادة سيادتك الرقمية وحماية خصوصية بياناتك العائلية والمهنية. بفضل مرونة Docker وقوة معمارية التخزين المؤقت، ستحصل على سحابة متكاملة وخارقة السرعة تلبي كافة احتياجاتك وتجعلك تستغني بالكامل عن خدمات التخزين السحابي التجارية.

تذكر دائماً: استضافة سحابتك محلياً تعني أنك المسؤول الأول عن أمان خادمك والنسخ الاحتياطي الدوري لملفاتك لضمان عدم ضياعها في حال حدوث عطل في الأقراص.

روابط ذات صلة

اترك تعليقاً