Nextcloud – это облачное хранилище, которое работает на вашем собственном сервере. Как в Google Drive или Яндекс Диске, в нём можно хранить файлы, синхронизировать их между устройствами и делиться ссылками, а вдобавок вести календари, контакты, редактировать документы и созваниваться. Разница в том, что все данные хранятся на вашем VPS, а не у стороннего сервиса. В этой статье мы установим Nextcloud официальным способом Nextcloud All-in-One, подключим домен с сертификатом, зайдём в облако и разберём, как им управлять. Все шаги мы повторили на тестовом сервере с Debian 12. На момент проверки версия AIO 14.3.0, а сам Nextcloud 34.0.4.
Как устроен Nextcloud All-in-One
Nextcloud состоит из нескольких программ. Есть само веб-приложение на PHP, база данных PostgreSQL, кэш Redis, веб-сервер, а для документов и звонков нужны ещё отдельные службы. Раньше всё это приходилось ставить и связывать вручную. Nextcloud All-in-One, сокращённо AIO, делает это за вас. Вы запускаете один управляющий контейнер, он показывает веб-панель, а уже через неё скачивает, настраивает и запускает все остальные компоненты, каждый в своём контейнере Docker.
У AIO два веб-интерфейса, и их важно не путать. Панель AIO работает на порту 8080 и нужна только для управления, то есть для установки, обновлений, резервных копий и включения компонентов. Сам Nextcloud открывается по вашему домену на обычном порту 443, и именно с ним работают пользователи. Сертификат Let's Encrypt для домена AIO получает сам, поэтому HTTPS настраивать вручную не нужно.
Nextcloud требователен к ресурсам, больше всего к диску. На нашем тестовом сервере образы контейнеров AIO заняли около 12 ГБ, из них почти 7 ГБ пришлось на офисный пакет. Все запущенные контейнеры вместе использовали около 2,5 ГБ памяти, и почти половину из них снова занимал офисный пакет.
Что понадобится
- Сервер с Debian 12 или Ubuntu 24.04 и не меньше 4 ГБ памяти, например тариф DE-RZ9-2. Для своих файлов закладывайте место сверх тех 12 ГБ, которые займут сами программы. Если сервера ещё нет, закажите его по инструкции.
- Docker. Как его установить, рассказано в статье про Docker и Docker Compose.
- Домен или поддомен, например
cloud.example.com, с записью A на IP-адрес сервера. Как её создать, описано в статье про привязку домена. - Свободные порты 80 и 443. На сервере не должно быть другого веб-сервера, который их занимает, иначе AIO не сможет работать в обычном режиме.
Шаг 1. Запустите управляющий контейнер
Подключитесь к серверу по SSH и выполните официальную команду запуска AIO.
docker run \
--init \
--sig-proxy=false \
--name nextcloud-aio-mastercontainer \
--restart always \
--publish 80:80 \
--publish 8080:8080 \
--publish 8443:8443 \
--volume nextcloud_aio_mastercontainer:/mnt/docker-aio-config \
--volume /var/run/docker.sock:/var/run/docker.sock:ro \
ghcr.io/nextcloud-releases/all-in-one:latestDocker скачает образ и запустит контейнер. Имя nextcloud-aio-mastercontainer менять нельзя, на него опирается механизм обновлений AIO.
AIO использует несколько портов. Через 443 работает сам Nextcloud, 8080 занимает панель AIO, 80 нужен для перенаправления на Nextcloud и получения сертификата панели, а 3478 по TCP и UDP нужен для звонков в Nextcloud Talk.
Docker открывает порты в обход UFW
Порты, которые публикует Docker, доступны из интернета, даже если в брандмауэре UFW для них нет правила. Мы проверили это на тестовом сервере. Панель AIO на порту 8080 открылась снаружи, хотя в UFW этот порт открыт не был. Поэтому не рассчитывайте закрыть панель через UFW, её защищает только парольная фраза. Подробнее об этой особенности рассказано в статье про Docker.
Шаг 2. Сохраните парольную фразу
Откройте в браузере панель AIO по IP-адресу сервера, например https://203.0.113.10:8080. Разработчики AIO советуют заходить на этот порт именно по IP-адресу, а не по домену. Сертификат здесь самоподписанный, поэтому браузер покажет предупреждение, его нужно принять.
На первой странице AIO показывает парольную фразу из восьми слов. Это ключ от панели управления.

Парольная фраза показывается только один раз, здесь она скрыта
Запишите фразу сразу
Мы проверили, что при повторном открытии страницы фраза уже не показывается. Сохраните её в менеджере паролей, прежде чем идти дальше.
Нажмите Open Nextcloud AIO login, вставьте фразу и войдите.
Шаг 3. Укажите домен
AIO попросит домен, по которому будет открываться Nextcloud. Введите его в поле и нажмите Submit domain.

