SSD Nodes Learn Hosting plans →
Посібники Matt ConnorВід Matt Connor · Оновлено 2026-08-28

Альтернативи Dropbox на власному сервері: порівняння

Порівнюємо Nextcloud, Seafile, Syncthing і object storage: топологію синхронізації, реальну ціну на малому VPS та чому sync не є backup.

Яку self-hosted альтернативу Dropbox варто розгорнути?

Варто розглянути чотири self-hosted альтернативи Dropbox: Nextcloud, Seafile, Syncthing і object storage із клієнтом поверх нього. Вони не взаємозамінні. Nextcloud підходить для родини або невеликої команди, учасникам якої потрібно отримувати файли. Seafile підходить для користувача або команди, які синхронізують дуже велику кількість невеликих файлів і для яких швидкість синхронізації важливіша за структуру даних на диску. Syncthing підходить одній людині для синхронізації власних пристроїв, якщо нікому за межами цієї групи не потрібно надавати посилання. Object storage підходить для архіву: це дешеве сховище даних, до яких ви рідко звертаєтеся.

Спочатку визначтеся, як саме працюватиме синхронізація, і лише потім порівнюйте функції. Списки функцій у всіх рішень виглядають майже однаково. Вирішальне значення має топологія, тобто те, яка машина зберігає копію, з якою узгоджуються всі інші машини. Саме це визначає, чи будете ви задоволені рішенням через шість місяців.

Топологія синхронізації: сервер-джерело або однорангові вузли без сервера

Є два варіанти архітектури, і більшість наведених далі властивостей залежить від вибору між ними.

Сервер-джерело. Саме так працюють Nextcloud, Seafile і об’єктне сховище. Одна машина, зазвичай VPS (virtual private server), зберігає еталонну копію. Кожен пристрій взаємодіє з цією машиною. Ноутбук може бути вимкнений протягом місяця, а після ввімкнення самостійно синхронізувати зміни. На телефоні з 6 GB вільного місця можна зберігати підмножину файлів, тоді як сервер зберігатиме все. Браузер може отримувати доступ до файлів, тому взагалі можливі посилання для спільного доступу.

Однорангові вузли без сервера. Саме так працює Syncthing. Пристрої знаходять один одного та безпосередньо обмінюються списками файлів через зашифроване з’єднання. Еталонної копії немає: файл існує лише на пристроях, які його зберігають. Два пристрої мають бути одночасно в мережі, щоб зміна передалася між ними. URL, який можна комусь надати, немає, оскільки жодна машина не обслуговує вебсторінку.

Це має чотири наслідки, з якими часто стикаються лише згодом.

  • Щоб надіслати файл людині, яка не встановлюватиме програмне забезпечення, потрібен сервер-джерело. Посилання — це URL, а для URL потрібен процес, що прослуховує порт.
  • Для доступу до файлів із машини, якою ви не керуєте, наприклад робочого ноутбука, потрібен сервер-джерело.
  • Пристрій, який був вимкнений кілька тижнів, після ввімкнення синхронізує дані із сервера. У одноранговій схемі він синхронізує дані лише тоді, коли інший пристрій із цими даними також перебуває в мережі. Саме тому багато користувачів Syncthing запускають один екземпляр на VPS як постійно доступний одноранговий вузол.
  • Обсяг сховища підсумовується по-різному. Сервер-джерело зберігає одну повну копію, а також копії, які локально зберігає кожен пристрій. Чотири однорангові вузли, що спільно використовують одну папку, зберігають чотири повні копії, оскільки кожен вузол зберігає всю папку.

Nextcloud: користувачі, групи та публічні посилання

Nextcloud — це PHP-вебзастосунок. Він зберігає файли як звичайні файли в каталозі даних і відстежує їх у базі даних. Можна надати спільний доступ до каталогу користувачеві, групі або через публічне посилання із паролем і датою завершення дії. Історію версій увімкнено за замовчуванням, а видалені файли спочатку переміщуються до кошика. Клієнти для настільних систем підтримують Linux, macOS і Windows, а застосунки для iOS та Android є офіційними. Якщо ви відмовляєтеся від Dropbox тому, що іншим людям потрібно отримувати ваші файли, це чесна відповідь.

