Перейти к содержимому

Nextcloud на облачном сервере: своё облачное хранилище

Облачные серверы6 мин чтения

Как установить Nextcloud на облачный сервер VDS с Ubuntu 26.04 через Nextcloud All-in-One: домен и HTTPS, первый вход, программы для компьютера и телефона, хранение файлов и резервные копии.

Содержание

Nextcloud — программа для собственного облачного хранилища. Файлы синхронизируются между компьютерами и телефонами, ими можно делиться по ссылке, а в браузере доступны календарь, контакты и совместная работа с документами. Все данные при этом хранятся на вашем сервере, а не у стороннего сервиса.

Устанавливать Nextcloud мы рекомендуем с помощью Nextcloud All-in-One (AIO): разработчики называют его официальным способом установки. AIO запускает в контейнерах Docker саму Nextcloud, базу данных PostgreSQL, Redis и веб-сервер, автоматически получает сертификат Let's Encrypt, а обновлять систему и создавать резервные копии позволяет из веб-интерфейса.

Вход на сервер выполняется под учётной записью root по паролю или SSH-ключу (см. статью Как подключиться к серверу по SSH). Команды ниже приведены для root, поэтому sudo в них не указан. Примеры даны для Ubuntu 26.04.

Что понадобится

  • Облачный сервер с Ubuntu 26.04. Эта версия входит в число систем, рекомендованных разработчиками Nextcloud. AIO использует собственный веб-сервер и занимает порты 80 и 443, поэтому устанавливайте его на сервер, где не работают nginx или Apache.
  • Достаточный объём памяти. Разработчики AIO не называют минимального объёма. Сама Nextcloud рекомендует не менее 512 МБ на каждый процесс PHP, а рядом с ней работают PostgreSQL, Redis и веб-сервер, поэтому мы советуем начинать с 4 ГБ. Nextcloud Office, Talk и антивирус ClamAV увеличивают расход памяти; добавить её можно на вкладке «Ресурсы» страницы сервера.
  • Домен или поддомен, например cloud.example.ru. Создайте для него A-запись с IP-адресом сервера. Без домена AIO не установит Nextcloud: работа по IP-адресу не поддерживается, а сертификат выдаётся на доменное имя.
  • Docker с плагином Compose. Порядок установки описан в статье о Docker. Docker из snap-пакета AIO не поддерживает: команда docker info | grep "Docker Root Dir" должна показывать папку /var/lib/docker, а не /var/snap/docker.

Где хранить файлы

По умолчанию файлы пользователей хранятся в томе Docker на системном диске, в папке /var/lib/docker/volumes/nextcloud_aio_nextcloud_data/_data/. Для большого хранилища удобнее дополнительный диск: его объём выбирается под ваши данные, а при переустановке системы он сохраняется вместе с содержимым.

Чтобы хранить файлы на дополнительном диске, подключите его на вкладке «Ресурсы», смонтируйте, например, в папку /mnt/data и создайте на нём папку для Nextcloud:

mkdir -p /mnt/data/nextcloud

Путь к этой папке задаётся переменной NEXTCLOUD_DATADIR в файле из следующего раздела.

Важно Место хранения выбирают до установки. После того как Nextcloud установлена, значение NEXTCLOUD_DATADIR менять нельзя.

Установка Nextcloud All-in-One

Создайте папку для настроек AIO и перейдите в неё:

mkdir -p /opt/nextcloud-aio
cd /opt/nextcloud-aio

Создайте в ней файл compose.yaml (например, командой nano compose.yaml) со следующим содержимым. Это сокращённый вариант официального файла из репозитория Nextcloud All-in-One:

name: nextcloud-aio
services:
  nextcloud-aio-mastercontainer:
    image: ghcr.io/nextcloud-releases/all-in-one:latest
    init: true
    restart: always
    container_name: nextcloud-aio-mastercontainer
    volumes:
      - nextcloud_aio_mastercontainer:/mnt/docker-aio-config
      - /var/run/docker.sock:/var/run/docker.sock:ro
    network_mode: bridge
    ports:
      - "80:80"
      - "8080:8080"
      - "8443:8443"
    environment:
      NEXTCLOUD_DATADIR: /mnt/data/nextcloud
volumes:
  nextcloud_aio_mastercontainer:
    name: nextcloud_aio_mastercontainer

Если файлы будут храниться на системном диске, удалите строки environment: и NEXTCLOUD_DATADIR. Имя контейнера и имя тома менять нельзя: на них рассчитаны обновление и встроенное резервное копирование. Запустите AIO:

docker compose up -d

Эта команда запускает только управляющий контейнер. Остальные компоненты он загрузит и запустит после настройки в веб-интерфейсе.

Порты

AIO принимает подключения на следующих портах:

