Установка NextCloud AIO
Nextcloud AIO (All-In-One): Обзор и Отличия от Других Версий Nextcloud
Что такое Nextcloud?
Nextcloud — это открытое программное обеспечение для облачного хранения и синхронизации данных, обеспечивающее возможность локального размещения серверов. Оно позволяет организациям и частным пользователям развернуть собственное облако для хранения файлов, обмена данными, совместной работы, предоставляя контроль над информацией и её безопасностью.
Что такое Nextcloud AIO?
Nextcloud AIO (All-In-One) — это версия Nextcloud, разработанная для упрощения установки и администрирования. В отличие от стандартного способа установки, где нужно настроить веб-сервер, базу данных и другие службы вручную, Nextcloud AIO предоставляет преднастроенные Docker-контейнеры для всех компонентов, необходимых для работы Nextcloud. Это делает процесс установки и обновления простым и быстрым.
Как работает Nextcloud AIO?
Nextcloud AIO использует Docker Compose для автоматической развертки всех компонентов, требующихся для полноценного функционирования сервера Nextcloud. Внутри AIO используются контейнеры, такие как:
- Nextcloud — основной контейнер с приложением;
 - Redis — для кэширования;
 - MariaDB или PostgreSQL — база данных;
 - Collabora или OnlyOffice — для работы с документами;
 - Webserver (Nginx или Apache) — для предоставления доступа к интерфейсу.
 
Контейнерная структура позволяет изолировать каждый компонент, упрощает управление зависимостями и повышает безопасность, а также позволяет легко обновлять компоненты Nextcloud, так как каждый из них поддерживается разработчиками AIO.
Отличия Nextcloud AIO от других версий Nextcloud
- Простота установки:
- Nextcloud AIO разработан для того, чтобы минимизировать технические барьеры при установке, требуя лишь установку Docker и Docker Compose. Для пользователей, не знакомых с настройкой серверов, это существенно упрощает процесс, так как сводит его к запуску одной команды.
 - В стандартной версии Nextcloud пользователю нужно отдельно настраивать сервер, базу данных и другие сервисы, что требует времени и знаний.
 
 - Обновления и поддержка:
- Nextcloud AIO включает автоматизированные обновления, которые применяются ко всем контейнерам. Это значит, что после развертывания сервера администратор может легко обновить Nextcloud и его компоненты, не опасаясь нарушений совместимости.
 - При обычной установке Nextcloud обновления зависят от конкретного сервера, конфигурации и требуют больше усилий для обеспечения совместимости всех компонентов.
 
 - Изоляция компонентов:
- Благодаря использованию контейнеров, Nextcloud AIO обеспечивает изоляцию сервисов, что упрощает управление зависимостями и повышает безопасность. Например, если один из контейнеров выйдет из строя, это не повлияет на работу других компонентов.
 - При стандартной установке все компоненты работают в едином окружении, и сбой одного сервиса может затронуть весь сервер.
 
 - Поддержка дополнительных функций:
- Nextcloud AIO изначально включает опции для интеграции с Collabora или OnlyOffice, что позволяет пользователям редактировать документы прямо в облаке.
 - В обычной версии Nextcloud такие интеграции требуют дополнительных настроек и установок.
 
 - Гибкость настройки:
- Хотя Nextcloud AIO делает процесс установки проще, это решение подходит не для всех, так как контейнерная структура ограничивает возможности для индивидуальной настройки. Если организация требует нестандартной конфигурации, например, с использованием специфических баз данных или настроек веб-сервера, лучше выбрать стандартную установку Nextcloud.
 - Стандартная версия Nextcloud, напротив, позволяет более гибко настраивать каждый компонент, но это потребует от администратора дополнительных знаний.
 
 
Когда лучше использовать Nextcloud AIO?
Nextcloud AIO будет отличным выбором для малых и средних организаций, а также для домашних пользователей, которые хотят быстро развернуть Nextcloud, не углубляясь в сложные настройки. Этот вариант также подходит, если:
- Требуется развертывание сервера в короткие сроки;
 - Отсутствует необходимость в глубокой кастомизации;
 - Администратор предпочитает минимизировать количество обновлений и технического обслуживания.
 
Установка:
И так, все готово для установки. У нас подготовлен сервер с RockyLinux с установленным Docker. Я почитал документацию к Nextcloud aio и принял решение немного переписать запуск установки и сделать файл docker0composer.yml. У меня получился вот такой:
# version: '3.8'
volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer
services:
  nextcloud:
    image: nextcloud/all-in-one:latest
    restart: unless-stopped
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    ports:
      - 8080:8080 # change the port on the left side if it's already in use on your host system.
    environment:
      - APACHE_PORT=11000  # change this port number if 11000 is already in use on your host system.
      - APACHE_DISABLE_REWRITE_IP=1
      - NEXTCLOUD_TRUSTED_DOMAINS=cloud.pupkin.ru 192.168.1.130 # Your domain name + proxy host IP
      - TRUSTED_PROXIES=192.168.1.130 # proxy host IP
      - NEXTCLOUD_DATADIR=/home/mike/nextcloud_data
      - NEXTCLOUD_UPLOAD_LIMIT=100G
      - NEXTCLOUD_MAX_TIME=3600
      - NEXTCLOUD_MEMORY_LIMIT=2500M
Немного поясню:
# version: ‘3.8’ закоментирован, так как новая версия docker при сборке его отключила
На всякий случай, я указал каталог в котором NextCloud будет помещать данные NEXTCLOUD_DATADIR=/home/mike/nextcloud_data
Далее я указываю ip Nginx Proxy Manager – мы ранее его устанавливали
Лимит загрузки файла в 100 Гб
Остальные параметры нужны для нормальной работы NextCloud
Переходим на пользователя Mike. Ранее мы его создавали и теперь будем работать от его имени, создаем в его домашнем каталоге, еще один каталог и называем его NectCloud.
Создаем файл docker-composer.yml и вставляем содержимое. Запускаем установку:
docker compose up -d && docker composer log -f
Установка будет идти довольно долго. Открываем броузер и набираем ip адрес нашего сервера и порт 8080

Сохраните пароль. Он потом может вам пригодиться. Далее появится страница, где вы пропишете url вашего сервера. Например cloud.pupkin.ru
Далее подключим домен к Nginx Proxy Manager

Выпустим сертификат:

Во вкладке Advansed вставим:
client_body_buffer_size 512k; proxy_read_timeout 86400s; client_max_body_size 0;
И должны получить следующее:

Выберите приложения которые вам необходимо установить. Я выбрал все. И начните установку.
После того, как все сервисы станут зелеными, перейдите по вашему url и введите admin и пароль, который я просил вас сохранить. Далее он вам так же пригодится.
Заключение
Nextcloud AIO — это удобное решение для тех, кто хочет максимально просто развернуть Nextcloud и обеспечить надежное хранение данных. За счёт контейнерной структуры AIO предоставляет все основные возможности Nextcloud, включая редактирование документов и интеграцию с популярными офисными приложениями, при этом требуя минимальных усилий для администрирования и обновлений.

