SSD Nodes Learn 🎉 VPS $4.99/माह से
गाइड Matt Connorलेखक: Matt Connor · अपडेट किया गया: 2026-08-03

Self-hosted Dropbox विकल्प: Nextcloud, Seafile तुलना

Nextcloud, Seafile, Syncthing और object storage की तुलना: sync topology, छोटे VPS की वास्तविक लागत और sync को backup न मानने का कारण जानें।

आपको कौन-सा self-hosted Dropbox विकल्प चलाना चाहिए?

चार self-hosted Dropbox विकल्प आपके समय के योग्य हैं: Nextcloud, Seafile, Syncthing और ऊपर client के साथ object storage। ये एक-दूसरे के समान नहीं हैं। Nextcloud ऐसे घर या छोटी team के लिए उपयुक्त है, जहाँ अन्य लोगों को files प्राप्त करनी हों। Seafile ऐसे व्यक्ति या team के लिए उपयुक्त है, जो बहुत बड़ी संख्या में छोटी files sync करती है और जहाँ disk पर data कैसा दिखाई देता है, उससे अधिक sync speed महत्वपूर्ण है। Syncthing ऐसे व्यक्ति के लिए उपयुक्त है, जो अपने devices के बीच sync करता है और जहाँ किसी बाहरी व्यक्ति को link की आवश्यकता नहीं होती। Object storage archive के लिए उपयुक्त है: सस्ता storage, जिसे आप बहुत कम खोलते हैं।

Features की तुलना करने से पहले यह चुनें कि sync कैसे काम करेगा। Feature lists देखने में लगभग समान लगती हैं। Topology, यानी वह machine जिसमें वह copy रहती है जिससे बाकी सभी machines सहमत होती हैं, यह तय करती है कि छह महीने बाद भी आप इस व्यवस्था से संतुष्ट रहेंगे या नहीं।

Sync topology: एक authoritative server या बिना server वाले peers

दो designs विचाराधीन हैं, और आगे की अधिकांश बातें आपके चुने गए design पर निर्भर करती हैं।

Authoritative server। Nextcloud, Seafile और object storage इसी तरह काम करते हैं। एक machine, आम तौर पर VPS (virtual private server), authoritative copy रखती है। हर device उसी machine से communicate करता है। आपका laptop एक महीने तक बंद रह सकता है और वापस आने पर अपने-आप changes sync कर सकता है। 6 GB free space वाले phone पर केवल कुछ files रखी जा सकती हैं, जबकि server पर सब कुछ मौजूद रहता है। Browser से files access की जा सकती हैं, और इसी वजह से share links संभव होते हैं।

बिना server वाले peers। Syncthing इसी तरह काम करता है। Devices एक-दूसरे को खोजते हैं और encrypted connection के माध्यम से सीधे file lists exchange करते हैं। कोई copy authoritative नहीं होती: कोई file केवल उन्हीं devices पर मौजूद होती है जिन पर वह रखी गई है। किसी change को devices के बीच pass होने के लिए दोनों devices का एक ही समय पर online होना जरूरी है। किसी को देने के लिए कोई URL नहीं होता, क्योंकि कोई machine page serve नहीं कर रही होती।

इसके चार परिणाम होते हैं, और अक्सर लोगों को इनका पता बाद में चलता है।

  • ऐसे व्यक्ति को file भेजने के लिए जो software install नहीं करेगा, authoritative server आवश्यक है। Link एक URL होता है, और URL के लिए किसी process का port पर listening होना जरूरी है।
  • ऐसे machine से अपनी files access करने के लिए जिसे आप control नहीं करते, जैसे work laptop, authoritative server आवश्यक है।
  • कई सप्ताह तक बंद रहा device जागने पर server से changes sync कर लेता है। Peer setup में वह केवल तब sync कर सकता है जब उस data वाला कोई दूसरा device भी online हो। इसी कारण कई Syncthing users VPS पर एक instance को always-on peer के रूप में चलाते हैं।
  • Storage की गणना अलग तरह से होती है। Authoritative server एक full copy रखता है, और इसके अतिरिक्त हर device पर locally रखी गई files होती हैं। एक folder share करने वाले चार peers चार full copies रखते हैं, क्योंकि हर peer पूरा folder रखता है।

