Гид по технологиям

Установка Nextcloud на OpenMediaVault NAS (Raspberry Pi)

9 min read Self-hosting Обновлено 25 Dec 2025
Nextcloud на OpenMediaVault: установка на Raspberry Pi
Nextcloud на OpenMediaVault: установка на Raspberry Pi

Как установить Nextcloud на NAS OpenMediaVault

Установите Nextcloud в OpenMediaVault (OMV) на Raspberry Pi через Docker/Portainer: включите SSH, установите OMV-Extras и плагин Compose, разверните MariaDB в стеке Portainer и затем контейнер nextcloud (linuxserver/nextcloud). Перенастройте порт OMV, используйте отдельный том для данных и настройте резервное копирование и безопасность. Этот гид даёт пошаговую инструкцию, рекомендации по безопасности, альтернативы и проверочные сценарии.

Важно: перед началом назначьте статический IP для Raspberry Pi и храните пароли базы данных в надёжном менеджере.

О чём эта инструкция

Здесь описан полный процесс установки Nextcloud поверх OpenMediaVault на Raspberry Pi: подготовка OMV, установка Docker и Portainer, развёртывание MariaDB и Nextcloud, проверка работы и базовые шаги по безопасности. Подойдёт для домашних и небольших офисных сред, где важны контроль данных и приватность.

Ключевые понятия (одно предложение):

  • OpenMediaVault (OMV): дистрибутив для NAS с веб-интерфейсом и плагинами.
  • Nextcloud: платформа для синхронизации и совместной работы с файлами (self-hosted cloud).
  • Portainer: веб-интерфейс для управления Docker-контейнерами.
  • Docker: система контейнеризации приложений.

Почему стоит размещать Nextcloud на OpenMediaVault

  • Полный контроль над данными: вы исключаете сторонние облачные сервисы.
  • Комбинация возможностей OMV (NAS, права доступа, удаляемые диски) и функций Nextcloud (синхронизация, совместная работа, приложения).
  • Гибкость: данные можно хранить на внешнем HDD/SSD через общие папки OMV.
  • Автоматизация резервного копирования: OMV и Docker упрощают создание резервных копий томов.

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

Перед началом — требования и подготовка

  • Устройство: Raspberry Pi (рекомендуется модель 4 или новее) с SSD по возможности.
  • Установлен OMV с доступом по сети и веб-интерфейсом.
  • Статический IP для Raspberry Pi (в настройках роутера или в OMV).
  • Доступ к учётной записи с sudo/root.
  • Внешний диск (рекомендуется) для данных Nextcloud или выделенная папка в OMV.
  • Минимум: 8 ГБ свободного места для образов Docker и данных (реально зависит от объёма).

Примечание: установка на SD-карту возможна, но для стабильности и долговечности рекомендуется SSD/HDD.

Подготовка OpenMediaVault (статический IP)

Назначьте статический IP в интерфейсе OMV или в настройках DHCP вашего роутера. Nextcloud и сопутствующие сервисы требуют постоянного адреса для надёжных подключений и проброса портов.

В OMV: «Сеть» → назначение статического IP для сетевого интерфейса.

Важно: если планируете доступ извне — настройте пересылку портов (port forwarding) на роутере или используйте обратный прокси/туннель.

Шаг 1 — Включите SSH

SSH нужен для удалённого управления и командной установки.

  1. Войдите в веб-интерфейс OMV.
  2. Перейдите в Services → SSH.
  3. Отметьте Permit root login, Password authentication и Public key authentication. Нажмите Save.

Включение SSH в OpenMediaVault

Скриншот интерфейса SSH в OMV.

  1. Нажмите Apply (чек на жёлтой панели) для применения настроек.
  2. Подключитесь по SSH: на Windows используйте PuTTY, на macOS/Linux — Terminal.

Если вы не знаете пароль root, войдите под sudo-пользователем и выполните:

passwd root

Затем переключитесь на root:

su root

Важно: по возможности настройте SSH-ключи и отключите аутентификацию по паролю после первой настройки.

