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

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

9 min read NAS Обновлено 19 Apr 2026
Nextcloud на OpenMediaVault: установка на Raspberry Pi
Nextcloud на OpenMediaVault: установка на Raspberry Pi

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

Зачем размещать Nextcloud на OpenMediaVault

Nextcloud — это система для синхронизации и совместной работы с файлами. OpenMediaVault (OMV) — удобная система управления NAS. Вместе они дают:

  • Полный контроль над данными и приватностью.
  • Централизованное хранилище для USB-дисков и сетевых томов.
  • Пользовательские права на уровне OMV и детальные права в Nextcloud.
  • Возможность автоматических резервных копий и хранения данных на внешнем HDD или SSD.

Важно: для стабильной работы при высокой нагрузке рекомендуется запускать Raspberry Pi с SSD, а не с microSD.

Кому это подходит и когда не подходит

Подходит:

  • Домашним пользователям, которые хотят приватное облако.
  • Малому офису, которым важен контроль над файлами.
  • Энтузиастам, желающим изучить Docker и контейнеризацию.

Не подходит:

  • Если вам нужна SLA-уровня корпоративного облака (без резервов по питанию и сетевой инфраструктуры).
  • Для сценариев с сотнями одновременных пользователей на Raspberry Pi старых моделей.

Краткий обзор архитектуры

Минимальная архитектура в руководстве:

  • Raspberry Pi с OMV как хост ОС.
  • Docker и Portainer для управления контейнерами.
  • MariaDB в Docker (стек или контейнер).
  • Контейнер Nextcloud (linuxserver/nextcloud) с томами для /config и /data.
  • Рекомендуется внешний диск для данных Nextcloud.

Ниже — детальная инструкция и дополнительные разделы: безопасность, резервное копирование, варианты развертывания и проверочные сценарии.

Подготовка OpenMediaVault

Перед началом назначьте статический IP для OMV. Это важно: Nextcloud и проброс портов требуют постоянного адреса.

Примеры статического адреса в локальной сети: 192.168.1.50 или 10.0.0.20.


Шаг 1: Включение SSH

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

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

  1. Нажмите Apply (жёлтая кнопка с галочкой).
  2. Подключитесь по SSH (PuTTY на Windows или Terminal на macOS/Linux). Если вы не знаете пароль root, войдите под sudo‑пользователем и выполните:
passwd root
  1. Затем выполните:
su root

и вы окажетесь под root.

Важно: при работе под root будьте внимательны — ошибки могут повредить систему.


Шаг 2: Установка OMV-Extras

Подключившись по SSH, выполните установку дополнительных плагинов:

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

После успешной установки обновите веб-интерфейс OMV и откройте раздел Plugins. Найдите и установите плагин openmediavault-compose.

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

Этот плагин позволит удобно располагать docker-compose файлы в OMV.


Шаг 3: Установка Docker и Portainer

  1. В разделе Services появится пункт Compose. Перейдите в Compose > Settings.
  2. В Compose Files выберите Shared Folder, где будут храниться compose-файлы. Если папки нет, создайте через Storage > Shared Folders.
  3. В секции Data укажите Shared Folder для данных docker (рекомендуется внешний HDD).Настройка Docker и Portainer в OpenMediaVault
  4. При желании укажите папку Backup.
  5. Нажмите Reinstall Docker и подтвердите.

При установке возможно кратковременное прерывание соединения — обновите страницу.

Когда статус будет “Installed and running”, установите Portainer через SSH:

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

Откройте https://IP_адрес_прибора:9443 и задайте учётные данные.


Шаг 4: Создание базы данных MariaDB

В Portainer: Stacks > Add stack и вставьте следующий docker-compose код. Пример упрощён для быстрого старта; обязательно смените пароли.

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=Ваш_Надёжный_Пароль
      - MYSQL_PASSWORD=Пароль_Для_Nextcloud
      - MYSQL_DATABASE=nextcloud
      - MYSQL_USER=nextcloud

Дайте стэку имя, например mariadb, и нажмите Deploy the stack.

Развертывание MariaDB для Nextcloud

Альтернатива: установить MariaDB вручную через apt/OMV, создать базу и пользователя.


Шаг 5: Освобождение порта 80 для Nextcloud

По умолчанию OMV слушает порт 80. Рекомендуется изменить порт OMV, чтобы Nextcloud мог использовать порт 80.

  1. В OMV перейдите System > Workbench.
  2. Измените Port на 8090 и нажмите Save.

Смена порта по умолчанию в OpenMediaVault

  1. Нажмите Apply.

Теперь OMV доступен по http://IP_адрес_прибора:8090, а порт 80 свободен.


Шаг 6: Установка и настройка Nextcloud

  1. В Portainer перейдите Volumes > Add volume. Создайте тома nextcloud_config и nextcloud_data.

