SSD Nodes Learn 🎉 VPS من $4.99/شهر
الأدلة Matt Connorبقلم Matt Connor · آخر تحديث في 2026-08-07

Seafile أم Nextcloud: أيهما أفضل لمزامنة الملفات؟

قارن Seafile وNextcloud في سرعة المزامنة واستهلاك RAM والنسخ الاحتياطي والتشفير، مع فرق التخزين: كتل بمتوسط 8 MB مقابل ملفات على القرص.

Seafile مقابل Nextcloud: الإجابة المختصرة

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

اعتباراً من August 2026، يعمل Seafile ضمن سلسلة 13.0 ويعمل Nextcloud ضمن سلسلة 34. كلاهما ناضج، ولا يُتوقع أن يغيّر أي منهما نموذج التخزين قريباً.

كيف يخزّن Seafile ملفاتك

يتعامل Seafile مع المكتبة بالطريقة التي يتعامل بها git مع المستودع. يقدّم دليل الإدارة النموذج الداخلي على شكل Repo وCommit وFS وBlock، ويذكر أن repo تُسمّى أيضاً library. يُقسَّم كل ملف إلى blocks بأطوال متغيرة باستخدام التجزئة المحددة بالمحتوى (CDC، وهي خوارزمية تحدد حدود blocks من البيانات نفسها)، ويذكر الدليل أن متوسط حجم block يبلغ نحو 8 MB. تُسمّى blocks وفق محتوياتها، لذلك تشترك نسختان من ملف كبير في كل block لم يتغير، كما تشترك مكتبتان في blocks المتطابقة.

تحتفظ قاعدة البيانات العلائقية بقدر صغير فقط من البيانات الوصفية عن المكتبات. أما كل شيء آخر، أي commits وكائنات المجلدات وblocks، فيوجد ضمن دليل البيانات. في تخطيط Docker المستخدم في سلسلتي 12 و13، يكون هذا الدليل هو /opt/seafile-data/seafile/seafile-data. إن تشغيل ls فيه لا يعطيك معلومات مفيدة، لأنك سترى مجلدات مليئة بأسماء hash، لا Invoices/2026/march.pdf.

تتبع المزامنة النموذج نفسه. يطلب العميل من الخادم معرفة ما تغيّر، ويتلقى قائمة بتجزئات blocks، ثم يجلب فقط blocks التي لا يملكها مسبقاً. لذلك يحافظ Seafile على كفاءته مع المكتبة الكبيرة: تتناسب وحدات البيانات المنقولة مع blocks التي تغيّرت، لا مع حجم الملف الذي يحتوي عليها.

كيفية تخزين Nextcloud لملفاتك

يضع Nextcloud الملف على القرص في المسار الذي تتوقعه. يعكس المسار data/<username>/files/ ما يراه المستخدم في واجهة الويب. ويعكس جدول قاعدة البيانات oc_filecache شجرة الملفات نفسها، مع الأحجام وأوقات التعديل وحقول etag، ويعتمد Nextcloud على هذا الجدول بدلاً من القرص.

يتصل عميل سطح المكتب عبر WebDAV (تأليف وإصدار موزّع عبر الويب) باستخدام HTTPS. يتطلب كل ملف طلباً واحداً على الأقل، ولذلك أضاف Nextcloud واجهة API للرفع بالجملة. يوضح دليل المطور أن رفع ملفات صغيرة كثيرة أبطأ مما ينبغي لأن عرض نطاق الشبكة لا يُستخدم بالكامل، لذلك تُجمع الملفات الصغيرة معاً. أما الملفات الكبيرة فتستخدم واجهة API للتجزئة، ويبلغ حجم التجزئة الافتراضي في عميل سطح المكتب 5 MiB (OWNCLOUD_CHUNK_SIZE تكون قيمته الافتراضية 5242880 بايت).

تتمثل فائدة تخزين الملفات على القرص في أن كل أداة تملكها بالفعل يمكنها قراءة بياناتك. أما التكلفة فهي أن Nextcloud لا يلاحظ التغييرات التي تُجرى من خارجه. انسخ الملفات مباشرة إلى دليل البيانات، وستظل غير ظاهرة في واجهة الويب حتى تشغّل الفحص:

