SSD Nodes Learn 🎉 VPS от $5.50/мес
Руководства Matt ConnorАвтор: Matt Connor · Обновлено 2026-08-13

Выбор self-hosted альтернативы Dropbox: сравнение решений

Сравнение Nextcloud, Seafile, Syncthing и объектного хранилища. Узнайте, как топология синхронизации влияет на работу, реальную стоимость VPS и почему синхронизация не заменяет бэкап.

Какую альтернативу Dropbox для самостоятельного хостинга выбрать?

Существуют четыре альтернативы Dropbox для самостоятельного хостинга, заслуживающие внимания: Nextcloud, Seafile, Syncthing и объектное хранилище с клиентским приложением. Они не являются взаимозаменяемыми. Nextcloud подходит для семьи или небольшой команды, где другим пользователям нужно передавать файлы. Seafile подходит для отдельного пользователя или команды, синхронизирующей огромное количество мелких файлов, где скорость синхронизации важнее того, как данные выглядят на диске. Syncthing подходит для одного пользователя, синхронизирующего собственные устройства, когда никому извне не нужно предоставлять ссылки. Объектное хранилище подходит для архивов: это дешевые байты, к которым вы редко обращаетесь.

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

Топология синхронизации: основной сервер или равноправные узлы без сервера

Рассматриваются два варианта архитектуры, и выбор одного из них определяет дальнейшие действия.

Основной сервер. Так работают Nextcloud, Seafile и объектные хранилища. Одна машина, обычно VPS (виртуальный выделенный сервер), содержит эталонную копию данных. Все устройства взаимодействуют с этим сервером. Ваш ноутбук может быть выключен месяц, а после включения самостоятельно синхронизироваться. Телефон с 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 ГБ оперативной памяти приложение запустится, но при большой загрузке или выполнении длительной команды occ вы можете столкнуться с out-of-memory killer. Считайте 2 ГБ минимальным объемом для нескольких пользователей и готовьтесь к расширению до 4 ГБ, как только включите дополнительные приложения. Еще одна сложность — обновления: приложения из магазина привязаны к конкретной версии ядра, поэтому перед обновлением убедитесь, что все важные для вас приложения поддерживают следующую мажорную версию.

Nextcloud начинает работать медленнее, когда в одной учетной записи хранятся сотни тысяч мелких файлов, так как каждый файл — это строка в таблице кэша и реальный файл на диске, а настольный клиент обрабатывает их по одному. В масштабах домашнего использования это не является проблемой. Вопросы масштабирования, TLS (transport layer security) и резервного копирования рассмотрены в установке Nextcloud на базе Docker с TLS и резервным копированием — переходите туда, когда примете решение.

Предупреждение об области применения. Nextcloud также может управлять вашим календарем, контактами, заметками и библиотекой фотографий, но каждое включенное приложение добавляет фоновую нагрузку и еще один потенциальный фактор, который может заблокировать обновление. Если ваша основная задача — фотографии, специализированный инструмент справится с этим лучше: см. Immich как self-hosted замену Google Photos. Если вам нужны документы и вики, рассмотрите self-hosted альтернативы Notion вместо того, чтобы перегружать файловый сервер. Редактирование документов в браузере требует отдельного сервера, а не просто приложения для Nextcloud, поэтому сравните OnlyOffice и Collabora, прежде чем рассчитывать, что минимальных 2 ГБ оперативной памяти будет достаточно.

Seafile: разработано для огромного количества мелких файлов

Seafile разбивает каждый файл на блоки и сохраняет их во внутреннем объектном хранилище, адресуемом по хешу содержимого — по тому же принципу, что использует git для своих объектов. Единицей синхронизации и совместного доступа является библиотека, а не дерево папок. Поскольку клиент загружает блоки и один коммит вместо одного запроса на каждый файл, синхронизация каталога из 100 000 мелких файлов завершается гораздо быстрее, чем при использовании протоколов, работающих с файлами по отдельности. Идентичные блоки хранятся в единственном экземпляре, поэтому вторая копия большого файла практически не занимает дополнительного места.