Ціна — складніша інфраструктура. Звичайна інсталяція використовує вебсервер, PHP-FPM (менеджер процесів PHP), базу даних на кшталт MariaDB або PostgreSQL і Redis для блокування файлів. Фонове завдання запускається кожні п’ять хвилин через cron або таймер systemd. На VPS із 1 GB пам’яті Nextcloud запуститься, але під час великого завантаження або тривалої команди обслуговування occ спрацює механізм завершення процесів через нестачу пам’яті. Вважайте 2 GB мінімумом для кількох користувачів і розраховуйте, що після ввімкнення додаткових застосунків вам знадобиться 4 GB. Інша складова ціни — оновлення: застосунки з магазину створюються для певного релізу ядра, тому перед оновленням перевірте, чи підтримують потрібні вам застосунки наступну основну версію.

Nextcloud сповільнюється, коли один обліковий запис містить сотні тисяч малих файлів. Кожен файл є рядком у таблиці кешу файлів і реальним файлом на диску, а клієнт для настільної системи обробляє їх по одному. У домашньому масштабі це зазвичай не виникає. Про вибір ресурсів, TLS (безпеку транспортного рівня) і резервне копіювання дивіться в матеріалі інсталяція Nextcloud на основі Docker із TLS і резервними копіями. До нього варто перейти після ухвалення рішення.

Є важливе обмеження щодо сфери застосування. Nextcloud також може працювати з календарем, контактами, нотатками та фототекою. Кожен увімкнений застосунок додає фонові завдання і ще один компонент, який може заблокувати оновлення. Якщо фактична проблема — фотографії, спеціалізований інструмент впорається краще: дивіться Immich як self-hosted заміну Google Photos. Якщо проблема — документи та вікі, розгляньте self-hosted альтернативи Notion, а не додавайте застосунки до файлового сервера. Редагування цих документів у браузері — це окремий сервер, а не ще один застосунок Nextcloud. Тому передбачте OnlyOffice проти Collabora, перш ніж вважати, що мінімальних 2 GB буде достатньо.

Seafile: створено для дуже великої кількості малих файлів

Seafile розділяє кожен файл на блоки та зберігає їх у внутрішньому сховищі об’єктів, адресованому за хешем вмісту. Це та сама ідея, яку git використовує для своїх об’єктів. Одиницею синхронізації та спільного доступу є library, а не дерево каталогів. Оскільки клієнт завантажує блоки й один commit замість окремого запиту для кожного файлу, синхронізація каталогу зі 100,000 малих файлів завершується набагато швидше, ніж за протоколом із передаванням файлів по одному. Ідентичні блоки зберігаються лише один раз, тому друга копія великого файлу майже не потребує додаткового місця.

Недолік полягає в тому, що файли на сервері більше не є файлами у звичайному розумінні. Відкрийте каталог сховища й побачите об’єкти з шістнадцятковими іменами. Щоб отримати дані, потрібні клієнт Seafile або власні інструменти Seafile для експорту та fsck. Резервне копіювання все одно працює, оскільки ці об’єкти є звичайними файлами, але відновити одну електронну таблицю за допомогою cp не можна. Вирішіть заздалегідь, чи прийнятно це, оскільки саме про цю властивість користувачі часто шкодують пізніше.

Seafile випускається у community edition і платній professional edition. Межа між ними змінюється від релізу до релізу, тому перед плануванням командної роботи на основі конкретної функції ознайомтеся з актуальними умовами на сайті. Існують офіційні desktop- і mobile-клієнти. Зашифровані library шифруються на клієнті, тому сервер зберігає ciphertext, який не може прочитати. Якщо втратити passphrase, library стане недоступною для читання, зокрема й для вас. Відкриття зашифрованої library у браузері означає передавання цього passphrase вебсеансу, тому повна версія цієї гарантії стосується desktop- і mobile-клієнтів.

Витрати ресурсів близькі до Nextcloud. Потрібно запустити базу даних, memory cache і два процеси застосунку, тому 2 GB знову є практичним мінімумом.

Syncthing: немає облікових даних для входу

Syncthing — це один бінарний файл Go. Він відстежує папки, знаходить вузли через сервер виявлення або relay і безпосередньо синхронізує дані між пристроями. Облікових записів і сторінки входу для користувачів, із якими ви синхронізуєте дані, немає. Ви об’єднуєте два пристрої за ID і приймаєте папку на кожному з них. Серед усіх описаних варіантів цей сервіс потребує найменше налаштувань, оскільки в ньому дуже мало компонентів.

