База знаний

Seafile — self-hosted файловое хранилище с синхронизацией, версионированием и S3-бэкендом

Seafile — self-hosted альтернатива Google Drive и Dropbox. Редакции CE и Pro, архитектура с S3-бэкендом, лицензирование, риски и выбор провайдера.

Опубликовано

Seafile — open-source платформа для хранения и синхронизации файлов на собственном сервере. Быстрее Nextcloud, гибче прямого S3, полностью под вашим контролем.

Что такое Seafile

Seafile — это self-hosted сервис для хранения, синхронизации и совместной работы с файлами. По сути, ваш собственный Google Drive или Dropbox, только данные лежат на вашем сервере, а не у кого-то в облаке.

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

Seafile разработан компанией Seafile Ltd. (штаб-квартира в Германии, основатели из Китая). Проект существует с 2012 года и за это время зарекомендовал себя как стабильная и производительная альтернатива Nextcloud.

📌
Ключевое отличие Seafile от обычного файлового сервера: блочное хранение с дедупликацией. Файл в 100 МБ при изменении одного абзаца не перезаливается целиком — передаётся только изменённый блок.

Чем Seafile отличается от альтернатив

КритерийSeafileGoogle DriveDropboxNextcloudПрямой S3
Где данныеВаш серверGoogle CloudAWSВаш серверОблако провайдера
СинхронизацияБлочная, быстраяПофайловаяБлочнаяПофайловая, медленнееНет
ВерсионированиеВстроенноеДаДаДаТолько S3 versioning
Офисные докиЧерез Collabora/OnlyOfficeНативноЧерез интеграцииЧерез Collabora/OnlyOfficeНет
ПроизводительностьВысокаяВысокаяВысокаяСредняяЗависит от клиента
Контроль данныхПолныйНетНетПолныйЧастичный
РасширяемостьAPI, WebDAVAPIAPIПлагины, APIS3 API
Сложность эксплуатацииСредняяНулеваяНулеваяВысокаяНизкая

Seafile vs Nextcloud — самое частое сравнение. Nextcloud позиционируется как «всё в одном»: календари, контакты, чаты, доски. Seafile фокусируется на одном: хранение и синхронизация файлов. За счёт этого Seafile стабильнее, быстрее и проще в обслуживании.

Seafile vs прямой S3 — S3 отлично подходит для бэкапов и статики, но не даёт пользовательского интерфейса, синхронизации между устройствами и управления правами доступа. Seafile может использовать S3 как бэкенд для хранения блоков, сохраняя при этом весь пользовательский слой.

Редакции: Community Edition и Professional Edition

Seafile поставляется в двух редакциях.

Community Edition (CE)

Открытый исходный код, бесплатная лицензия. Подходит для личного использования и небольших команд.

Что входит:

  • Синхронизация файлов между устройствами (клиенты для Windows, macOS, Linux, iOS, Android)
  • Версионирование файлов
  • Публичные и приватные библиотеки
  • Шифрование на стороне клиента
  • WebDAV
  • REST API
  • Двухфакторная аутентификация

Professional Edition (Pro)

Расширенная версия с корпоративными функциями. Закрытый исходный код, коммерческая лицензия.

Дополнительно к CE:

  • S3-совместимый бэкенд для хранения файлов (AWS S3, MinIO, Wasabi и другие)
  • Кластерная установка и высокая доступность
  • Полнотекстовый поиск по содержимому файлов
  • Аудит действий пользователей
  • Антивирусная проверка файлов на сервере
  • Управление отделами и организационная структура
  • LDAP/AD синхронизация групп
  • Онлайн-просмотр документов (Office, PDF)
  • Расширенные правила совместного доступа
  • Метаданные файлов с AI-генерацией свойств
  • Гибкие представления: таблица, галерея, канбан, карта
⚠️
S3-совместимый бэкенд доступен только в Professional Edition. Если вам нужно хранить файлы в S3 — Community Edition не подойдёт.

