Своё облачное хранилище дома — это свой «Яндекс Диск» или Google Drive на собственном компьютере или сервере: файлы синхронизируются между устройствами, открываются из браузера и с телефона, но лежат у вас, а не у чужой компании. Самые популярные бесплатные варианты — Nextcloud и Seafile. Nextcloud у нас работает на домашнем сервере, а для честного сравнения мы подняли обе системы с нуля в Docker и по дороге собрали грабли. Ниже — чем они отличаются, как установить каждую и что выбрать.

Nextcloud или Seafile: в чём разница
| Nextcloud | Seafile | |
|---|---|---|
| Суть | «офис в браузере»: файлы плюс календарь, контакты, заметки, звонки (Nextcloud Talk), сотни приложений | сфокусирован на файлах и быстрой синхронизации, есть вики и общий доступ |
| Как хранит файлы | обычными файлами в папке данных | в своих библиотеках, через клиент или веб |
| Установка в Docker | один образ + база + Redis | набор файлов от разработчика: .env и несколько compose-файлов |
| Наш тест: версия | Nextcloud 35.0.1 | Seafile CE 13.0.28 |
| Наш тест: память после запуска | ≈230 МБ (приложение 118 МБ, база 109 МБ, Redis 4 МБ) | ≈540 МБ (Seafile 427 МБ, база 112 МБ, Redis 4 МБ) |
Цифры памяти — сразу после запуска, без пользователей и файлов; под нагрузкой обе системы съедят больше. По документации Seafile, разработчики советуют от 2 ГБ памяти и 2 ядер процессора.
Наш выбор: Nextcloud на домашнем сервере
Дома у нас Nextcloud 34.0.4 в Docker — образ nextcloud:apache, база MariaDB 10.11 и Redis 7. Сервер — обычный настольный ПК с 16 ГБ памяти, на котором ещё работают фотоархив, мониторинг и десяток сервисов, поэтому каждому контейнеру Nextcloud задан лимит памяти. Наш docker-compose.yml (пароли скрыты, пути обезличены):
services:
db:
image: mariadb:10.11
container_name: nextcloud-db
restart: unless-stopped
command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
mem_limit: 512m
volumes:
- /mnt/data/nextcloud/db:/var/lib/mysql
environment:
- MYSQL_ROOT_PASSWORD=<скрыто>
- MYSQL_PASSWORD=<скрыто>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
redis:
image: redis:7-alpine
container_name: nextcloud-redis
restart: unless-stopped
mem_limit: 256m
app:
image: nextcloud:apache
container_name: nextcloud-app
restart: unless-stopped
mem_limit: 1500m
ports:
- 8091:80
depends_on:
- db
- redis
volumes:
- /mnt/data/nextcloud/html:/var/www/html
environment:
- MYSQL_HOST=db
- MYSQL_PASSWORD=<скрыто>
- MYSQL_DATABASE=nextcloud
- MYSQL_USER=nextcloud
- REDIS_HOST=redis
- NEXTCLOUD_ADMIN_USER=admin
- NEXTCLOUD_ADMIN_PASSWORD=<скрыто>
- NEXTCLOUD_TRUSTED_DOMAINS=<адрес> <домен> localhostЭтот же файл мы запустили на тестовом сервере (с актуальным образом встала версия 35.0.1): docker compose up -d — и через 26 секунд Nextcloud был установлен и открылся на порту 8091 с готовым администратором, без мастера установки. Это заслуга переменных NEXTCLOUD_ADMIN_USER и NEXTCLOUD_ADMIN_PASSWORD. Если с Docker Compose вы ещё не работали — начните со статьи Docker Compose для начинающих.

Настройка Nextcloud: фоновые задачи через cron
Первое, что стоит поменять после установки. По документации Nextcloud, по умолчанию фоновые задачи запускаются через AJAX — только когда кто-то открыл страницу в браузере. Рекомендуемый способ — cron каждые 5 минут. Для Nextcloud в Docker у нас в crontab хоста стоит строка:
*/5 * * * * docker exec -u www-data nextcloud-app php -f /var/www/html/cron.php >/dev/null 2>&1
После этого в настройках администратора, в разделе базовых параметров, выберите режим фоновых задач «Cron». Как работает crontab и как проверить, что задача выполняется, — в статье cron и crontab.
Установка Seafile в Docker: две грабли
Seafile ставится иначе: разработчики дают набор файлов, которые нужно скачать и поправить. По инструкции для Seafile 13 Community Edition это .env с настройками и несколько compose-файлов: сам сервер, веб-сервер Caddy и редактор документов SeaDoc. Для домашнего теста мы оставили только сервер и открыли его на порту 8092.
Грабля первая: файл не по тому адресу. Ссылка на seafile-server.yml из инструкции вернула 404 — файл лежит в подпапке ce/: https://manual.seafile.com/13.0/repo/docker/ce/seafile-server.yml. Если команда wget из инструкции скачала пустоту или страницу с ошибкой — проверьте эту подпапку.
Грабля вторая: имя сервера без порта. В .env мы указали SEAFILE_SERVER_HOSTNAME=localhost:8092. Контейнер запустился, но инициализация упала, а веб-интерфейс отвечал ошибкой 502. В логах:
localhost:8092 is not a valid ip or domain subprocess.CalledProcessError: Command '/opt/seafile/seafile-server-13.0.28/setup-seafile-mysql.sh auto -n seafile' returned non-zero exit status 255.
В этом поле должно быть только имя или IP-адрес, без порта. Исправили — и пришлось начать с чистого листа: удалить контейнеры с томами и папку данных, иначе Seafile пытается продолжить сломанную инициализацию. После этого сервер встал за 12 секунд.

Остальные важные поля .env: пароли базы и администратора (INIT_SEAFILE_ADMIN_EMAIL, INIT_SEAFILE_ADMIN_PASSWORD), JWT_PRIVATE_KEY — длинная случайная строка, и TIME_ZONE. Логин администратора в Seafile — это адрес почты, а не имя.
Как сделать своё облачное хранилище: что ещё учесть
- Бэкапы. Своё облако — не бэкап само по себе: если умрёт диск сервера, умрут и файлы. Нужна отдельная копия данных и базы — как это устроить, в статье резервная копия сайта; принцип для облака тот же.
- Доступ снаружи. Не открывайте порт хранилища в интернет напрямую. Мы заходим в домашнюю сеть через частную сеть, а если нужен доступ по домену — только через HTTPS и обратный прокси, например Nginx Proxy Manager. Не забудьте добавить домен в
NEXTCLOUD_TRUSTED_DOMAINS. - Память. На слабой машине задайте контейнерам лимиты памяти, как в нашем compose-файле, чтобы облако не задушило остальные сервисы.
- Фото. Для фотоархива с поиском по лицам и местам удобнее отдельное приложение — у нас для этого работает Immich, о нём расскажем отдельно.
Что выбрать
- Nextcloud — если нужно не только хранилище, но и календарь, контакты, заметки, совместная работа и тысяча мелочей. Ставится проще, в веб-интерфейсе удобнее.
- Seafile — если нужна именно синхронизация файлов, особенно больших папок, и больше ничего. Установка сложнее, зато лишнего в системе нет.
Источники: Nextcloud: фоновые задачи, образ Nextcloud в Docker Hub, Seafile: установка CE в Docker. Тест — Nextcloud 35.0.1 и Seafile CE 13.0.28 в Docker; дома — Nextcloud 34.0.4. Проверено 5 октября 2026 года.