Шаг 2 — Установите OMV-Extras

OMV-Extras расширяет возможности OMV и позволяет установить Compose, Docker и другие плагины.

Подключитесь по SSH и выполните установку OMV-Extras:

wget -O - https://github.com/OpenMediaVault-Plugin-Developers/packages/raw/master/install | bash

После окончания обновите веб-интерфейс OMV и откройте Plugins. Найдите и установите плагин openmediavault-compose (openmediavault-compose x.x.x).

Установка плагина openmediavault-compose

Совет: если страница зависает — попробуйте очистить кеш браузера или повторно авторизоваться.

Шаг 3 — Установка Docker и Portainer через Compose

В OMV после установки плагина появится раздел Compose. Мы будем его использовать для установки Docker/Portainer.

  1. В OMV перейдите в Services → Compose → Settings.
  2. В разделе Compose Files выберите Shared Folder, куда будут сохраняться файлы Compose. Если папка не создана — создайте её через Storage → Shared Folders.
  3. В секции Data выберите Shared Folder для образов/данных. Рекомендуется внешняя HDD/SSD.
  4. При желании укажите Backup-папку.
  5. Нажмите Reinstall Docker → Yes и дождитесь завершения.

Если в процессе возникает потеря соединения — обновите страницу. Когда в статусе появится «Installed and running», подключитесь по SSH и запустите Portainer:

docker run -d -p 8000:8000 -p 9443:9443 --name portainer --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v portainer_data:/data portainer/portainer-ce:latest

Установка Portainer в Docker на OpenMediaVault

Откройте https://:9443 и смените учётные данные администратора Portainer.

Шаг 4 — Создайте базу данных MariaDB

В Portainer: Stacks → Add stack. Вставьте в редактор следующий docker-compose-подобный фрагмент (версия и отступы важны для синтаксиса Portainer):

version: '2'
services:
  db:
    image: mariadb:10.5
    restart: always
    command: --transaction-isolation=READ-COMMITTED --binlog-format=ROW
    volumes:
      - /var/lib/docker/volumes/Nextcloud_Database:/var/lib/mysql
    environment:
      - MYSQL_ROOT_PASSWORD=CHANGE_ME
      - MYSQL_PASSWORD=CHANGE_ME
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

Присвойте стэку имя, например mariadb, измените пароли и имя базы. Нажмите Deploy the stack.

Развёртывание контейнера MariaDB в OpenMediaVault для Nextcloud

Альтернатива: установить MariaDB вручную по SSH и создать базу и пользователя через mysql-client.

Важно: храните пароли вне команд в безопасном месте. Рассмотрите использование переменных окружения или секретов Docker для продакшна.

Шаг 5 — Освободите порт 80 (смените порт OMV)

По умолчанию OMV использует порт 80. Чтобы Nextcloud мог слушать 80, поменяйте порт OMV на 8090 (или другой свободный):

  1. В OMV: System → Workbench.
  2. Измените Port на 8090 и нажмите Save.

Смена порта OMV чтобы освободить порт 80

  1. Нажмите Apply и дождитесь применения.

Теперь OMV доступен по http://:8090.

Примечание: при использовании HTTPS и обратного прокси схема может отличаться — порт 80 можно оставить занятым, если прокси работает на другом хосте.

Шаг 6 — Установка и запуск Nextcloud в Portainer

  1. В Portainer: Volumes → Add Volume. Создайте два тома: nextcloud_config и nextcloud_data.

Создание тома в Portainer для конфигурации Nextcloud

  1. В Portainer: Containers → Add Container.
  2. Установите имя контейнера: Nextcloud.
  3. В поле Image укажите:
linuxserver/nextcloud
  1. В разделе Network ports нажмите +publish a new network port и установите host: 8080, container: 80 (TCP).
  2. В Volumes добавьте два сопоставления:
    • /config → том nextcloud_config
    • /data → том nextcloud_data
  3. В Network выберите host.
  4. В Restart Policy — Unless Stopped.