Nextcloud एक PHP web application है। यह आपकी files को data directory के अंतर्गत सामान्य files के रूप में store करता है और उनका record database में रखता है। आप किसी folder को किसी user के साथ, किसी group के साथ या password और expiry date वाले public link के रूप में share कर सकते हैं। Version history default रूप से enabled रहती है और deleted files पहले trash bin में जाती हैं। Desktop clients Linux, macOS और Windows के लिए उपलब्ध हैं, और iOS तथा Android apps official हैं। यदि Dropbox छोड़ने का आपका कारण यह है कि अन्य लोगों को आपकी files प्राप्त करनी हैं, तो यही व्यावहारिक उत्तर है।

इसकी कीमत इसके कई घटक हैं। सामान्य install में web server, PHP-FPM (PHP process manager), MariaDB या PostgreSQL जैसा database और file locking के लिए Redis चलता है। एक background job cron या systemd timer से हर पांच मिनट में चलती है। 1 GB VPS पर यह शुरू हो जाएगा, लेकिन फिर किसी बड़े upload या लंबे occ maintenance command के दौरान out-of-memory killer इसे रोक देगा। कुछ users के लिए 2 GB को न्यूनतम मानें, और अधिक apps enable करने के बाद 4 GB की आवश्यकता होने की अपेक्षा रखें। दूसरी कीमत upgrades की है: app-store apps किसी specific core release के लिए बनाई जाती हैं। इसलिए upgrade करने से पहले जाँच लें कि जिन apps पर आप निर्भर हैं, वे अगले major version को support करती हैं।

जब किसी एक account में सैकड़ों हजारों छोटी files होती हैं, तो Nextcloud धीमा हो जाता है। इसका कारण यह है कि प्रत्येक file file cache table की एक row और disk पर एक वास्तविक file होती है, और desktop client उन्हें एक-एक करके process करता है। घरेलू स्तर के उपयोग में यह समस्या सामने नहीं आती। Sizing, TLS (transport layer security) और backups की जानकारी TLS और backups के साथ Docker आधारित Nextcloud install में दी गई है। निर्णय लेने के बाद आपको वहीं जाना चाहिए।

दायरे से जुड़ी एक चेतावनी है। Nextcloud आपके calendar, contacts, notes और photo library भी चला सकता है, लेकिन आपके द्वारा enable किया गया प्रत्येक app background work बढ़ाता है और upgrade को रोक सकने वाला एक अतिरिक्त घटक जोड़ता है। यदि वास्तविक समस्या photos हैं, तो dedicated tool उन्हें बेहतर ढंग से संभालता है: self-hosted Google Photos replacement के रूप में Immich देखें। यदि वास्तविक समस्या documents और wikis हैं, तो अपने file server पर apps जोड़ते जाने के बजाय self-hosted Notion alternatives देखें।

Seafile: बहुत बड़ी संख्या में छोटी फ़ाइलों के लिए बनाया गया

Seafile प्रत्येक फ़ाइल को blocks में बाँटता है और उन्हें content hash से संबोधित internal object store में रखता है। यही विचार git अपने objects के लिए इस्तेमाल करता है। Sync और sharing की इकाई folder tree के बजाय library होती है। Client एक-एक फ़ाइल के लिए अलग request भेजने के बजाय blocks और एक commit upload करता है। इसलिए 100,000 छोटी फ़ाइलों वाली directory का sync per-file protocol की तुलना में बहुत तेज़ पूरा होता है। समान blocks केवल एक बार store किए जाते हैं। इसलिए बड़ी फ़ाइल की दूसरी copy के लिए लगभग कोई अतिरिक्त storage नहीं चाहिए।

इसका trade-off यह है कि server पर आपकी फ़ाइलें अब फ़ाइलों के रूप में नहीं रहतीं। Storage directory खोलने पर hexadecimal नाम वाली object files दिखाई देती हैं। Data बाहर निकालने के लिए Seafile client या Seafile के अपने export और fsck tools की आवश्यकता होती है। Backups फिर भी काम करते हैं, क्योंकि ये objects सामान्य files होती हैं। लेकिन आप cp से एक spreadsheet restore नहीं कर सकते। अभी तय करें कि यह स्वीकार्य है या नहीं, क्योंकि बाद में लोग इसी property पर पछताते हैं।