Домен вводится один раз при установке
Перед тем как принять домен, AIO проверяет, что он действительно указывает на этот сервер и что порт 443 открыт. Если проверка не прошла, AIO покажет подсказки в правом верхнем углу. Чаще всего причина в том, что запись A ещё не обновилась или порт закрыт брандмауэром.
Нет своего домена
В панели есть раздел Don't have a domain? Get a free one from deSEC. Через него AIO может бесплатно зарегистрировать поддомен в зоне dedyn.io и сам следить за его записью.
Шаг 4. Выберите компоненты и запустите установку
После проверки домена AIO покажет кнопку установки и список Optional containers, дополнительных компонентов.

Кнопка установки и выбор офисного пакета
По умолчанию у нас были включены:
- Nextcloud Office на основе Euro-Office для работы с документами прямо в браузере. Вместо него можно выбрать вариант на основе Collabora Online, одновременно работает только один;
- Nextcloud Talk для голосовых и видеозвонков;
- Imaginary для превью картинок в форматах HEIC, HEIF, PDF, SVG, TIFF, WebP и других;
- Nextcloud Whiteboard, общая доска.
Ненужное можно выключить и нажать Save changes. Например, если вам нужно только хранилище файлов, отключите офисный пакет. Он занимает больше всего места и памяти. Позже компоненты можно включить или выключить в той же панели.
Когда всё выбрано, нажмите Download and start containers. На нашем сервере AIO скачал и запустил все контейнеры примерно за 4 минуты. Когда установка закончится, у каждого контейнера появится зелёная отметка Running, а вверху страницы будут логин и начальный пароль администратора.

Все контейнеры запущены, пароль администратора скрыт
Шаг 5. Войдите в Nextcloud
Скопируйте Initial Nextcloud password и нажмите Open your Nextcloud. Откроется Nextcloud по вашему домену уже с настоящим сертификатом. На нашем сервере AIO сам получил сертификат Let's Encrypt. Войдите с логином admin и скопированным паролем.
При первом входе Nextcloud покажет приветственные окна. Их можно пролистать или закрыть. В разделе Файлы уже лежат примеры документов и папок, их можно удалить.

Облако готово, можно загружать файлы
Сразу смените пароль администратора на свой в личных настройках и создайте отдельные учётные записи для себя и близких. Работать под admin каждый день не стоит.
Как управлять Nextcloud после установки
Панель AIO. Пока Nextcloud работает, прямой вход в панель AIO по парольной фразе заблокирован. Мы проверили это. Страница входа пишет The direct login is blocked since Nextcloud is running.

Пока Nextcloud работает, панель открывается только через сам Nextcloud
Чтобы попасть в панель, войдите в Nextcloud как администратор и откройте страницу https://ваш-домен/settings/admin/overview. Вверху будет кнопка Open Nextcloud AIO Interface. После перехода по ней на странице входа AIO можно будет ввести парольную фразу.
Команды occ. Для обслуживания у Nextcloud есть консольная утилита occ. В AIO она запускается внутри контейнера.
docker exec --user www-data nextcloud-aio-nextcloud php occ statusКоманда покажет версию и состояние Nextcloud. Так же запускаются и другие команды occ, например проверка настроек occ setupchecks.
Резервные копии. В панели AIO есть раздел Backup and restore. Укажите папку на сервере, куда сохранять копии, например /mnt/backup, и нажмите Submit backup location. AIO покажет пароль шифрования копий. Сохраните его так же надёжно, как парольную фразу, без него восстановить данные из копии не получится. По документации AIO в этом же разделе можно включить ежедневное резервное копирование с последующим автоматическим обновлением контейнеров, Nextcloud и его приложений.
Частые вопросы
The direct login is blocked since Nextcloud is running
Это не ошибка, а защита панели AIO. Откройте её через Nextcloud кнопкой Open Nextcloud AIO Interface на странице https://ваш-домен/settings/admin/overview. Если войти в Nextcloud не получается, AIO на этой же странице подсказывает команду docker stop nextcloud-aio-apache, после которой вход по фразе снова откроется.
Домен не проходит проверку
- Проверьте, что запись A домена указывает на IP-адрес сервера, например командой
dig cloud.example.com +short. Подробнее о проверке DNS рассказано в статье про nslookup и dig. - Убедитесь, что порт
443не занимает другой веб-сервер, например командойss -tlnp | grep ':443'. - Если запись только что создана, подождите, пока она обновится.
В проверке настроек предупреждение о default phone region
Nextcloud хочет знать страну по умолчанию для номеров телефонов. Мы увидели это предупреждение сразу после установки. Задайте страну командой ниже, вместо RU укажите код своей страны.
docker exec --user www-data nextcloud-aio-nextcloud php occ config:system:set default_phone_region --value="RU"Потерялся пароль администратора Nextcloud
Начальный пароль показывается в панели AIO, пока вы его не смените. Если вы уже сменили пароль и забыли его, задайте новый командой occ.
docker exec -it --user www-data nextcloud-aio-nextcloud php occ user:resetpassword adminНаши ресурсы
Telegram-канал: https://t.me/f3cloud_news
Официальный сайт: https://f3cloud.com