443, TCP и UDPNextcloud; UDP нужен только для HTTP/3
80получение сертификата Let's Encrypt и переадресация на Nextcloud
8080интерфейс AIO с самоподписанным сертификатом
8443интерфейс AIO с действительным сертификатом, по доменному имени
3478, TCP и UDPсервер TURN для звонков в Nextcloud Talk, если вы его включите

Межсетевой экран ufw в образе выключен, поэтому дополнительно открывать порты не нужно. Учтите, что правила ufw не действуют на порты, опубликованные Docker: такие подключения обрабатываются до проверки правил ufw, то есть закрыть эти порты с помощью ufw не получится.

Настройка в интерфейсе AIO

Интерфейс AIO на английском языке, поэтому названия кнопок приведены без перевода.

  1. Откройте в браузере https://203.0.113.10:8080, указав IP-адрес своего сервера. Разработчики AIO просят открывать этот порт именно по IP-адресу: если обращаться к нему по домену, позже доступ может заблокировать механизм HSTS. Браузер предупредит о самоподписанном сертификате; это ожидаемо, подтвердите переход.
  2. На странице будет показан пароль для входа в интерфейс AIO (passphrase). Сохраните его в надёжном месте, нажмите Open Nextcloud AIO login и войдите с этим паролем.
  3. Введите домен, например cloud.example.ru, и нажмите Submit domain. AIO проверит, что домен указывает на ваш сервер, а порт 443 доступен из интернета.
  4. Отметьте нужные дополнительные компоненты: Nextcloud Office для работы с документами в браузере, Nextcloud Talk для чатов и видеозвонков, антивирус ClamAV и другие.
  5. Нажмите Download and start containers и дождитесь, пока все контейнеры запустятся. После этого появится кнопка Open your Nextcloud.

Первый вход в Nextcloud

Начальные имя и пароль администратора показаны в интерфейсе AIO: раскройте пункт Click here to reveal the initial Nextcloud credentials. Имя администратора — admin. Откройте https://cloud.example.ru и войдите с этими данными.

Сразу смените начальный пароль администратора в личных настройках. Для себя и других людей создайте отдельные учётные записи с обычными правами, а учётную запись администратора используйте только для управления Nextcloud.

Программы для компьютера и телефона

Для синхронизации файлов с компьютером установите программу Nextcloud Files. Она выпускается для Windows 10 и новее, macOS и Linux (в формате AppImage) и загружается с сайта nextcloud.com, раздел Install. Мобильное приложение Nextcloud для Android доступно в Google Play и F-Droid, для iPhone и iPad — в App Store. Для чатов и звонков есть отдельное приложение Nextcloud Talk.

При первом запуске укажите адрес https://cloud.example.ru и войдите под своей учётной записью. Программа для компьютера создаёт папку, содержимое которой синхронизируется с сервером, а мобильное приложение умеет автоматически отправлять в облако снятые фотографии и видео.

Резервные копии

В AIO встроено резервное копирование на основе BorgBackup. Копии создаются инкрементно, сжимаются и шифруются, а восстановить из копии можно всю установку: базу данных, файлы пользователей и настройки.

  1. Подготовьте папку для копий, например /mnt/backup. Разместите её на другом диске, чем файлы Nextcloud: копия на том же диске не спасёт данные при его повреждении.
  2. В разделе резервного копирования интерфейса AIO укажите путь к папке и нажмите Create backup. На время создания копии контейнеры Nextcloud останавливаются.
  3. Сохраните пароль шифрования, который покажет интерфейс: без него восстановить установку из копии невозможно.
  4. После первой копии включите ежедневное создание копий и укажите время запуска по UTC. Там же можно включить автоматическое обновление контейнеров, Nextcloud и её приложений после создания копии.

Чтобы копии пережили потерю всего сервера, храните их вне его. AIO умеет отправлять копии в удалённый репозиторий Borg: вместо локального пути укажите адрес репозитория и добавьте на удалённом сервере открытый SSH-ключ, который покажет интерфейс. Файлы внешних хранилищ, подключённых через приложение External storage, в копию не входят.

Обновление

AIO ежедневно проверяет наличие обновлений и сообщает о них администраторам Nextcloud. Чтобы обновиться, откройте интерфейс AIO, нажмите Stop containers, а затем Start and update containers. Перед обновлением создайте резервную копию: если что-то пойдёт не так, установку можно будет вернуть в прежнее состояние.

Пока Nextcloud работает, вход в интерфейс AIO по паролю заблокирован. Чтобы открыть его, войдите в Nextcloud администратором и перейдите по адресу https://cloud.example.ru/settings/admin/overview: вверху страницы будет кнопка входа в AIO.

Обновления самой Ubuntu устанавливаются отдельно, через apt (см. статью об Ubuntu). Перед крупными изменениями рекомендуем сделать снимок сервера.

Не нашли ответ? Напишите в поддержку — подскажем.