Seafile एक community edition और paid professional edition जारी करता है। इनके बीच का अंतर releases के अनुसार बदलता रहता है। इसलिए किसी specific feature के आधार पर team की योजना बनाने से पहले उनकी site पर current terms पढ़ें। Official desktop और mobile clients उपलब्ध हैं। Encrypted libraries client पर encrypt की जाती हैं। इसलिए server ऐसा ciphertext store करता है जिसे वह पढ़ नहीं सकता। Passphrase खोने पर library unreadable हो जाती है, आपके लिए भी। Browser में encrypted library खोलने का अर्थ है कि वह passphrase web session को देना। इसलिए इस guarantee का मजबूत रूप desktop और mobile clients पर ही लागू होता है।

Resource cost Nextcloud के करीब रहती है। आप एक database, एक memory cache और दो application processes चला रहे होते हैं। इसलिए 2 GB फिर से sensible minimum है।

Syncthing: लॉग इन करने के लिए कुछ नहीं

Syncthing एक single Go binary है। यह folders को monitor करता है, discovery server या relay के माध्यम से peers खोजता है और devices के बीच सीधे sync करता है। जिन लोगों के साथ आप sync करते हैं, उनके लिए कोई accounts या login page नहीं होता। आप ID के माध्यम से दो devices को pair करते हैं और दोनों sides पर folder accept करते हैं। यहां दी गई सभी चीजों में इसे चलाने के लिए सबसे कम काम करना पड़ता है, क्योंकि इसमें manage करने के लिए बहुत कम चीजें हैं।

इसके बदले आपको sharing की पूरी सुविधा छोड़नी पड़ती है। इसका विवरण Device pairing only, no links है। आप किसी client, accountant या relative को link नहीं दे सकते। Mobile support दूसरी कमी है: Android app, no official iOS। Project का अपना FAQ इस बारे में स्पष्ट है: "There are no plans by the current Syncthing team to officially support iOS in the foreseeable future", क्योंकि iOS background processing को इतना सीमित करता है कि reliable syncing कठिन हो जाता है। iOS users के लिए third-party apps ही विकल्प हैं।

Resource use कम है, लेकिन एक बात जानना उपयोगी है। Syncthing sync की जाने वाली हर file के लिए एक index entry रखता है। इसलिए memory use और पहला scan total size के बजाय file count के साथ बढ़ते हैं। पहली बार किसी बड़े folder को hash करने में कुछ समय तक CPU का उपयोग होगा। उसके बाद यह स्थिर हो जाएगा। सबसे छोटे VPS plan पर भी यह आराम से चलता है।

Conflicts में दोनों sides को रखा जाता है। जब दो devices एक ही file को उस समय बदलते हैं जब वे एक-दूसरे को नहीं देख सकते, तो Syncthing एक copy का नाम बदलकर उसे दूसरी copy के पास रखता है। इसलिए आपको notes.sync-conflict-20260802-141530-K7MB3QT.md जैसी files मिल सकती हैं। कुछ भी खोता नहीं है। लेकिन files merge भी नहीं होतीं। Conflict को आपको manually resolve करना पड़ता है।

क्लाइंट के साथ object storage: सस्ता byte storage, sync folder नहीं

Object storage का अर्थ S3 (simple storage service) compatible bucket है। इसे MinIO के साथ self-hosted चलाया जा सकता है या किसी provider से किराये पर लिया जा सकता है। इसे किसी tool से access किया जाता है: command line से rclone द्वारा या ऐसे desktop client से, जो bucket को drive के रूप में दिखाता है। Sharing के लिए presigned URL इस्तेमाल होता है। यह ऐसा link है, जिसमें अपनी expiry time शामिल होती है। Versioning bucket की setting है: Bucket versioning, off by default। इसलिए bucket बनाते समय इसे enable करें, क्योंकि यह पहले upload किए गए objects पर लागू नहीं होती।

Bucket को sync folder मानने पर समस्या शुरू होती है। Default रूप से कोई भी process आपके Documents directory को monitor नहीं करता। rclone bisync दो-तरफा sync करता है, और rclone का अपना documentation भी इसके लिए आवश्यक सावधानियों को स्पष्ट रूप से बताता है। Object storage का सबसे उपयोगी काम backend storage layer के रूप में होता है: backup target या किसी application के पीछे storage layer के रूप में। MinIO के साथ self-hosted S3 compatible object storage में server side को कवर किया गया है।