Создание тома в Portainer

  1. Containers > Add container.
  2. Назовите контейнер Nextcloud и укажите Image: linuxserver/nextcloud.
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

  1. Нажмите Deploy the container.
  2. Откройте http://IP_адрес_прибора (или http://IP:8080 в зависимости от конфигурации) и завершите веб‑установку.

При установке укажите:

  • Администраторский логин и пароль.
  • Путь для данных: /data
  • БД: MySQL/MariaDB
  • Данные подключения к MariaDB: имя базы, имя пользователя и пароль, которые вы задали ранее.

Если возникнет ошибка соединения, попробуйте указать Database host как mariadb (название сервиса из stack) или IP адрес контейнера MariaDB.

Настройка Nextcloud


Настройка доступа извне и SSL

Варианты безопасного доступа извне:

  • Nginx как обратный прокси с Let’s Encrypt для SSL.
  • Cloudflare Tunnel (ранее Argo Tunnel) — удобен для пользователей без публичного IP.
  • Port forwarding на роутере (не рекомендуется без дополнительной защиты).

Пример: использование контейнера nginx-proxy и companion для автоматического получения сертификатов через Let’s Encrypt (docker-compose-пример):

version: '3'
services:
  nginx-proxy:
    image: jwilder/nginx-proxy
    ports:
      - 80:80
      - 443:443
    volumes:
      - /var/run/docker.sock:/tmp/docker.sock:ro
      - ./certs:/etc/nginx/certs:ro
  letsencrypt:
    image: jrcs/letsencrypt-nginx-proxy-companion
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock:ro
      - ./certs:/etc/nginx/certs

Затем укажите переменные окружения для Nextcloud контейнера: VIRTUAL_HOST=example.com, LETSENCRYPT_HOST=example.com и LETSENCRYPT_EMAIL=you@example.com.

Важно: перед публикацией сервера включите двухфакторную аутентификацию и сильные пароли.


Рекомендации по безопасности

  • Обновляйте OMV, Docker, Portainer и Nextcloud регулярно.
  • Используйте сложные пароли и SSH-ключи. Отключите вход по паролю, когда настроены ключи.
  • Включите двухфакторную аутентификацию в Nextcloud.
  • Отключите неиспользуемые сервисы OMV.
  • Настройте брандмауэр и проброс портов только при необходимости.
  • Используйте резервные копии томов /data и базы данных.

Important: Доступ в интернет без защищённого канала (HTTPS) делает ваши данные уязвимыми.


Резервное копирование и восстановление

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

  1. Резерв базы данных (MariaDB): регулярный дамп с помощью mysqldump или штатного резервного решения.
  2. Резерв файлов Nextcloud: копирование тома nextcloud_data (rsync, BorgBackup, rclone).
  3. Конфигурация: бекап nextcloud_config и файловых настроек OMV.
  4. План восстановления: тестовое восстановление на отдельном хосте.

Пример cron-скрипта для дампа MariaDB:

#!/bin/bash
DATE=$(date +%F)
mkdir -p /backups/db/$DATE
docker exec mariadb_container_name /usr/bin/mysqldump -u root -p"$MYSQL_ROOT_PASSWORD" nextcloud > /backups/db/$DATE/nextcloud.sql

Прогоняйте восстановление раз в квартал, чтобы убедиться в работоспособности бэкапов.


Производительность и подбор оборудования

Советы для Raspberry Pi:

  • Используйте Raspberry Pi 4 или новее с 4–8 ГБ ОЗУ.
  • Храните данные на SSD, подключенном по USB 3.0.
  • Для большого количества пользователей используйте более мощный хост.
  • Ограничьте количество сторонних приложений Nextcloud (плагины могут потреблять ресурсы).

Модель скорости: Raspberry Pi хорош для персонального использования и небольшой команды до 10–20 активных пользователей.


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

  1. Прямая установка Nextcloud на Raspberry Pi OS (без Docker). Подходит, если вы хотите минимизировать уровень абстракции.
  2. Использование сборки NextcloudPi (специальный образ для Raspberry Pi) — простая настройка, но меньше гибкости при обновлениях контейнеров.
  3. Snap-пакет Nextcloud на Ubuntu Server — удобно для тех, кто привык к snap.
  4. Nextcloud AIO (All-in-One) — удобный контейнер-стек для быстрой установки, но требует места и ресурсов.

Каждый вариант имеет компромиссы между простотой, гибкостью и обновляемостью.


Отладка и типичные ошибки