sudo -E -u www-data php occ files:scan --all -vv

يحدد دليل المسؤول هذه الحالات تحديداً لإعادة الفحص: بعد نسخ الملفات مباشرة إلى دليل البيانات، وبعد إجراء ترحيل، وعند التحقيق في حالات عدم اتساق ذاكرة التخزين المؤقت للملفات.

أيّهما يزامن مكتبة كبيرة بسرعة أكبر؟

Seafile، في الحالتين اللتين تسبّبان أكبر المشكلات: وجود عشرات الآلاف من الملفات الصغيرة، وتكرار تعديل الملفات الكبيرة. تعتمد الآلية على إزالة التكرار على مستوى الكتل، لذلك تُرفع بضع كتل فقط من صورة قرص بحجم 4 GB إذا تغيّر الجزء الأوسط منها. يقلّص Nextcloud الفارق مع الملفات الصغيرة باستخدام الرفع المجمّع، لكنه لا يستطيع سدّ الفارق مع الملفات الكبيرة، لأن وحدة النقل لديه هي الملف بأكمله.

لا تعتمد على تقديري لحجم الفارق، ولا على اختبار أداء من مورّد. أنشئ مكتبة تشبه مكتبتك وقِس الزمن:

mkdir -p ~/synctest && cd ~/synctest
for i in $(seq 1 20000); do head -c 4096 /dev/urandom > "file_$i.bin"; done
du -sh ~/synctest

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

ما الذي يحتاج إليه كل خيار على VPS صغير

تطلب وثائق Seafile توفير «ذاكرة RAM بسعة 2G على الأقل ومعالج ذي نواتين (> 2GHz)». أما Nextcloud فتحدد الذاكرة لكل عملية PHP بدلاً من ذلك: حد أدنى قدره 128 MB، و512 MB موصى بها لكل عملية. اضرب هذه القيمة في عدد العمال، ثم أضف متطلبات قاعدة البيانات وذاكرة التخزين المؤقت وإنشاء المعاينات. فيما يلي نقاط البداية التي سأستخدمها لفريق صغير. هذه نقاط بداية وليست قياسات فعلية.

ChartStarting point for about five users, and SQL databases per stack
The data behind this chart
[
  {
    "label": "Seafile CE 13",
    "start_ram_gb": 4,
    "start_cpu_cores": 2,
    "sql_databases": 3
  },
  {
    "label": "Nextcloud 34",
    "start_ram_gb": 4,
    "start_cpu_cores": 2,
    "sql_databases": 1
  },
  {
    "label": "Syncthing 2",
    "start_ram_gb": 1,
    "start_cpu_cores": 1,
    "sql_databases": 0
  }
]

يندرج كلاهما ضمن الفئة نفسها: 4 GB من ذاكرة RAM مع 2 أنوية، لذلك لا يحسم استهلاك الموارد الاختيار بينهما. يعمل Syncthing ضمن 1 GB وبنواة 1 واحدة، وهذا هو السبب الفعلي للنظر فيه. تختلف المكونات المتحركة بين الخيارين أكثر مما تختلف الذاكرة المطلوبة. يحتفظ Seafile بعدد 3 من قواعد بيانات SQL، بينما يحتفظ Nextcloud بعدد 1. كما أن النشر الافتراضي لـSeafile باستخدام Docker يشغّل الخادم وMariaDB وMemcached وSeaDoc وCaddy من ملفات تنزّلها أولاً:

mkdir /opt/seafile
cd /opt/seafile
wget -O .env https://manual.seafile.com/13.0/repo/docker/ce/env
wget https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml
wget https://manual.seafile.com/13.0/repo/docker/seadoc.yml
wget https://manual.seafile.com/13.0/repo/docker/caddy.yml
nano .env

في مجموعة .env، اضبط SEAFILE_SERVER_HOSTNAME، وكلمتي مرور root وقاعدة البيانات في MySQL، وحساب المسؤول الأولي، وJWT_PRIVATE_KEY. يتطلب الدليل سلسلة عشوائية لا يقل طولها عن 32 محرفاً لذلك المفتاح. وتُقرأ هذه السلسلة عند التشغيل الأول، لذا أنشئها قبل تشغيل الحزمة:

openssl rand -base64 40
docker compose up -d

ينشئ التشغيل الأول قواعد البيانات الثلاث ومستخدم المسؤول. أما القرارات المناظرة في Nextcloud، بما فيها TLS والـreverse proxy، فتُشرح في دليل Nextcloud على VPS باستخدام Docker وTLS والنسخ الاحتياطية.

كيف تختلف النسخ الاحتياطية؟

هذا هو المحور الذي يقلّل الناس من أهميته، وهو موضع الاختلاف الأكبر بين المنتجين.

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

docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt ccnet_db > ccnet_db.sql
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt seafile_db > seafile_db.sql
docker exec -i seafile-mysql mariadb-dump -uroot -p"$MYSQL_ROOT_PASSWORD" --opt seahub_db > seahub_db.sql
rsync -az /opt/seafile-data/seafile /backup/data/

هناك تفصيلان في هذه الأوامر. استخدم mariadb-dump، لأن سلسلة الأوامر mysql مهجورة في صورة MariaDB التي يشحنها Seafile. احذف الخيار -t من docker exec عند إعادة التوجيه إلى ملف، لأن TTY يعيد كتابة نهايات الأسطر ويتلف ملف التفريغ.

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

docker exec -it seafile bash
cd /opt/seafile/seafile-server-latest
./seaf-fsck.sh

عند فقدان شيء ما، تسمي الأداة الكائن:

Block 650fb22495b0b199cff0f1e1ebf036e548fcb95a is missing.
Repo ca1a860d HEAD commit is corrupted, need to restore to an old version.

خطط أيضاً لجمع البيانات المهملة. تؤدي إزالة التكرار إلى احتفاظ الملفات والمكتبات المحذوفة بكتلها إلى أن تشغّل ./seaf-gc.sh من الدليل نفسه، ويعرض التشغيل ما وجده، مثل GC finished. 507 blocks total, about 507 reachable blocks, 0 blocks can be removed.. إذا تخطيت ذلك لمدة عام، فستواصل نسخك الاحتياطية دفع تكلفة بيانات حذفها المستخدمون.

تواجه Nextcloud المشكلة نفسها المكوّنة من جزأين، ولكن في صورة مختلفة، لأن دليل البيانات وقاعدة البيانات يجب أن يصفا الشجرة نفسها:

sudo -E -u www-data php occ maintenance:mode --on
rsync -Aavx /srv/nextcloud/ /backup/nextcloud-dirbkp/
mariadb-dump --single-transaction --default-character-set=utf8mb4 -u nextcloud -p"$DB_PASS" nextcloud > /backup/nextcloud-sqlbkp.bak
sudo -E -u www-data php occ maintenance:mode --off

احتفظ بمجلد الإعداد، ومجلد البيانات، وأي تطبيقات مخصصة، ونسقك، بالإضافة إلى ملف التفريغ. استعد القسمين من اللحظة نفسها. إذا كان دليل البيانات أحدث من قاعدة البيانات، فسيرى المستخدمون ملفات لا يعرف عنها مخزن الملفات المؤقت، ويصلح occ files:scan --all ذلك. وإذا كانت قاعدة البيانات أحدث، فستشير صفوف المخزن المؤقت إلى ملفات لم تعد موجودة، ويزيل occ files:cleanup إدخالات المخزن المؤقت التي لا يقابلها إدخال مطابق في جدول التخزين.

في كلتا الحالتين، تحتاج إلى برنامج نسخ احتياطي يتعامل مع عدد كبير من الملفات الصغيرة ويحتفظ بالسجل التاريخي، وهذا ما تفعله restic وBorgBackup بشكل مختلف.

العملاء على أجهزة سطح المكتب والهواتف المحمولة