यहां resource cost कुछ अलग होती है। MinIO एक binary है और idle अवस्था में बहुत कम resources लेता है। वास्तविक खर्च disk का होता है। VPS पर इसका अर्थ है gigabyte के हिसाब से किराये पर लिया गया block volume, साथ ही objects को अंदर और बाहर transfer करने में लगने वाली bandwidth। इनमें से कोई भी खर्च free -h में दिखाई नहीं देता। इसलिए archive का आकार तय करने से पहले VPS की वास्तविक मासिक लागत पढ़ें।

Sharing, mobile clients और versioning की तुलना

ChartSharing, mobile clients and versioning, by tool
The data behind this chart
[
  {
    "tool": "Nextcloud",
    "sharing": "Public links, users and groups",
    "mobile": "Official iOS and Android apps",
    "versioning": "On by default, plus trash"
  },
  {
    "tool": "Seafile",
    "sharing": "Public links with password and expiry",
    "mobile": "Official iOS and Android apps",
    "versioning": "Library history and snapshots"
  },
  {
    "tool": "Syncthing",
    "sharing": "Device pairing only, no links",
    "mobile": "Android app, no official iOS",
    "versioning": "Optional per folder, off by default"
  },
  {
    "tool": "Object storage",
    "sharing": "Presigned URLs you generate",
    "mobile": "Third party clients only",
    "versioning": "Bucket versioning, off by default"
  }
]

सभी 4 options एक ही आधार पर अलग-अलग हैं। इनमें से तीन options केवल browser वाले किसी अनजान व्यक्ति को file दे सकते हैं। इनमें से एक option केवल उन devices से communication करता है जो पहले से आपके स्वामित्व में हैं। Seafile की versioning entry, Library history and snapshots, पर ध्यान देना आवश्यक है: history प्रत्येक library के लिए रखी जाती है, इसलिए library delete करने पर उसकी history भी delete हो जाती है।

अपना data फिर से बाहर निकालना

Exit cost की जाँच अभी करना सस्ता है, लेकिन उसे बाद में समझना महँगा पड़ सकता है। इसलिए commit करने से पहले इसकी जाँच करें।

Nextcloud वास्तविक files को वास्तविक directories में store करता है। इसलिए data directory का tar मिलने पर आपके documents उपलब्ध रहते हैं, भले ही application दोबारा कभी start न हो। Syncthing प्रत्येक peer पर यही करता है। इस विकल्प में बाहर निकलने का सबसे स्पष्ट तरीका है, क्योंकि files सीधे प्रत्येक device पर मौजूद रहती हैं। Seafile के object store में blocks को files के रूप में फिर से assemble करने के लिए Seafile या उसके export tools की जरूरत होती है। Object storage के लिए rclone या कोई equivalent tool चाहिए, जिसे एक command से चलाया जा सकता है।

Sync backup नहीं है, और इसी अंतर के कारण डेटा खो जाता है

यहाँ दिए गए सभी tools machines के बीच changes copy करते हैं। Delete भी एक change है। अपने laptop से कोई folder हटाने पर client इसकी सूचना server को देता है, server इसे लागू करता है और हर दूसरा device भी उसे हटा देता है। Ransomware भी यही प्रक्रिया अपनाता है: यह files को local रूप से encrypt करता है, client modified files को पहचानता है और encrypted versions upload कर देता है। Sync सही तरीके से काम कर रहा था। आपका data फिर भी समाप्त हो गया।

Trash bins और version history इस समस्या का प्रभाव कम करते हैं। लेकिन वे भी expire हो सकते हैं, उसी account से empty किए जा सकते हैं जिसने गलती की थी, और live copy वाली disk पर ही रहते हैं। Volume fail होने पर files और उनका history दोनों साथ खो जाते हैं।

