Файловое хранилище на собственном сервере — задача, у которой слишком много решений и слишком мало правильных. Seafile занимает в этом пространстве особое место: быстрее Nextcloud, гибче «голого» S3, полностью под вашим контролем.
Что это
Seafile — self-hosted платформа для работы с файлами: хранение, синхронизация между устройствами, совместный доступ. Роль — та же, что у Google Drive или Dropbox. Разница в одном: данные остаются на вашей инфраструктуре, а не у стороннего облака.
Архитектура Seafile отличается от обычного файлового сервера. Вместо хранения файлов целиком система режет каждый на блоки фиксированного размера, убирает дубликаты и нумерует ревизии. Правите абзац в стомегабайтном документе — по сети уходит не весь файл, а только изменившийся фрагмент. Принцип тот же, что в Git: дельта вместо полной копии, но на уровне файлового хранилища, а не исходного кода.
За разработку отвечает Seafile Ltd. — немецкая компания с китайскими корнями. Платформа на рынке с 2012 года, за это время закрепилась как рабочая альтернатива Nextcloud для тех, кому нужна синхронизация файлов без лишних модулей.
Ключевое правило: блочное хранение с дедупликацией — главная архитектурная деталь Seafile. Файл не перезаливается целиком при правке: передаётся только изменившийся блок. Это определяет скорость синхронизации и экономию трафика.
Зачем нужно
- Держать файлы на своём сервере — данные не покидают вашу инфраструктуру, нет зависимости от политик облачного провайдера
- Синхронизировать устройства — десктопные и мобильные клиенты обеспечивают двусторонний обмен файлами в реальном времени
- Сохранять версии — каждое изменение фиксируется как отдельная ревизия, откат к любой версии доступен в один клик
- Управлять доступом — библиотеки с разными уровнями видимости, шифрование на клиенте, двухфакторная защита
- Масштабировать через S3 — в Pro-редакции файловые блоки уходят в объектное хранилище, и локальный диск перестаёт лимитировать объём
Как устроено
Инсталляция Seafile — четыре слоя, каждый масштабируется отдельно:
| Слой | Назначение | Что выбрать |
|---|---|---|
Клиенты | Десктоп, мобильные приложения, веб-интерфейс | Официальные клиенты Seafile для платформ |
Reverse proxy | SSL-терминация, проксирование, кеширование статики | Nginx или Caddy |
Сервер Seafile | Python/C-приложение, ядро системы | VPS или выделенный сервер, Docker |
База данных | Метаданные: структура библиотек, права, пользователи, версии | MySQL или MariaDB |
S3-хранилище | Файловые блоки в объектном хранилище (только Pro) | AWS S3, Wasabi, Backblaze B2, MinIO |
Серверная часть — приложение на Python и C, запускаемое как сервис. Удобный способ установки — Docker. Базовые требования к серверу: 2 vCPU и 2 ГБ RAM для небольшой команды, 4 vCPU и 4 ГБ RAM для 50+ пользователей. SSD нужен для операционной системы и кеша — сами файлы уйдут в S3, если настроен Pro-бэкенд.
База данных хранит только метаданные: структуру библиотек, права доступа, информацию о пользователях, историю версий. Сами файлы в БД не лежат. Размер базы остаётся небольшим даже при терабайтах файлов — метаданные компактны.
Reverse proxy перед Seafile закрывает три задачи: SSL-терминация через Let’s Encrypt, проксирование запросов к серверу и кеширование статики с ограничением скорости. В документации Seafile есть готовые конфиги для Nginx и Apache.
В Pro-редакции файловые блоки можно держать в S3-совместимом объектном хранилище. При настройке Seafile создаёт три бакета:
seafile-blocks— блоки файловseafile-commits— метаданные коммитовseafile-fs— структура файловой системы
Важно: при подключении S3-бэкенда поднимите memcached или Redis на минимум 128 МБ. Seafile кеширует объекты из S3 — без слоя кеширования каждое чтение файла уходит в объектное хранилище, и задержка складывается.
Редакции: Community Edition и Professional Edition
Две редакции Seafile, и выбор между ними задаёт архитектуру всего решения.
Community Edition (CE) — open-source, бесплатная лицензия. Для личного использования и небольших команд. Включает:
- Синхронизацию файлов между устройствами (клиенты для Windows, macOS, Linux, iOS, Android)
- Версионирование файлов
- Публичные и приватные библиотеки
- Шифрование на стороне клиента
- WebDAV
- REST API
- Двухфакторную аутентификацию
Professional Edition (Pro) — расширенная версия с корпоративными функциями, закрытый код, коммерческая лицензия. Дополнительно к CE:
- S3-совместимый бэкенд для хранения файлов (AWS S3, MinIO, Wasabi и другие)
- Кластерную установку и высокую доступность
- Полнотекстовый поиск по содержимому файлов
- Аудит действий пользователей
- Антивирусную проверку файлов на сервере
- Управление отделами и организационную структуру
- LDAP/AD синхронизацию групп
- Онлайн-просмотр документов (Office, PDF)
- Расширенные правила совместного доступа
- Метаданные файлов с автоматической генерацией свойств
- Гибкие представления: таблица, галерея, канбан, карта
Внимание: S3-совместимый бэкенд доступен только в Professional Edition. Community Edition хранит файлы только на локальном диске сервера — подключить объектное хранилище нельзя.
Чем Seafile отличается от альтернатив
| Критерий | Seafile | Google Drive | Dropbox | Nextcloud | Прямой S3 |
|---|---|---|---|---|---|
Где данные | Ваш сервер | Google Cloud | AWS | Ваш сервер | Облако провайдера |
Синхронизация | Блочная, быстрая | Пофайловая | Блочная | Пофайловая, медленнее | Нет |
Версионирование | Встроенное | Да | Да | Да | Только S3 versioning |
Офисные документы | Через Collabora/OnlyOffice | Нативно | Через интеграции | Через Collabora/OnlyOffice | Нет |
Производительность | Высокая | Высокая | Высокая | Средняя | Зависит от клиента |
Контроль данных | Полный | Нет | Нет | Полный | Частичный |
Расширяемость | API, WebDAV | API | API | Плагины, API | S3 API |
Сложность эксплуатации | Средняя | Нулевая | Нулевая | Высокая | Низкая |
Seafile и Nextcloud сравнивают чаще всего. Nextcloud претендует на роль «всё в одном»: календари, контакты, чаты, доски задач. Seafile делает одно — хранит и синхронизирует файлы. Узкая специализация даёт выигрыш в трёх направлениях: надёжность, скорость, простота обслуживания.
Seafile и «голый» S3 решают разные задачи. S3 подходит для бэкапов и статических файлов, но не предоставляет интерфейса, клиентских приложений и управления правами. Seafile закрывает этот пробел: берёт S3 как хранилище для блоков, а поверх держит весь пользовательский контур — веб-интерфейс, десктопные и мобильные клиенты, систему прав, версионирование.
Лицензирование 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 + S3 обойдётся в $0 за лицензию, оплачивать нужно только S3-хранилище.
Почему S3 доступен только в Pro
В Community Edition код для работы с S3 физически отсутствует. Драйвер S3 — часть проприетарного кода Professional Edition, реализованная через библиотеку boto3. Это осознанное решение разработчиков: S3-бэкенд — ключевая функция масштабирования, и она вынесена в коммерческую редакцию.
Но бесплатная лицензия Pro на 3 пользователя снимает эту проблему для персональных сценариев. S3-бэкенд доступен без затрат на лицензию — оплачивать нужно только объектное хранилище у провайдера.
S3-совместимые провайдеры
| Провайдер | Хранение | Egress | Особенности |
|---|---|---|---|
AWS S3 | ~$0.023/ГБ/мес | $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.
Когда использовать
| Ситуация | Подходит | Почему |
|---|---|---|
Нужен «свой Google Drive» для команды | Да | Полный контроль над данными, синхронизация, версионирование |
Файлы растут, локальный диск переполняется | Да (Pro) | S3-бэкенд снимает ограничение локального диска |
Нужен только бэкап в S3 | Нет | Проще использовать S3 напрямую, без файлового слоя |
Нужен календарь, чат, доска задач | Нет | Это к Nextcloud — Seafile не делает «всё в одном» |
1–3 пользователя, нужен S3 | Да (Pro Free) | Бесплатная лицензия Pro на 3 пользователя |
Команда 50+ человек | Да (Pro) | Кластеризация, аудит, LDAP/AD, полнотекстовый поиск |
Нужен доступ на уровне отдельных файлов | С оговоркой | Права — на уровне библиотек, внутри гранулярность ниже |
Пример
Минимальная конфигурация Seafile Pro с S3-бэкендом для микрокоманды:
# Docker Compose: Seafile Pro + MariaDB + Memcached
# Файлы уходят в S3-совместимое хранилище (Wasabi/Backblaze B2)
# 1. Создайте три бакета в S3-провайдере:
# seafile-blocks, seafile-commits, seafile-fs
# 2. В seaf.conf укажите S3-бэкенд:
# [storage_backend]
# name = s3
# bucket = seafile-blocks
# key_id = YOUR_KEY
# key = YOUR_SECRET
# region = eu-central-1
# host = s3.wasabi.com
# 3. Запустите контейнеры:
docker compose up -d
Лицензия Pro Free на 3 пользователя оформляется на сайте seafile.com. После установки файлы автоматически уходят в S3, локальный диск используется только для кеша.
Ограничения
| Пункт | Пояснение |
|---|---|
Только локальный диск в CE — Community Edition не поддерживает S3 или другие объектные хранилища. | Файлы лежат на диске сервера, и при росте объёма единственный путь — Pro. Если хранилище нужно сразу, CE не подойдёт. |
S3-бэкенд медленнее локального SSD — первое обращение к файлу всегда идёт в объектное хранилище. | Memcached или Redis смягчают проблему для повторных обращений, но холодный доступ упирается в латентность S3. Если сервер в Европе, а бакет в Вирджинии — задержка ощутимая. Держите бакет в том же регионе, что и сервер. |
Права доступа на уровне библиотек — Seafile управляет правами через библиотеки (аналог папок верхнего уровня). | Внутри библиотеки гранулярность ограничена. Если нужен контроль на уровне отдельных файлов — это не сильная сторона Seafile, продумывайте структуру библиотек заранее. |
Миграция занимает часы и дни — переход с локального диска на S3 и обратно — нетривиальная операция. | Утилиты миграции существуют, но на больших объёмах процесс идёт часами, во время миграции сервис недоступен. Планируйте архитектуру хранения до запуска. |
Бесплатная лицензия Pro ограничена 3 пользователями — четвёртая учётная запись означает покупку лицензии на 9. | Пользователь в терминологии Seafile — это аккаунт, а не параллельная сессия. Деактивированные аккаунты не возвращают слот обратно до истечения срока лицензии. |
Не все S3-провайдеры одинаково совместимы — Seafile использует boto3 и ожидает стандартный S3 API. | Проверяйте поддержку multipart upload, корректную работу с presigned URL и совместимость с версией API вашей версии Seafile. Backblaze B2 исторически имел нюансы совместимости — прогоняйте тестовый сценарий перед продакшеном. |
Антипаттерны
| Пункт | Пояснение |
|---|---|
Держать бакет и сервер в разных регионах — когда сервер Seafile стоит в Европе, а S3-бакет в США, каждый запрос к файлу пересекает Атлантику. | Латентность вырастает в разы, memcached бессилен для холодных обращений. Провайдера S3 выбирайте с дата-центром рядом с сервером Seafile. |
Считать только цену хранения S3 — Seafile генерирует много PUT/GET-операций из-за блочного хранения: каждый файл дробится на блоки, каждый блок — отдельный запрос. | Egress при активной синхронизации тоже существенный. Wasabi взимает плату минимум за 1 ТБ, даже если фактически храните меньше. Считайте полную стоимость: хранение + операции + исходящий трафик. |
Не настраивать бэкап MySQL-базы — S3 хранит файловые блоки, но метаданные (права, пользователи, структура библиотек) лежат в MySQL. | Если база повреждается — файлы в S3 есть, но Seafile не может их прочитать. Регулярный дамп MySQL обязателен. S3 — не бэкап: настройте версионирование в S3, кросс-региональную репликацию и отдельный дамп базы. |
Запускать CE и надеяться подключить S3 потом — S3-драйвер отсутствует в коде CE. | Миграция с CE на Pro на работающей системе — отдельный проект с переустановкой. Если S3 нужен — сразу ставьте Pro, бесплатная лицензия на 3 пользователя решает вопрос. |
Чеклист
| Пункт | Пояснение |
|---|---|
Регион S3-бакета совпадает с регионом сервера — latency между сервером и хранилищем определяет скорость работы. | Проверьте пинг от сервера до S3-эндпоинта: всё, что выше 50 мс, будет ощутимым для пользователей. |
Memcached или Redis настроен с минимум 128 МБ — Seafile активно кеширует объекты из S3. | Без слоя кеширования каждое обращение к файлу уходит в объектное хранилище, и задержка складывается. |
Три бакета созданы в S3 до запуска — seafile-blocks, seafile-commits, seafile-fs. | Seafile не создаёт их автоматически, запуск без бакетов падает с ошибкой. |
Тестовый сценарий S3-провайдера пройден — загрузка, скачивание, удаление, sync. | Особенно для Backblaze B2 и других провайдеров с историческими нюансами совместимости. |
Дамп MySQL-базы настроен и проверен — метаданные в базе не менее важны, чем файлы в S3. | Восстановление из дампа проверено хотя бы один раз. |
Лицензия Pro активирована — даже для бесплатных 3 пользователей нужна активная лицензия. | Без неё S3-бэкенд не работает, даже если код установлен. |
Ссылки
- Официальный сайт: seafile.com
- Документация: manual.seafile.com
- GitHub (Community Edition): github.com/haiwen/seafile
- Тарифы: seafile.com/en/pricing
- Форум сообщества: forum.seafile.com