يوفّر Seafile برنامجين لأجهزة سطح المكتب. يحتفظ عميل المزامنة بنسخة محلية من المكتبات التي تختارها. أما عميل Drive ‏(SeaDrive)، فيركّب مكتباتك كمحرك أقراص افتراضي وينزّل الملفات عند الوصول إليها: في Windows يستخدم واجهة Microsoft لملفات السحابة، وفي macOS يكون الإصدار 3.0 امتداداً لـFinder، وفي Linux يتوفر بصيغة AppImage منذ الإصدار 3.0.12 ويُركّب في ~/SeaDrive. تعمل المكتبات المشفّرة على منصات سطح المكتب الثلاث. صُمّمت تطبيقات الهاتف المحمول للوصول إلى الملفات، وهذا كل ما تحاول فعله.

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

هناك تفصيل في Seafile يستحق التخطيط: المكتبة هي وحدة المشاركة والمزامنة والصلاحيات والتشفير. حدّد تخطيط مكتباتك قبل تحميل 500 GB في مكتبة واحدة، لأن النقل بين المكتبات يتطلب النسخ ثم الحذف، وليس إعادة التسمية؛ لذلك لا ينتقل سجل الملف معها.

التشفير: ما الذي يحميه كل خيار فعلياً

مكتبات Seafile المشفّرة تستخدم التشفير من جهة العميل. لا تُخزَّن كلمة المرور على الخادم مطلقاً. يُخزَّن مع المكتبة رمز مميز مشتق من كلمة المرور ومعرّف المكتبة، حتى يتمكن العميل من التحقق من كلمة المرور قبل مزامنة المكتبة. يُشفَّر مفتاح الملف باستخدام مفتاح وIV (متجه التهيئة) مشتقين من كلمة المرور عبر AES 256/CBC، ثم تُشفَّر بيانات الملف باستخدام مفتاح الملف.

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

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

لا يحل التشفير في أي من المنتجين محل نسخة احتياطية مشفّرة. شفّر النسخة الاحتياطية بشكل مستقل.

التقويم وجهات الاتصال وحزمة المكتب ومنصة التطبيقات

هذا المحور ليس متقارباً. يوفّر Nextcloud بروتوكولي CalDAV (التقويم عبر WebDAV) وCardDAV (جهات الاتصال عبر WebDAV) ضمن النواة، ويتكامل مع Collabora أو OnlyOffice لتحرير المستندات، كما يوفّر متجر تطبيقات لبقية الاحتياجات. يوفّر Seafile 13 تطبيق SeaDoc للمستندات التعاونية وصفحات wiki، ويتوقف عند ذلك. لا يوجد تقويم ولا دفتر عناوين.

للمنصة تكلفة، وهذه التكلفة هي الترقية. كل تطبيق تثبّته هو عامل إضافي قد يمنع ترقية Nextcloud أو يتصرف بشكل غير صحيح بعدها. لذلك، كلما زاد اعتماد المستخدمين عليها، وجب التخطيط لنافذة الترقية بحذر أكبر. لدى Seafile مكونات أقل يمكن أن تتعطل لأنه يوفّر وظائف أقل. لاحظ أيضاً أن Seafile Professional، وليس Community Edition، هو الذي يضيف البحث النصي الكامل داخل المستندات وصلاحيات مستوى المجلد بموجب ترخيص مدفوع. لذلك، تأكد من أن الميزة التي تعتمد عليها متوفرة في الإصدار الذي تخطط لتشغيله.

نمط الفشل الذي يُعرَف به كل منها

يفشل Seafile عندما لا تعود قاعدة البيانات ومخزن الكائنات متزامنين. قد ترى مكتبة لا تفتح، أو ملفات تختفي، ويعرض seaf-fsck.sh الكتلة المفقودة. لا توجد شجرة ملفات يمكن إصلاحها يدوياً، لذلك تتطلب الاستعادة تفريغ قاعدة البيانات ومخزن الكائنات، مع استعادتهما بالترتيب الصحيح. اختبر هذه الاستعادة مرة واحدة على VPS احتياطي، لأن النسخة الاحتياطية التي لم تستعدها من قبل ليست إلا تخميناً.