Ви втрачаєте весь функціонал спільного доступу. У відповідному полі зазначено Device pairing only, no links. Ви не можете надіслати посилання клієнту, бухгалтеру або родичу. Інша проблема — мобільні пристрої: Android app, no official iOS. В офіційному FAQ проєкту прямо зазначено: «Поточна команда Syncthing не планує офіційно підтримувати iOS у найближчому майбутньому», оскільки iOS достатньо обмежує фонову обробку, щоб надійна синхронізація була складною. Користувачам iOS залишаються сторонні застосунки.

Ресурсів сервіс споживає мало, але є один важливий нюанс. Syncthing зберігає запис індексу для кожного синхронізованого файла, тому використання пам’яті та тривалість першого сканування залежать від кількості файлів, а не від їхнього загального розміру. Під час першого хешування великої папки CPU певний час буде активно використовуватися, після чого навантаження стабілізується. На найменшому тарифі VPS сервіс працює без проблем.

Конфлікти обробляються зі збереженням обох версій. Якщо два пристрої змінюють той самий файл, поки не можуть бачити один одного, Syncthing перейменовує одну копію та зберігає її поруч з іншою. Тому ви побачите файли на кшталт notes.sync-conflict-20260802-141530-K7MB3QT.md. Дані не втрачаються. Але автоматичного об’єднання також немає, тому конфлікт потрібно вирішити вручну.

Об’єктне сховище з клієнтом: дешеві байти, а не папка для синхронізації

Об’єктне сховище — це сумісний із S3 (simple storage service) bucket, розгорнутий самостійно за допомогою MinIO або орендований у провайдера. Доступ до нього здійснюється через інструмент: rclone з командного рядка або desktop client, який відображає bucket як диск. Якщо ви хочете переглядати bucket через вебсторінку, а не shell, кілька інструментів із цього порівняння self-hosted файлових менеджерів використовують S3 bucket як backend і додають власні посилання для спільного доступу. Спільний доступ надається через presigned URL — посилання, яке ви генеруєте та яке містить власний термін дії. Versioning — це параметр bucket: Bucket versioning, off by default, тому вмикайте його під час створення bucket, оскільки він не поширюється на об’єкти, завантажені раніше.

Проблеми починаються, коли bucket використовують як папку для синхронізації. За замовчуванням ніхто не відстежує ваш каталог Documents. rclone bisync виконує двосторонню синхронізацію, а в документації rclone прямо зазначено, що цей режим потребує обережного налаштування. Об’єктне сховище найкраще працює як нижній рівень: ціль для резервних копій або storage layer для застосунку. У матеріалі Self-hosted S3 сумісне об’єктне сховище з MinIO описано серверну частину.

Витрати на цей варіант мають особливу структуру. MinIO — це один binary, який споживає мало ресурсів у режимі простою. Фактична плата припадає на disk, а у VPS це означає block volume, орендований за гігабайт, а також bandwidth для передавання об’єктів у сховище та зі сховища. Жодна з цих витрат не відображається в free -h, тому перед визначенням розміру archive прочитайте скільки насправді коштує VPS на місяць.

Порівняння спільного доступу, мобільних клієнтів і версій

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 параметри розподіляються за одним критерієм. Три з них дають змогу передати файл незнайомій людині, яка має лише браузер. Один із них взаємодіє тільки з пристроями, якими ви вже володієте. Для параметра версій Seafile, Library history and snapshots, варто зробити зауваження: історія зберігається для кожної бібліотеки окремо, тому після видалення бібліотеки її історія також видаляється.

Як знову отримати свої дані

Вартість міграції легко перевірити зараз, але дорого виявити пізніше, тому перевірте її до того, як зафіксуєте вибір.

Nextcloud зберігає звичайні файли у звичайних каталогах, тому tar каталогу даних дає змогу отримати документи, навіть якщо застосунок більше ніколи не запуститься. Syncthing робить те саме на кожному вузлі, і це найнадійніший варіант для міграції: файли просто зберігаються на кожному пристрої. Для збирання блоків Seafile в окремі файли потрібні Seafile або його інструменти експорту. Для об’єктного сховища потрібен rclone або еквівалентний інструмент, і це можна виконати однією командою.

Синхронізація — це не резервне копіювання, і саме через цю різницю люди втрачають дані