Ограничения Community Edition

CE — полноценный продукт для базовых сценариев, но с рядом ограничений:

  • Файлы хранятся только на локальном диске сервера — нельзя подключить S3 или другое объектное хранилище
  • Нет полнотекстового поиска по содержимому файлов
  • Нет управления отделами и организационным деревом
  • Нет кластеризации — только один сервер
  • Нет серверного антивируса
  • Нет аудита действий
  • Нет расширенных метаданных файлов и AI-функций
  • Ограниченные возможности онлайн-просмотра документов

Для одного-двух человек с небольшим объёмом файлов CE хватит. Но как только появляется потребность в масштабировании хранилища — S3-бэкенд становится необходимостью, а значит, нужна Pro.

Лицензирование Professional Edition

Seafile Pro использует модель годовой подписки.

Количество пользователейСтоимость в год (USD)
До 3 пользователейБесплатно
До 9 пользователей$100 (фиксированная цена)
10–249 пользователей$48 за пользователя
250–499 пользователей$44 за пользователя
500–749 пользователей$40 за пользователя
750–999 пользователей$35 за пользователя
1000+По запросу
💡
Для образовательных учреждений действует скидка 50%. Для государственных организаций — скидка 25%.

Бесплатная лицензия Pro на 3 пользователя — отличная возможность получить S3-бэкенд и все корпоративные функции без затрат. Для фрилансера или микрокоманды этого хватит.

Архитектура: как правильно развернуть Seafile

Рабочая инсталляция Seafile состоит из четырёх слоёв.

flowchart LR
    A["Клиенты<br>(Desktop, Mobile, Web)"] --> B["Reverse Proxy<br>(Nginx / Caddy)"]
    B --> C["Seafile Server<br>(VPS / Dedicated)"]
    C --> D["База данных<br>(MySQL / MariaDB)"]
    C --> E["S3-compatible<br>хранилище"]

1. VPS или выделенный сервер для Seafile

Сам Seafile — это Python/C приложение, которое работает как сервис. Рекомендуемый способ установки — Docker.

Минимальные требования:

  • 2 vCPU, 2 ГБ RAM (для небольшой команды)
  • 4 vCPU, 4 ГБ RAM (для 50+ пользователей)
  • SSD для ОС и кеша (объём файлов уйдёт в S3)

2. База данных

Seafile использует MySQL или MariaDB для хранения метаданных: структура библиотек, права доступа, информация о пользователях, история версий.

Сами файлы в БД не хранятся — только метаданные. Размер базы обычно невелик даже при терабайтах файлов.

3. Reverse proxy