يفشل Nextcloud عندما تختلف ذاكرة التخزين المؤقت للملفات عن محتوى القرص، ويحدث ذلك عادةً لأن شيئاً ما كتب في دليل البيانات من دون إبلاغ Nextcloud. قد ترى ملفاً على القرص لا تعرضه واجهة الويب، أو مجلداً يظهر بحجم غير صحيح، ويكون occ files:scan هو الإصلاح. وتتمثل مشكلتاه الأخريان في بطء البروتوكول عند التعامل مع ملفات صغيرة كثيرة، ولا تعالج زيادة عدد CPU ذلك، وفي استهلاك PHP للذاكرة. غالباً ما تتسبب معاينات الصور ومقاطع الفيديو الكبيرة في الارتفاع المفاجئ للاستهلاك، لذلك خصص 512 MB لكل عملية وأنشئ المعاينات في مهمة مجدولة بدلاً من إنشائها أثناء الطلبات.

لا هذا ولا ذاك: Syncthing إذا كنت تريد مزامنة الملفات فقط

إذا كان احتياجك الفعلي هو عكس مجلد واحد بين الأجهزة، فكلتا الخدمتين تقدمان وظائف أكثر مما تحتاج. لا يحتوي Syncthing على خادم أو حسابات. كل جهاز هو نظير، ويصبح VPS النظير الذي يظل قيد التشغيل عندما يدخل حاسوبك المحمول في وضع السكون. الإصدار الحالي هو Syncthing 2، وتأتي الحزم من مستودع المشروع نفسه:

sudo mkdir -p /etc/apt/keyrings
sudo curl -L -o /etc/apt/keyrings/syncthing-archive-keyring.gpg https://syncthing.net/release-key.gpg
echo "deb [signed-by=/etc/apt/keyrings/syncthing-archive-keyring.gpg] https://apt.syncthing.net/ syncthing stable-v2" | sudo tee /etc/apt/sources.list.d/syncthing.list
sudo apt-get update
sudo apt-get install syncthing

شغّله كمستخدم عادي، وليس كـroot، حتى تكون ملكية الملفات التي ينشئها مناسبة:

sudo systemctl enable --now syncthing@youruser
systemctl status syncthing@youruser

ترتبط واجهة الويب بالعنوان 127.0.0.1:8384 افتراضياً، لذلك لا يمكن الوصول إليها من الإنترنت، وهذا هو الإعداد الافتراضي الصحيح. صِل إليها عبر نفق SSH من حاسوبك المحمول:

ssh -L 8384:127.0.0.1:8384 youruser@your-server

ثم افتح http://127.0.0.1:8384 على حاسوبك المحمول. تستخدم المزامنة نفسها المنفذ 22000 عبر TCP وQUIC، بينما يستخدم الاكتشاف المحلي UDP 21027، وهذا لا يعمل عبر الإنترنت. على VPS، افتح المنفذ 22000 واترك الواجهة مغلقة:

sudo ufw allow 22000/tcp
sudo ufw allow 22000/udp

ما تتخلى عنه هو جميع ميزات الخادم: لا توجد روابط مشاركة للأشخاص الذين لا يشغّلون Syncthing، ولا متصفح ملفات عبر الويب، ولا حسابات مستخدمين، ولا سلة مهملات على الخادم إلا إذا فعّلت حفظ إصدارات الملفات لكل مجلد. والمفاجأة المعتادة هي ملف التعارض. إذا عدّلت الملف نفسه على جهازين أثناء تعذر اتصالهما ببعضهما، فستحصل على ملف شقيق اسمه مثل notes.sync-conflict-20260806-142233-ABCD1EF.md. لا يظهر أي تحذير بذلك، لذا ابحث عن sync-conflict من وقت إلى آخر.

إذا لم تكن تريد مجلداً متزامناً، بل حاوية تكتب التطبيقات البيانات إليها، فهذه أداة مختلفة أيضاً: راجع تخزين الكائنات المتوافق مع S3 والمستضاف ذاتياً. وللاطلاع على المجال الأوسع، يغطي الدليل التجميعي لبدائل Dropbox المستضافة ذاتياً ما لم يدخل في هذه المقارنة.