Обратной стороной является то, что ваши файлы на сервере перестают быть файлами. Откройте каталог хранилища, и вы увидите объектные файлы с шестнадцатеричными именами. Извлечение данных возможно только через клиент Seafile или собственные инструменты экспорта и fsck. Резервное копирование по-прежнему работает, так как эти объекты являются обычными файлами, но вы не сможете восстановить одну электронную таблицу с помощью cp. Решите заранее, приемлемо ли это для вас, так как именно об этом пользователи чаще всего жалеют впоследствии.

Seafile выпускает Community Edition и платную Professional Edition. Разграничение функциональности между ними меняется от релиза к релизу, поэтому ознакомьтесь с текущими условиями на их сайте, прежде чем планировать работу команды вокруг конкретной функции. Существуют официальные клиенты для настольных и мобильных систем. Зашифрованные библиотеки шифруются на стороне клиента, поэтому сервер хранит зашифрованный текст, который он не может прочитать. Потеря парольной фразы делает библиотеку нечитаемой, в том числе и для вас. Открытие зашифрованной библиотеки в браузере означает передачу этой парольной фразы веб-сессии, поэтому наиболее надежная реализация этой гарантии обеспечивается настольными и мобильными клиентами.

Потребление ресурсов близко к Nextcloud. Вам потребуется запустить базу данных, кэш в оперативной памяти и два процесса приложения, поэтому 2 GB — это разумный минимум.

Syncthing: отсутствие необходимости входа в систему

Syncthing представляет собой единый бинарный файл на языке Go. Он отслеживает папки, находит узлы через сервер обнаружения или ретранслятор и выполняет синхронизацию напрямую между устройствами. Здесь нет учетных записей и страниц входа для пользователей, с которыми вы синхронизируете данные. Вы связываете два устройства по их ID и подтверждаете папку на каждой стороне. Это решение требует меньше всего усилий при эксплуатации, так как запускать практически нечего.

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

Потребление ресурсов невелико, но стоит учитывать один нюанс. Syncthing хранит индексную запись для каждого синхронизируемого файла, поэтому объем используемой памяти и время первого сканирования зависят от количества файлов, а не от их общего размера. При первом хешировании большой папки процессор будет загружен некоторое время, после чего нагрузка стабилизируется. На самом минимальном тарифе VPS приложение работает стабильно.

Конфликты решаются путем сохранения обеих версий. Если два устройства изменяют один и тот же файл, находясь вне зоны видимости друг друга, Syncthing переименовывает одну копию и сохраняет её рядом с другой, поэтому вы увидите файлы вида notes.sync-conflict-20260802-141530-K7MB3QT.md. Ничего не теряется. Автоматическое слияние также не происходит, поэтому конфликты разрешаются вручную.

Объектное хранилище с клиентом: дешевые байты, а не папка синхронизации

Объектное хранилище — это S3-совместимый бакет (bucket), развернутый самостоятельно с помощью MinIO или арендованный у провайдера. Доступ к нему осуществляется через инструменты: rclone в командной строке или десктопный клиент, который монтирует бакет как диск. Общий доступ реализуется через presigned URL — ссылку, которую вы генерируете с заданным временем жизни. Версионирование — это настройка бакета: Bucket versioning, off by default, поэтому включайте его при создании, так как на уже загруженные объекты оно не распространяется.

Ошибки начинаются, когда бакет пытаются использовать как папку для синхронизации. По умолчанию ничто не отслеживает изменения в вашей директории Documents. rclone bisync выполняет двустороннюю синхронизацию, и документация rclone прямо предупреждает о необходимости осторожного обращения с этой функцией. Объектное хранилище лучше всего подходит для фоновых задач: в качестве цели для резервного копирования или уровня хранения для приложения. В Self-hosted S3 compatible object storage with MinIO описана серверная часть.