Проблемы и быстрые решения:

  • Ошибка подключения к БД: проверьте имя хоста БД, порт и учётные данные. Попробуйте указать mariadb или IP контейнера.
  • Порт 80 занят: измените порт OMV или используйте другой хост-порт для Nextcloud и настройте reverse proxy.
  • Проблемы с правами на файлы: проверьте владельца и права в /data и /config томах; контейнер linuxserver обычно использует PUID/PGID в переменных окружения.
  • Низкая производительность: проверьте журнал Docker, нагрузку CPU/RAM и работу диска.

Диагностика журналов:

docker logs --tail 200 nextcloud
docker logs --tail 200 mariadb
journalctl -u docker.service

Чеклист перед вводом в эксплуатацию

Администратору:

  • Статический IP назначен
  • SSH настроен, ключи установлены
  • Docker и Portainer установлены
  • MariaDB развернута и тестирована
  • Nextcloud контейнер развернут и работает
  • HTTPS настроен (Let’s Encrypt или Tunnel)
  • Политика резервного копирования настроена
  • Двухфакторная аутентификация включена
  • Логи мониторятся

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

  • Учётная запись создана
  • Клиент Nextcloud установлен на ПК/смартфоне
  • Тестовая синхронизация выполнена

Процедура обновления (SOP)

  1. Создайте резервную копию базы и данных.
  2. Остановите контейнер Nextcloud: docker stop nextcloud
  3. Обновите образ: docker pull linuxserver/nextcloud
  4. Запустите контейнер: docker start nextcloud
  5. Проверьте логи и работоспособность в веб-интерфейсе.
  6. Обновите MariaDB при необходимости по отдельной процедуре.

Критерии приёмки:

  • Nextcloud доступен по HTTPS.
  • Файлы синхронизируются с клиентом.
  • Пользователь может войти и загрузить/скачать файл.
  • Резервная копия успешно восстановлена в тестовой среде.

Тесты и сценарии приёмки

  1. Создать файл в веб-интерфейсе, загрузить через клиент и проверить целостность.
  2. Отключить питание сервера и затем восстановить из резервной копии.
  3. Проверить вход под разными пользователями и права доступа.
  4. Смоделировать проблему БД и убедиться в процедуре восстановления дампа.

Короткая галерея крайних случаев

  • Если база повреждена, используйте последний дамп и журнал binlog (если настроен).
  • При нехватке диска — перенесите /data на другой диск с помощью rsync и обновите mapping тома.
  • Если публичный IP динамический — используйте DDNS или Cloudflare Tunnel.

Однострочный глоссарий

  • OMV: OpenMediaVault — система управления NAS.
  • Nextcloud: решение для приватного облака и синхронизации файлов.
  • Portainer: веб‑интерфейс для управления Docker.
  • MariaDB: форк MySQL, реляционная СУБД.
  • Docker volume: персистентный том для контейнера.

Локальные рекомендации и подводные камни

  • Для пользователей в домашних сетях: проверьте ограничения вашего интернет-провайдера на порт 80/443 и правила NAT.
  • На устройствах с малой мощностью избегайте больших индексаций и сторонних приложений Nextcloud.
  • При использовании внешних USB-дисков следите за надежностью питания диска и подключением к Pi.

Итог и выводы

Развёртывание Nextcloud на OpenMediaVault позволяет получить гибкое, приватное облако под управлением пользователя. Сочетание OMV и Docker упрощает управление томами и контейнерами. Ключевые шаги: включение SSH, установка OMV-Extras, Docker и Portainer, запуск MariaDB и Nextcloud, установка SSL и организация резервного копирования. Соблюдайте процедуры обновления и безопасности.

Краткие рекомендации:

  • Держите систему в курсе обновлений.
  • Делайте регулярные резервные копии.
  • Настройте HTTPS и двухфакторную аутентификацию.

Спасибо за внимание — с этим набором шагов вы получите работающее и безопасное персональное облако на базе Raspberry Pi и OpenMediaVault.

Краткое резюме

  • Самостоятельный хостинг даёт контроль над данными.
  • Docker + Portainer упрощает развёртывание Nextcloud.
  • Резервирование и безопасность — обязательны.
Поделиться: X/Twitter Facebook LinkedIn Telegram
Автор
Редакция

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

Создание темы для CyanogenMod с ThemeDIY
Android.

Создание темы для CyanogenMod с ThemeDIY

Kdenlive: настройка проекта для вертикального видео
Видеоредакторы

Kdenlive: настройка проекта для вертикального видео

Скачать видео с YouTube для офлайн‑просмотра
Руководство

Скачать видео с YouTube для офлайн‑просмотра

Как изменить папку загрузок в браузере
Браузеры

Как изменить папку загрузок в браузере

Как Дарвин использовал бы Microsoft OneNote
Продуктивность

Как Дарвин использовал бы Microsoft OneNote

Как писать точные промпты для Midjourney
Дизайн

Как писать точные промпты для Midjourney