قاعدة اتخاذ القرار

  1. اختر Seafile إذا كانت المهمة تتمثل في مزامنة البيانات على نطاق واسع: عدد كبير من الملفات، وملفات كبيرة، وعدة أجهزة، مع قبول استخدام مخزن بيانات لا يستطيع قراءته إلا Seafile.
  2. اختر Nextcloud إذا كانت المهمة تتمثل في استخدام منصة: التقويمات، وجهات الاتصال، والمستندات، وروابط المشاركة، مع الاحتفاظ بملفات عادية على القرص يستطيع أي برنامج نسخ احتياطي قراءتها.
  3. اختر Syncthing إذا كانت المهمة تتمثل في مجلد مطابق ولا شيء غير ذلك.

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

FAQ

هل Seafile أسرع من Nextcloud لمزامنة المكتبات الكبيرة؟

نعم، في الحالتين اللتين تسببان المشكلات عادةً، ولسبب يمكنك التحقق منه. يقسّم Seafile الملفات إلى كتل يبلغ متوسط حجمها نحو 8 MB، وينقل الكتل التي تغيّرت فقط. لذلك يؤدي التعديل داخل ملف كبير إلى نقل بضع كتل. أما وحدة النقل في Nextcloud فهي الملف كاملاً، ولذلك يعيد التعديل نفسه رفع الملف بأكمله. كما تستهلك الملفات الصغيرة الكثيرة طلب WebDAV واحداً على الأقل لكل ملف، ولهذا تعمل واجهة الرفع المجمّع فيه على تجميع الملفات الصغيرة. قِس الزمن على VPS الخاص بك قبل الالتزام، لأن وحدة المعالجة المركزية والقرص ووصلة الشبكة لديك مهمة بقدر أهمية البروتوكول.

هل يمكنني نسخ Seafile احتياطياً بتشغيل rsync على دليل البيانات؟

نعم، ولكن مع قواعد البيانات وبالترتيب الموثّق فقط. يذكر دليل Seafile ضرورة نسخ SQL احتياطياً أولاً، ثم دليل البيانات، لأن كل سجل في قاعدة البيانات يشير عندئذٍ إلى كائن موجود في النسخة الاحتياطية. ينسخ الأمر rsync -az /opt/seafile-data/seafile /backup/data/ العناصر conf وseafile-data وseahub-data، لكنه غير قابل للاستعادة بمفرده، لأن مخزن الكائنات لا يحتوي على شجرة ملفات قابلة للقراءة، وقاعدة البيانات هي فهرسه. بعد استعادة الجزأين، شغّل seaf-fsck.sh واقرأ مخرجاته قبل الوثوق بالنتيجة.

هل أحتاج إلى Nextcloud إذا كنت أريد مزامنة الملفات فقط؟

لا. Nextcloud منصة، وتستهلك التقويمات وجهات الاتصال ومتجر التطبيقات الذاكرة ووقت إدارة الترقية، سواء استخدمتها أم لا. لمزامنة الملفات فقط، يُعد Seafile المنتج الأخف وبروتوكوله أسرع، بينما يُعد Syncthing أخف منه لأنه لا يتطلب جانب خادم لتشغيله. اختر Nextcloud عندما تريد التطبيقات الإضافية، وليس كخيار افتراضي.

هل تخفي مكتبة Seafile المشفّرة أسماء ملفاتي؟

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

ما مقدار RAM الذي ينبغي تخصيصه لـSeafile أو Nextcloud على VPS؟

ابدأ بـ 4 GB و2 أنوية لأيٍّ منهما مع عدد قليل من المستخدمين، ثم راقب الذاكرة أثناء إنشاء المعاينات والبحث. تحدد وثائق Seafile الخاصة بها الحد الأدنى عند 2 GB من RAM ومعالج من نواتين بتردد أعلى من 2 GHz. توصي وثائق Nextcloud بتخصيص 512 MB لكل عملية PHP، وعليك ضرب ذلك في عدد العاملين قبل إضافة قاعدة البيانات وذاكرة التخزين المؤقت. يعمل Syncthing بشكل مريح ضمن 1 GB.