Backup एक अलग hardware पर रखी गई अलग copy है, जो तय schedule के अनुसार बनाई जाती है और जिसे आपने कम से कम एक बार restore किया हो। Files के साथ उसी run में database का भी backup लें। Database के बिना Nextcloud data directory restore करने पर ऐसा instance मिलता है जिसे उन files के अस्तित्व की जानकारी नहीं होती। इसके बाद किया गया occ files:scan files को recover कर सकता है, लेकिन उन tables में मौजूद shares और version history खो जाती है। VPS से scheduled restic backups इस प्रक्रिया के encrypted और deduplicated रूप को cover करता है। इसमें restore का test करने का तरीका भी शामिल है, केवल यह मान लेने के बजाय कि restore काम करेगा।

मैं क्या चुनूँगा

इस लेख को पढ़ने वाले अधिकांश लोगों के लिए Nextcloud सही विकल्प है। Dropbox छोड़ने के बाद लोग अक्सर इस आवश्यकता को नज़रअंदाज़ कर देते हैं कि किसी ऐसे व्यक्ति को link देना पड़ सकता है जो कोई software install नहीं करेगा, या phone पर कोई file खोलनी पड़ सकती है। Nextcloud official clients और किसी paid tier के बिना दोनों काम करता है। इसके लिए 2 GB RAM उचित लागत है।

मैं दो अपवाद मानता हूँ। यदि folder केवल आपका है और हमेशा आपके स्वामित्व वाले hardware पर ही रहेगा, तो Syncthing चलाएँ। इससे आपको किसी server को patch करने या किसी web login की सुरक्षा करने की आवश्यकता नहीं रहेगी। यदि आप सैकड़ों हजारों files वाली working directory sync करते हैं, तो Seafile चलाएँ। Speed के बदले opaque storage स्वीकार करें। Object storage का उपयोग आपके चुने हुए विकल्प के नीचे backup target के रूप में होना चाहिए, उसके सामने sync tool के रूप में नहीं।

FAQ

क्या Syncthing मेरे laptop का backup है?

नहीं। Syncthing devices के बीच बदलावों की प्रतिलिपि बनाता है, और deletion भी अन्य बदलावों की तरह एक बदलाव है। इसलिए गलती से delete की गई file कुछ ही seconds में सभी paired devices से गायब हो जाती है। Per-folder file versioning मदद करती है, लेकिन प्रत्येक folder पर इसे enable करने तक यह बंद रहती है। अलग hardware पर वास्तविक backup रखें, उसे निर्धारित schedule पर बनाएं और एक बार उससे restore करके देखें, ताकि आपको पता हो कि restore काम करता है।

क्या मैं एक ही VPS पर Nextcloud और Syncthing चला सकता हूं?

हां, दोनों अलग-अलग ports पर listen करते हैं और इनमें conflict नहीं होता। Syncthing folder को Nextcloud की data directory पर point न करें। Nextcloud प्रत्येक file को database में track करता है। इसलिए disk पर उसके नीचे दिखाई देने वाली files तब तक अदृश्य रहती हैं, जब तक आप occ files:scan न चलाएं। उसके नीचे हटाई गई files के लिए database में ऐसी rows रह जाती हैं जो किसी file की ओर point नहीं करतीं। Syncthing के लिए अपनी directory दें, या उस directory को Nextcloud में external storage के रूप में attach करें, ताकि Nextcloud को पता हो कि उसे वहां देखना है।

Nextcloud और Seafile दोनों public links बनाते हैं। इनमें optional password और expiry date सेट की जा सकती है। Object storage आपको presigned URL देता है, जो आपके निर्धारित समय के बाद अपने-आप काम करना बंद कर देता है। Syncthing में इसका विकल्प नहीं है। इसका sharing model device pairing पर आधारित है। इसलिए दूसरे व्यक्ति को Syncthing install करना होगा, आपको device ID देना होगा और folder accept करना होगा।

Server को कितनी disk की आवश्यकता है?

Server of record के लिए shared data के पूरे आकार के अलावा version history और trash के लिए जगह रखें। Uploads के progress में रहने के लिए भी working space रखें। Version history वह हिस्सा है जिसे लोग अक्सर कम आंकते हैं। प्रतिदिन बदलने वाली 2 GB file के हर version को रखने पर उपयोग तेजी से बढ़ता है, इसलिए retention policy जल्दी तय करें। Data को अलग volume पर रखने से यह वृद्धि root filesystem से अलग रहती है। Disk पूरी भर जाने पर केवल एक upload नहीं, बल्कि पूरा server रुक सकता है।