Кожен описаний тут інструмент копіює зміни між машинами. Видалення — це зміна. Видаліть папку на ноутбуці, і клієнт повідомить про це сервер. Сервер застосує зміну, а всі інші пристрої також видалять папку. Ransomware використовує той самий механізм: воно шифрує файли локально, клієнт бачить змінені файли й завантажує зашифровані версії. Синхронізація працює правильно. Але ваші дані все одно втрачені.

Кошики та історія версій частково допомагають. Але вони мають строк зберігання, їх може очистити той самий обліковий запис, який припустився помилки, і вони розташовані на тому самому диску, що й робоча копія. У разі відмови тому ви одночасно втрачаєте файли та їхню історію.

Резервна копія — це окрема копія на окремому обладнанні, створена за розкладом і відновлена вами хоча б один раз. Створюйте резервну копію бази даних під час того самого запуску, що й резервну копію файлів. Відновлення каталогу даних Nextcloud без бази даних дає екземпляр, який не знає про наявність цих файлів. Після цього occ files:scan відновлює файли, але втрачає спільні ресурси та історію версій, що зберігалися в цих таблицях. Заплановане резервне копіювання restic із VPS описує зашифрований варіант із дедуплікацією, зокрема спосіб перевірити відновлення, а не покладатися на припущення, що воно спрацює.

Що я обрав би

Для більшості читачів цього матеріалу — Nextcloud. Після відмови від Dropbox зазвичай бракує можливості передати посилання людині, яка ніколи нічого не встановлюватиме, і відкрити файл на телефоні. Nextcloud дає змогу робити і те, і інше через офіційні клієнти без платного тарифу, а 2 GB RAM — прийнятна ціна за ці можливості. Я дотримуюся двох винятків. Якщо папка належить лише вам і завжди зберігається на обладнанні, яким ви керуєте, використовуйте Syncthing. Тоді не потрібно оновлювати сервер і захищати веб-вхід. Якщо ви синхронізуєте робочий каталог із сотнями тисяч файлів, використовуйте Seafile. Прийміть непрозоре зберігання даних в обмін на швидкість. Object storage має працювати під обраним рішенням як ціль для резервних копій, а не перед ним як інструмент синхронізації.

FAQ

Syncthing — це резервна копія мого ноутбука?

Ні. Syncthing копіює зміни між пристроями, а видалення — це така сама зміна, як і будь-яка інша. Тому файл, який ви випадково видалили, зникне з усіх пов’язаних пристроїв за кілька секунд. Версіювання файлів для кожної папки допомагає відновити дані, але за замовчуванням воно вимкнене, доки ви не ввімкнете його для кожної папки. Зберігайте справжню резервну копію на окремому обладнанні за розкладом і один раз відновіть із неї дані, щоб переконатися, що відновлення працює.

Чи можна запускати Nextcloud і Syncthing на одному VPS?

Так, вони використовують різні порти й не конфліктують. Не вказуйте папку Syncthing як каталог даних Nextcloud. Nextcloud відстежує кожен файл у базі даних, тому файли, які з’являються на диску поза його межами, залишаються невидимими, доки ви не виконаєте occ files:scan, а видалення файлів поза Nextcloud залишає в базі даних записи, що вказують на неіснуючі файли. Виділіть для Syncthing окремий каталог або підключіть цей каталог до Nextcloud як зовнішнє сховище, щоб Nextcloud знав, де шукати файли.

Який сервіс дає змогу поділитися посиланням із користувачем без облікового запису?

Nextcloud і Seafile створюють публічні посилання з необов’язковим паролем і датою завершення дії. Object storage надає presigned URL, який автоматично припиняє працювати після встановленого вами часу. Syncthing не підтримує такий сценарій. Його модель спільного доступу передбачає об’єднання пристроїв у пару, тому інша особа має встановити Syncthing, надати вам ідентифікатор пристрою та прийняти папку.

Скільки дискового простору потрібно серверу?

Для основного сервера плануйте повний обсяг спільних даних, додаткове місце для історії версій і кошика, а також робочий простір для незавершених завантажень. Історію версій часто недооцінюють: зберігання кожної версії файлу розміром 2 GB, який змінюється щодня, швидко збільшує обсяг даних, тому політику зберігання слід налаштувати заздалегідь. Розміщення даних на окремому томі не дає цьому обсягу заповнити кореневу файлову систему. Якщо диск заповниться, зупиниться весь сервер, а не лише одне завантаження.