Nginx или Caddy перед Seafile выполняют три задачи:

  • SSL-терминация (Let's Encrypt)
  • Проксирование запросов к Seafile
  • Кеширование статики и ограничение скорости

Seafile штатно поддерживает работу за reverse proxy, в документации есть готовые конфиги для Nginx и Apache.

4. S3-compatible хранилище (только Pro)

В Professional Edition файловые блоки можно хранить в S3-совместимом объектном хранилище. Seafile создаёт три бакета:

  • seafile-blocks — блоки файлов
  • seafile-commits — метаданные коммитов
  • seafile-fs — структура файловой системы
📌
При использовании S3 рекомендуется настроить memcached или Redis с минимум 128 МБ памяти — Seafile активно кеширует объекты для ускорения доступа.

Почему для S3 нужен именно Seafile Pro

Технически: в Community Edition код для работы с S3 просто отсутствует. Драйвер S3 (через библиотеку boto3) — часть проприетарного кода Professional Edition.

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

Но есть и хорошая новость: бесплатная лицензия Pro на 3 пользователя включает S3-бэкенд. Для персонального или микрокомандного сценария можно получить связку Seafile + S3 за $0.

S3-compatible провайдеры

ПровайдерСтоимость храненияEgress (исходящий трафик)Особенности
AWS S3~$0.023/ГБ/мес (Standard)$0.09/ГБЭталонная S3-совместимость, широкая географическая сеть
Wasabi$0.0069/ГБ/месБесплатно (до объёма хранения)Дешёвое хранение, минимум 1 ТБ оплаты, 90 дней минимального хранения
Backblaze B2$0.006/ГБ/месБесплатно до 3× хранимого объёмаНизкая цена, S3-совместимый API, бесплатный egress через Cloudflare
Hetzner Object Storage€0.005/ГБ/месБесплатно (в пределах тарифа)Европейские дата-центры, GDPR, привлекательная цена
MinIO (self-hosted)Стоимость дисковБесплатноПолный контроль, open-source, нужен свой сервер с дисками
Selectel (Россия)~₽1.27/ГБ/месПлатныйРоссийский провайдер, S3-совместимый API, дата-центры в РФ
💡
Для большинства случаев оптимальный выбор — Wasabi или Backblaze B2. Цена в 3–4 раза ниже AWS, а S3 API достаточно совместим. Если критично расположение данных в Европе — Hetzner. Если в России — Selectel.

Риски и что проверить перед внедрением

Стоимость лицензии

До 3 пользователей — бесплатно. Но если команда растёт, стоимость увеличивается: 15 пользователей = $720/год, 100 пользователей = $4 800/год. Заложите рост.

Стоимость S3

Считайте не только хранение, но и:

  • Egress (исходящий трафик) — при активной синхронизации может быть существенным
  • Количество запросов — Seafile генерирует много PUT/GET операций из-за блочного хранения
  • Минимальные объёмы — Wasabi взимает плату минимум за 1 ТБ

Backup

S3 хранит данные, но это не бэкап. Настройте:

  • Версионирование в S3 (защита от случайного удаления)
  • Кросс-региональную репликацию или копию в другой провайдер
  • Регулярный дамп MySQL-базы метаданных

Скорость

Seafile с S3-бэкендом работает медленнее, чем с локальным SSD — это объективная реальность. Memcached или Redis смягчают проблему, но первое обращение к файлу всегда идёт в S3. Если сервер Seafile в Европе, а S3-бакет в Вирджинии, латентность будет ощутимой. Держите бакет в том же регионе, что и сервер.

Совместимость S3 API

Не все S3-совместимые провайдеры одинаково совместимы. Seafile использует boto3 и ожидает стандартный S3 API. Проверьте:

  • Поддержку multipart upload
  • Корректную работу с presigned URL
  • Совместимость с версией API, которую использует ваша версия Seafile
⚠️
Backblaze B2 исторически имел нюансы совместимости с S3 API. Перед продакшеном прогоните тестовый сценарий: загрузка, скачивание, удаление, sync.

Миграция

Переход с локального хранилища на S3 (и обратно) — нетривиальная операция. Seafile предоставляет утилиты для миграции, но:

  • На больших объёмах миграция занимает часы или дни
  • Во время миграции сервис недоступен
  • Обратный путь (S3 → локальный диск) тоже возможен, но занимает столько же времени

Планируйте архитектуру хранения до запуска, а не после.

Права доступа

Seafile управляет правами на уровне библиотек (аналог папок верхнего уровня). Внутри библиотеки гранулярности меньше. Если нужен контроль доступа на уровне отдельных файлов — это не самая сильная сторона Seafile. Продумайте структуру библиотек заранее.

Лимиты пользователей

Бесплатная лицензия Pro жёстко ограничена 3 пользователями. Четвёртый пользователь = покупка лицензии на 9. Имейте в виду: пользователь — это учётная запись, а не одновременное подключение. Удалённые пользователи не освобождают слот до конца лицензионного периода.

Ссылки


По теме

Если вы строите инфраструктуру для команды и хотите разобраться, как правильно организовать файловое хранилище, синхронизацию и бэкапы, — пишите в Telegram @pimenov