Развёртывание контейнера Nextcloud в Portainer на OpenMediaVault

Нажмите Deploy the container. Через некоторое время Nextcloud будет доступен.

Откройте в браузере: http:// (если порт 80 занят, используйте http://:8080 в зависимости от настройки).

Первичная настройка через веб-интерфейс Nextcloud

  1. Создайте администратора: укажите имя пользователя и пароль.
  2. Укажите папку данных (по умолчанию /data).
  3. Выберите базу данных: MySQL/MariaDB.
  4. Введите имя базы, пользователя и пароль, которые вы задали в Step 4. В поле Database host укажите имя сервиса MariaDB (например mariadb) — если подключение не проходит, попробуйте указать MariaDB или IP/имя контейнера.
  5. Нажмите Install.

Конфигурация и настройка Nextcloud

После установки войдите и проверьте загрузку/скачивание файлов, создание пользователей и базовые приложения (Contacts, Calendar, Desktop/Phone sync).

Дополнительные шаги: доступ извне, HTTPS и обратный прокси

Чтобы сделать Nextcloud доступным из интернета, используйте один из подходов:

  • Обратный прокси Nginx (на отдельном хосте или в контейнере) и TLS сертификат от Let’s Encrypt.
  • Cloudflare Tunnel (Argo Tunnel) — упрощает проброс без настройки портов роутера.
  • Прямой проброс портов на роутере (port forwarding) — менее безопасен, но простой.

Рекомендуется всегда использовать HTTPS (Let’s Encrypt) и закрыть неиспользуемые порты.

Безопасность и резервное копирование (ключевые рекомендации)

Важно: безопасность — первоочередная задача при self-hosting.

  • Настройте брандмауэр (ufw/iptables) и ограничьте доступ по IP, если возможно.
  • Включите HTTP→HTTPS редирект и используйте TLS с надежными настройками (TLS 1.2+).
  • Регулярно применяйте обновления для OMV, Docker, Portainer и Nextcloud.
  • Включите двухфакторную аутентификацию для пользователей Nextcloud.
  • Делайте автоматические бекапы:
    • Резервный снимок тома nextcloud_data и nextcloud_config.
    • Экспорт дампа базы данных MariaDB (mysqldump) по расписанию.
  • Храните резервные копии вне сервера (удалённый NAS, облако или внешний диск).

Тесты и критерии приёмки

Критерии приёмки установки:

  • Веб-интерфейс Nextcloud доступен по локальному IP и (если настроено) по внешнему домену через HTTPS.
  • Веб-интерфейс показывает успешное подключение к MariaDB.
  • Пользователь может загрузить и скачать файл 100 МБ без ошибок (пример теста).
  • Создание пользователя и синхронизация с клиентом Nextcloud (настольным или мобильным) проходят успешно.
  • Резервное копирование томов и дамп БД создаются по расписанию.

Минимальные тестовые сценарии:

  • Авторизация: вход/выход администратора.
  • Загрузка/скачивание файлов: 1×1 МБ, 10×10 МБ, 1×100 МБ.
  • Совместный доступ к файлу для другого локального пользователя.
  • Восстановление конфигурации из резервной копии (проверка целостности).

Устранение проблем (troubleshooting)

  1. Если Portainer не запускается — проверьте логи Docker: docker logs portainer.
  2. Если Nextcloud не подключается к базе — проверьте имя хоста DB и порты, убедитесь, что контейнер mariadb работает.
  3. Ошибка «Сервис занимает порт 80» — убедитесь, что OMV перенесён на 8090 и что другой сервис не использует 80/443.
  4. Проблемы с правами на /data — проверьте владельца и права на томах, проверьте, что контейнер запускается под правильным пользователем.

Полезные команды (SSH на хосте):

docker ps

docker logs 

docker exec -it  bash

