Nextcloud — self-hosted платформа для хранения файлов, календарей и контактов, которую можно развернуть на собственном VDS как альтернативу облачным сервисам вроде Google Drive. Все данные остаются на сервере, который арендует и администрирует сам владелец, а не третья компания.
Зачем держать Nextcloud на своём VDS
Главная причина переноса файлового облака на свой сервер — контроль над тем, где физически лежат данные, и отсутствие ограничений объёма хранилища сторонним тарифом. Доступный объём диска ограничен только диском самого VDS, а не планом подписки.
Nextcloud подходит для команды или семьи, которой нужны общие файлы, календарь и контакты в одном месте. Для одного пользователя, которому достаточно синхронизации пары папок, разворачивать отдельный сервер избыточно — проще обойтись готовым облачным сервисом.
Что нужно на сервере для Nextcloud
Nextcloud разворачивается через Docker — сама установка Docker на VDS описана в статье про настройку Docker на VPS. Стандартный набор из контейнеров веб-сервера, PHP и базы данных поднимается одной командой Docker Compose.
По памяти на несколько активных пользователей с включёнными приложениями календаря и заметок комфортно работать от 2 до 4 ГБ. Диск зависит только от объёма файлов, которые будут храниться, и его нужно считать отдельно под конкретную задачу.
Сравнение Nextcloud с облачными хранилищами
По базовым функциям хранения файлов разница между Nextcloud и готовым облаком небольшая, но есть в том, кто отвечает за инфраструктуру.
| Параметр | Облачный сервис | Nextcloud на своём VDS |
|---|---|---|
| Где хранятся данные | на серверах провайдера облака | на собственном сервере |
| Лимит объёма хранилища | зависит от тарифа провайдера | зависит от диска VDS |
| Обновления и резервные копии | делает провайдер | делает администратор сервера |
| Приложения (календарь, заметки, чат) | отдельные сервисы | модули внутри одной системы |
Установка и настройка домена
Файлы и настройки Nextcloud описываются в одном docker-compose.yml вместе с контейнером базы данных.
# Запуск Nextcloud и MariaDB через Docker Compose
docker compose up -d
# По умолчанию Nextcloud слушает порт 80, домен подключается через reverse proxy
После запуска контейнеров остаётся подключить домен и выпустить SSL-сертификат, чтобы открывать Nextcloud по HTTPS на порту 443 — как это сделать через Nginx и Certbot, описано в статье про установку SSL на Nginx.
Что делать, если Nextcloud работает медленно или не открывается
Большинство проблем с производительностью и доступностью сводится к нескольким проверкам.
- Проверить системный журнал PHP — лимиты
upload_max_filesize(по умолчанию 2 MB) иpost_max_size(по умолчанию 8 MB) часто нужно поднять вручную для загрузки крупных файлов. - Убедиться, что фоновые задания запускаются системным cron каждые 5 минут, а не через веб-крон, который работает только при открытой странице.
- Проверить свободное место на диске — Nextcloud перестаёт принимать новые файлы, когда диск заполнен почти полностью.
- Посмотреть журнал приложения в разделе «Администрирование» — там видны ошибки конкретных модулей.
- Настроить резервное копирование данных во внешнее хранилище — как подключить его через rclone, описано в статье про резервные копии VPS в облачные хранилища.
Частые вопросы
Нужен ли отдельный сервер только для Nextcloud?
Нет, Nextcloud можно разместить на том же VDS, где уже работают другие контейнеры, если ресурсов сервера достаточно и порты не конфликтуют с другими сервисами.
Что произойдёт с файлами, если VDS выйдет из строя?
Без отдельного резервного копирования файлы будут потеряны вместе с диском сервера — именно поэтому резервную копию стоит хранить не на том же VDS, а в отдельном хранилище.
Можно ли подключить к Nextcloud мобильные приложения?
Да, у Nextcloud есть официальные приложения для синхронизации файлов, календаря и контактов, которые подключаются к серверу по тому же адресу, что и веб-интерфейс.