Nextcloud – целая платформа(набор программ) для хранения любых данных на собственном NAS. Позволяет полностью избавиться от Гугла и прочих корпораций, которые в той или иной мере используют ваши данные для аналитики, статистики, показа рекламы и прочих неприемлемых, по моему мнению, действий.
Nextcloud AIO – Решение “Все в одном” призвано обеспечить простое развертывание и обслуживание, приятным бонусом будет множество интегрированных функций, которые не требуется ставить отдельно.
Включены:
- Nextcloud
- Nextcloud Office
- High performance backend for Nextcloud Files
- High performance backend for Nextcloud Talk
- Backup solution (основано на BorgBackup)
- ClamAV
Введение
Итак, Вам надоел привычный некстклауд? Вы хотите попробовать что-то новое? Вы разворачиваете новое облако и не хотите тратить время на установку вспомогательных контейнеров? Тогда приступим…
Нам понадобится:
- NAS на unRAID (у меня крайняя версия 6.10.1)
- Белый IP / Личный домен (чтоб облако было доступно из внешних сетей)
- Настроенный Nginx Proxy Manager
Остальное уже интегрировано в мастер-контейнер, а именно:
- NextCloud – Стабильная версия на Apache
- PostgreSQL – ничего настраивать не требуется, все уже внутри.
- Redis – ничего настраивать не требуется, все уже внутри.
Подготовка
В данный раздел будет входить всего один пункт, а именно создание отдельной шары под пользовательские данные будущего облака. Это самый важный шаг и он един для установки любой версии NextCloud на unRAID(начиная с версии 6.10.X)
Создание шары
В WebUI сервера переходим на вкладку SHARES, затем нажимаем кнопку
Нас встречает окно создания шары, произвольно заполняем:
После заполнения имени и комментария(по желанию), подтверждаем действия повторным нажатием кнопки
Остальные настройки для SMB оставляем по умолчанию.
Выставляем права
После создания шары, внутри нее создаем папку, например data
И уже на нее выставим права, я использую WinSCP:
Как писал выше, создание шары и выдача прав – самый важный шаг при разворачивании нового облака на unRAID. Не изменяете права на саму шару, а только на папки внутри них. Идеология unRAID после ребута сбросит права на шары до 99:100 без предупреждения.
- Группа: 33
- Владелец: 33
- Oct: 0770
- Активируем чекбокс “Установить разрешения и для потомков”
Необходимо уделить максимум внимания и проверить выполненные действия дважды, в случае ошибки контейнер не стартанет и придется начать все сначала удалив контейнер и уже созданные разделы.
Установка контейнера NextCloud AIO
Часть 1 (мастер-контейнер)
Воспользуемся уже готовым шаблоном:
Кликаем Install и подготавливаем шаблон перед запуском:
- 8080: порт мастер контейнера, у меня 8089
- APACHE_PORT: порт будущего облака, у меня сток 11000
- NEXTCLOUD_DATADIR: путь созданной шары под пользовательские файлы, например /mnt/user/AIO/data (именно на папку, где меняли права)
После проделанных изменений нажимаем кнопку
Наблюдаем за процессом и дожидаемся заветной фразы The command finished successfully!
После этого нажимаем кнопку
Если все сделано верно, то увидим на вкладке DOCKER созданный контейнер со статусом STARTED
Часть 2 (WebUI NextCloud AIO)
Для дальнейшей настройки необходимо в браузере перейти по ссылке:
https://IP:PORT/
Где, IP – ИП сервера unRAID и PORT – порт мастер контейнера, указанный п. 1
Проходим по ссылке, получаем уведомление о том, что подключение не защищено, через “дополнительные” все таки переходим на сайт:
Перед тем как кликнуть по единственной кнопке копируем временный пароль для входа в WebUI мастер-контейнера. Пароль будет отображен всего один раз, поэтому сразу сохраняем его на локальный ресурс:
Вставляем полученный пароль в форму входа и кликаем LOGIN
После авторизации система предложит нам ввести домен, по которому будет доступно наше облако:
На данном этапе не закрывая страницу идем в unRAID и запустив NPM создаем новый Proxy Host:
Порт используем тот, который указали в APACHE_PORT из п. 1, а также после запроса сертификата не забудьте снова открыть созданный Proxy Host и проверить ползунки как на скриншотах выше.
Более нам NPM не понадобится, возвращаемся в браузер к странице мастер-контейнера и вписываем выделенный субдомен:
Если на данном этапе возникают трудности, но есть уверенность в правильности выполнения действий, то можно пропустить проверку домена. Для этого в мастер-контейнер необходимо добавить переменную SKIP_DOMAIN_VALIDATION с значением true и повторить попытку.
В следующем окне выбираем дополнительные опции, которые хотим установить вместе с облаком и тайм-зону, а также внимательно ознакамливаемся с требованиями по необходимому месту, необходимых портах, объеме ОЗУ для разворачивания всего этого добра.
После ознакомления и выбора обязательно подтверждаем кнопкой Save changes, а также после ввода тайм-зоны Submit.
Для первой установки достаточно выбранных параметров на скриншотах выше, дополнения всегда можно установить или удалить позже, текущая задача запустить минимальный набор.
Убедившись в правильности выбранного кликаем
После запуска (в зависимости от выбора компонентов) начнется загрузка и сам процесс разворачивания, он займет некоторое время, дождитесь следующего окна:
Периодически нажимая Reload, дожидаемся запуска всех контейнеров.
Если все сделано верно, то увидим следующий результат:
В верхней части окна(после запуска всех контейнеров) появится информация для входа под учетной записью администратора.
Запуск
Теперь смело проходим по домену, созданному в NPM и наблюдаем окно авторизации:
Используем для входа данные, полученные ранее:
Как сменить домен?
Открываем терминал unRAID
Вставляем код:
docker run -it --rm --volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config:rw alpine sh -c "apk add --no-cache nano && nano /mnt/docker-aio-config/data/configuration.json"
Редактируем содержимое на свой страх и риск.
Как увеличить upload limit?
По умолчанию загрузка в NextCloud ограничена, максимум 10G.
Вы можете настроить добавив переменную в мастер-контейнер:
NEXTCLOUD_UPLOAD_LIMIT
С значением вида 10G или 15G или ХG на Ваше усмотрение.
Как увеличить max execution time?
По умолчанию установлено значение 3600 с.
Вы можете настроить добавив переменную в мастер-контейнер:
NEXTCLOUD_MAX_TIME
С значением вида 3600 или 7200 на Ваше усмотрение.
Как настроить ограничение памяти PHP ?
По умолчанию установлено значение 512 МБ.
Вы можете настроить добавив переменную в мастер-контейнер:
NEXTCLOUD_MEMORY_LIMIT
С значением вида 512M или 1024M на Ваше усмотрение.
Итог:
У автора данного проекта действительно получилось упростить разворачивание многосоставного продукта. После установки остается только пользоваться созданным личным облаком установив клиенты на ПК и мобильные устройства.
Спасибо за гайд
Спасибо большое 👍👍
Спасибо, очень кстати, только подумал об установке Некста АИО, как сразу в поисковике первой строчкой!
Thank you for creating the best complete guide for Nextcloud
Добрый день! Ребят, подскажите, как изменить права папки на 33? Нет возможности поменять установлено 99 и 100.
такая же проблема. Надеюсь кто-то откликнется
Да очень бы хотелось чтоб с правами разжевали! ибо никакой параметр изменить не дает((
AIO сейчас набирает обороты. Как только с их стороны основная часть будет приведена в порядок, обязательно внесу правки в текущую статью.
Пока по правам есть решение:
Создаём шару в анрейде средствами анрейда. Она получает свои права(анрейдовские 99:100). Их не трогаем никогда. Анрейд все равно их скинет после ребута на свои. Внутри этих шар(для некста apache) делаем папку например Data на нее вешаем 33:33 0770
Эту папку Data и указываем при установке, так права никуда не денутся.
Hi, when i start containers if i enable talk container the other containers doesn’t start, if i disable talk container all containers start correctly, someone knows what can be wrong?
у меня застряло на пункте Nextcloud AIO v4.2.0
No ‘borg’ directory in the given backup directory found!
Only the files/folders below have been found in the given directory.
Please adjust the directory so that the borg archive is positioned in a folder named ‘borg’ inside the given directory!
Есть у кого варианты?
приветствую, спасибо большое за такой подробный мануал, всё получилось! Только единственный вопрос, как разом перекинуть в это облако данные, коих около 1 ТБ? Если я делаю это через winscp, то данные перекидываются, но в облаке не отображаются. Попробовал команду перезагрузки OCC, но пишет, что команда не найдена. Что делать?
Спасибо огромное за мануал! Все поднялось достаточно быстро!
Есть супер крутая штука для фоток и виде называется Phoprism, попробуй. Я использую его в сзяке с PhotoSync. Заменило мне Google Photos на моем iphone и mbp
Как сделать так, чтобы базы и другие компоненты не сохраняли свои данные в docker.img volumes, а в другом месте?
В противном случае docker.img быстро заполнится
/var/lib/docker/volumes# ls -l | grep nextcloud
drwx—–x 1 root root 10 Jan 19 14:36 nextcloud_aio_apache
drwx—–x 1 root root 10 Jan 19 14:26 nextcloud_aio_clamav
drwx—–x 1 root root 10 Jan 19 14:24 nextcloud_aio_database
drwx—–x 1 root root 10 Jan 19 14:24 nextcloud_aio_database_dump
drwx—–x 1 root root 10 Jan 19 14:27 nextcloud_aio_elasticsearch
drwx—–x 1 root root 10 Jan 19 13:37 nextcloud_aio_mastercontainer
drwx—–x 1 root root 10 Jan 19 14:31 nextcloud_aio_nextcloud
drwx—–x 1 root root 10 Jan 19 14:25 nextcloud_aio_redis