Альтернативные подходы и варианты развертывания

  • Установка Nextcloud напрямую в Raspberry Pi OS (без OMV) с Docker Compose — проще для тех, кто не использует OMV.
  • Nextcloud Snap — быстрый автоконфигуратор, но со своими ограничениями по гибкости и обновлениям.
  • NextcloudPi (образ) — специализированный образ для Raspberry Pi с преднастроенными параметрами.
  • Использовать внешний сервер/VM для базы данных и файлов, если требуется отдельный уровень ресурсов.

Выбор зависит от целей: OMV удобен если вы хотите комбинировать NAS и cloud-функции в одном устройстве.

Чек-листы по ролям

Администратор (установка и конфигурация):

  • Настроить статический IP.
  • Включить SSH и установить OMV-Extras.
  • Установить Docker и Portainer, развернуть MariaDB и Nextcloud.
  • Настроить HTTPS и резервное копирование.

Оператор резервного копирования:

  • Настроить расписание бэкапов томов и дампов базы.
  • Проверять целостность резервных копий еженедельно.
  • Хранить минимум одну копию off-site.

Пользователь:

  • Установить клиент Nextcloud на устройства.
  • Включить 2FA, использовать сильный пароль.
  • Соблюдать правила совместного доступа и квоты.

Факты и ключевые числа

  • Порты: OMV по умолчанию 80 → рекомендуется сменить на 8090; Portainer: 9443 (HTTPS), 8000 (Edge); Nextcloud: 80/443 (в контейнере).
  • Образы: mariadb:10.5, linuxserver/nextcloud.
  • Рекомендуемая модель Pi: Raspberry Pi 4 или новее для стабильной работы.

Безопасность и GDPR-заметки

  • Если вы храните персональные данные граждан ЕС — обеспечьте соответствие требованиям GDPR: ограничьте доступ, документируйте политики хранения и удаления данных, используйте шифрование при передаче и (по возможности) шифрование at-rest.
  • Логи доступа и резервные копии также считаются персональными данными — контролируйте их хранение и доступ.

Важно: при предоставлении внешнего доступа настройте ограничение по IP, WAF или туннель через Cloudflare для снижения риска атак.

Когда такой подход не сработает

  • Если требуется высокая доступность (HA) и автоматический failover — Raspberry Pi/OMV на одном хосте не обеспечит требуемый уровень.
  • Большие организации с высокими SLA лучше перенести Nextcloud в кластер или облачный провайдер с репликацией и балансировкой.

Контроль версии и миграция

  • Перед обновлением Nextcloud и контейнеров делайте полные бэкапы конфигурации и данных.
  • Тестируйте обновления в копии окружения, если это возможно.

Сводка и следующие шаги

Установка Nextcloud на OpenMediaVault даёт удобную комбинацию NAS и self-hosted облака. Ключевые шаги: включение SSH, установка OMV-Extras и Compose, развёртывание MariaDB и Nextcloud через Portainer, настройка портов и резервного копирования. После базовой установки настройте HTTPS, бэкапы и двухфакторную аутентификацию. При необходимости рассмотрите альтернативы (NextcloudPi, Snap) или более масштабируемые решения для корпоративных сценариев.

Завершение: тестируйте сценарии загрузки/скачивания, регулярные бэкапы и обновления. Документируйте пароли и операции восстановления — это сократит время на восстановление в случае инцидента.

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

Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

Похожие материалы

Устранение задержки курсора в Windows 11 и 10
Windows

Устранение задержки курсора в Windows 11 и 10

Как изменить размер изображения в Windows
Windows

Как изменить размер изображения в Windows

Защитить PDF паролем — инструкции и инструменты
PDF Безопасность

Защитить PDF паролем — инструкции и инструменты

Графики в Python: Matplotlib, NumPy, SymPy, Seaborn
Data Visualization

Графики в Python: Matplotlib, NumPy, SymPy, Seaborn

Фильтрация сообщений на iPhone — быстро и просто
Инструкции

Фильтрация сообщений на iPhone — быстро и просто

Восстановление старых семейных фото в Luminar Neo
Фото

Восстановление старых семейных фото в Luminar Neo