Затраты ресурсов здесь специфичны. MinIO представляет собой один бинарный файл и потребляет минимум ресурсов в простое. Основные расходы приходятся на дисковое пространство, а на VPS это означает аренду блочного тома с оплатой за гигабайт, плюс стоимость трафика при передаче объектов. Ни то, ни другое не учитывается в free -h, поэтому ознакомьтесь с what a VPS actually costs per month перед тем, как планировать объем архива.

Сравнение функций общего доступа, мобильных клиентов и версионирования

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 или инструментов экспорта для сборки блоков обратно в файлы. Для объектных хранилищ (object storage) потребуется rclone или аналогичный инструмент, работа с которым сводится к одной команде.

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

Все инструменты из этого списка копируют изменения между машинами. Удаление — это тоже изменение. Если вы удалите папку на ноутбуке, клиент сообщит об этом серверу, сервер применит действие, и на всех остальных устройствах папка также исчезнет. Программы-вымогатели действуют по тому же пути: они шифруют файлы локально, клиент видит измененные файлы и загружает их зашифрованные версии. Синхронизация сработала корректно. Но ваши данные все равно потеряны.

Корзины и история версий смягчают последствия. Однако у них есть срок хранения, их может очистить та же учетная запись, которая совершила ошибку, и они находятся на том же диске, что и рабочая копия. Выход из строя тома уничтожает файлы вместе с их историей.

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

Что я бы выбрал

Nextcloud — для большинства читателей. Чего людям не хватает после ухода из Dropbox, так это возможности отправить ссылку человеку, который не будет ничего устанавливать, и возможности открыть файл на телефоне. Nextcloud справляется с обеими задачами с помощью официальных клиентов и не требует платной подписки, а 2 GB RAM — справедливая цена за это. Я придерживаюсь двух исключений. Если папка принадлежит только вам и находится только на вашем оборудовании, используйте Syncthing: вам не придётся обновлять сервер или защищать веб-интерфейс от входа. Если вы синхронизируете рабочую директорию с сотнями тысяч файлов, используйте Seafile и смиритесь с непрозрачным форматом хранения данных ради высокой скорости. Объектное хранилище должно использоваться как целевое место для резервных копий для любого из выбранных решений, а не как инструмент синхронизации.

FAQ

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

Нет. Syncthing копирует изменения между устройствами, а удаление файла — это такое же изменение, как и любое другое. Поэтому файл, который вы случайно удалили, через несколько секунд исчезнет со всех связанных устройств. Помогает версионирование файлов для каждой папки, но оно отключено, пока вы не включите его для каждой папки отдельно. Храните настоящую резервную копию на отдельном оборудовании, создавайте её по расписанию и хотя бы раз выполните восстановление, чтобы убедиться в работоспособности процесса.

Могу ли я запустить Nextcloud и Syncthing на одном VPS?

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

Какой сервис позволяет поделиться ссылкой с тем, у кого нет аккаунта?

Nextcloud и Seafile позволяют создавать публичные ссылки с опциональным паролем и сроком действия. Объектное хранилище предоставляет предварительно подписанный URL, который перестаёт работать автоматически по истечении заданного времени. В Syncthing такой функции нет. Его модель обмена данными основана на связывании устройств, поэтому другому пользователю необходимо установить Syncthing, предоставить вам ID устройства и принять папку.

Какой объём диска нужен серверу?

Для основного сервера планируйте объём, равный полному размеру общих данных, плюс место для истории версий и корзины, плюс рабочее пространство для текущих загрузок. Историю версий часто недооценивают: хранение каждой версии файла размером 2 GB, который меняется ежедневно, быстро занимает место, поэтому заранее настройте политику хранения. Размещение данных на отдельном томе предотвращает переполнение корневой файловой системы, из-за которого при нехватке места остановится весь сервер, а не только одна загрузка.