Данная статья предназначена для тех, кто искал подробное и понятное руководство о том, как установить Nextcloud и OnlyOffice с использованием Docker Compose.

Nextcloud - это аналог Dropbox, который можно установить на собственном сервере и сделать облако для хранения файлов - фотографий, видео и любых других. Приложение можно использовать для совместной работы и конфиденциального обмена файлами, настраивая уровни доступа для каждого пользователя. Также с помощью отдельного мобильного приложения NextCloud Talk можно также совершать голосовые и видеозвонки.

OnlyOffice предоставляет безопасный онлайн-офис, который отлично совместим с форматами MS Office. Вы можете интегрировать его с вашей веб-платформой для редактирования документов и совместной работы или использовать в составе рабочего пространства OnlyOffice.

💾 Репозиторий, использованный в этом руководстве, можно найти на GitHub.

Мы будем использовать Traefik в качестве нашего обратного прокси. Он будет отвечать за получение криптографических сертификатов от Let’s Encrypt для ваших доменных имен и направлять запросы к соответствующим службам на основе этих доменов.

❗ Помните, что без безопасного соединения сервисы работать не будут.

❗ Для получения криптографических сертификатов вам потребуются записи типа A во внешней зоне DNS, которые указывают на IP-адрес вашего сервера, где установлен Traefik. Если вы создали эти записи недавно, следует подождать, прежде чем начать установку сервисов. Полная репликация данных записей между DNS-серверами может занять от нескольких минут до 48 часов или даже больше в редких случаях.

В этом руководстве мы будем рассматривать тот случай, когда у вас уже есть сервер с установленной на нем операционной системой Ubuntu Server 22.04 LTS.

Подробно о том, как установить Ubuntu Server 22.04 LTS, вы можете прочитать в моем руководстве “Установка Ubuntu Server 22.04 LTS”.

Также на сервере должен быть установлен Docker Engine и Docker Compose.

Узнать о том, как установить Docker Engine на Ubuntu Server, вы можете, прочитав “Установка Docker Engine и Docker Compose на Ubuntu Server”.

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

Для установки OpenSSH на сервер вы можете воспользоваться командой:

sudo apt install openssh-server

Если вы планируете подключиться к серверу, используя операционную систему Windows, то можете воспользоваться PuTTY или MobaXterm.

В данном руководстве рассматривается подключение к серверу при помощи терминального эмулятора iTerm2, установленного на операционную систему macOS.

💡 Обратите внимание, вам потребуется открыть следующие порты TCP для доступа к сервисам:

  • TCP порт 80 - для получения бесплатного криптографического сертификата через центр сертификации Let’s Encrypt.
  • TCP порт 443 - для доступа к веб-интерфейсу Nextcloud.

Подключаемся к серверу, на который планируется установить Nextcloud.

Теперь необходимо создать сети для ваших служб.

Создаем сеть для Traefik с помощью команды:

docker network create traefik-network

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Создаем сеть для Nextcloud с помощью команды:

docker network create nextcloud-network

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Создаем сеть для OnlyOffice с помощью команды:

docker network create onlyoffice-network

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Далее нужно клонировать репозиторий, который содержит конфигурационные файлы, которые содержать все необходимые условия для работы Nextcloud.

Клонировать репозиторий можно с помощью команды:

git clone https://github.com/heyValdemar/nextcloud-onlyoffice-traefik-letsencrypt-docker-compose.git

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Переходи в директорию с репозиторием с помощью команды:

cd nextcloud-onlyoffice-traefik-letsencrypt-docker-compose

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Далее вам необходимо изменить переменные в файле .env в соответствии с вашими требованиями.

💡 Обратите внимание, что .env должен находиться в той же директории, что и nextcloud-onlyoffice-traefik-letsencrypt-docker-compose.yml.

Теперь запустим Nextcloud с помощью команды:

docker compose -f nextcloud-onlyoffice-traefik-letsencrypt-docker-compose.yml -p nextcloud up -d

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Для доступа к панели управления Nextcloud необходимо с рабочей станции перейти по ссылке https://nextcloud.heyvaldemar.net, где nextcloud.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным сервисом Traefik, который перенаправит запрос к Nextcloud.

💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env.

Указываем имя пользователя и пароль, заданный ранее в файле .env, и нажимаем на кнопку “Log In”.

Добро пожаловать в панель управления Nextcloud.

Нажмите на изображение профиля в верхнем правом углу, затем выберите кнопку “Apps”.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Выберите “Integration” в левой боковой панели и найдите интеграцию с ONLYOFFICE.

Нажмите на “Download and Enable”, чтобы установить интеграцию с ONLYOFFICE.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Нажмите на изображение профиля в верхнем правом углу, затем выберите кнопку “Administration Settings”.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Выберите “ONLYOFFICE” в левой боковой панели.

В поле “ONLYOFFICE Docs address” введите доменное имя сервиса ONLYOFFICE.

В поле “Secret Key” введите секретный ключ для сервиса ONLYOFFICE.

💡 Обратите внимание, вам нужно указать доменное имя сервиса и секретный ключ, заданный ранее в файле .env.

❗ Важно отметить, что вам потребуются криптографические сертификаты для ваших доменных имен. В моей конфигурации, сертификаты запрашиваются автоматически с помощью Traefik и Let’s Encrypt. Помните, что без безопасного соединения сервисы работать не будут.

❗ Для получения криптографических сертификатов вам потребуются записи типа A во внешней зоне DNS, которые указывают на IP-адрес вашего сервера, где установлен Traefik. Если вы создали эти записи недавно, следует подождать, прежде чем начать установку сервисов. Полная репликация данных записей между DNS-серверами может занять от нескольких минут до 48 часов или даже больше в редких случаях.

Нажимаем на кнопку “Save”.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Настройки были успешно обновлены.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Давайте попробуем создать документ с использованием OnlyOffice.

Нажмите на иконку папки в левом углу, затем нажмите на кнопку плюс и выберите “New document” в OnlyOffice.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Введите название для нового документа и нажмите на кнопку-стрелку.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Документ был успешно создан.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Фоновые задачи с использованием Cron

Для обеспечения эффективной работы вашего экземпляра Nextcloud важно использовать метод “Cron” для выполнения фоновых задач. В вашей среде уже настроен специализированный Docker контейнер для обработки этих задач.

Шаги для активации Cron

  1. Войдите в Nextcloud как администратор.
  2. Перейдите в Administration settings (нажмите на ваш профиль пользователя в правом верхнем углу и выберите “Administration settings”).
  3. В разделе Administration на левой боковой панели выберите Basic settings.
  4. Прокрутите вниз до раздела Background jobs.
  5. Выберите опцию “Cron (Recommended)”.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Почему использовать Cron?

Метод “Cron” обеспечивает выполнение фоновых задач, таких как индексация файлов, уведомления и операции очистки, на регулярной основе, независимо от активности пользователей. Этот метод более надежен и эффективен по сравнению с AJAX или Webcron, особенно для больших или активно используемых экземпляров, поскольку его работа не зависит от доступа пользователей к сайту для активации этих задач. С использованием специализированного контейнера в вашей конфигурации этот метод поддерживает отзывчивость и хорошее состояние вашего экземпляра Nextcloud, регулярно выполняя эти задачи.

Для доступа к панели управления Traefik необходимо с рабочей станции перейти по ссылке https://traefik.nextcloud.heyvaldemar.net, где traefik.nextcloud.heyvaldemar.net — доменное имя моего сервиса. Соответственно, вам необходимо указать свое доменное имя, которое указывает на IP-адрес вашего сервера с установленным Traefik.

💡 Обратите внимание, вам нужно указать доменное имя сервиса, заданное ранее в файле .env.

Указываем имя пользователя и пароль, заданный ранее в файле .env, и нажимаем на кнопку “OK”.

Установка Nextcloud и OnlyOffice с использованием Docker Compose

Добро пожаловать в панель управления Traefik.

Установка Nextcloud и OnlyOffice с использованием Docker Compose


Мои курсы

🎓 Погрузитесь в мои обширные курсы по информационным технологиям, разработанные как для энтузиастов, так и для профессионалов. Независимо от того, хотите ли вы освоить Docker, покорить Kubernetes или углубить свои навыки в области DevOps, мои курсы предлагают структурированный путь к повышению вашего технического мастерства.

Мои услуги

💼 Загляните в мой каталог услуг и узнайте, как мы можем сделать вашу технологическую жизнь лучше. Будь то повышение эффективности вашей IT-инфраструктуры, развитие вашей карьеры или расширение технологических горизонтов — я здесь, чтобы помочь вам достичь ваших целей. От DevOps-трансформаций до сборки игровых компьютеров — давайте сделаем ваши технологии непревзойденными!

Пополнить запасы моего кофе

💡 Telegram | Boost
💖 PayPal
🏆 Patreon
💎 GitHub
🥤 BuyMeaCoffee
🍪 Ko-fi

Подпишись

Telegram | Блог
🎬 YouTube
🐦 Twitter
🎨 Instagram
🐘 Mastodon
🧵 Threads
🎸 Facebook
🧊 Bluesky
🎥 TikTok
💻 LinkedIn
📣 daily.dev Squad
🧩 LeetCode
🐈 GitHub

Этот контент создан искусственным интеллектом?

Нет! Каждая статья — результат моей работы, наполненной страстью к Docker и десятилетиями опыта в IT. Я применяю ИИ для улучшения грамматики, чтобы обеспечить четкость технических деталей, однако все идеи, стратегии и рекомендации исключительно мои. Этот метод иногда может вызывать срабатывание детекторов ИИ, но можете быть уверены, что вся представленная информация и опыт — подлинно мои.

Владимир Михалев
Я - Владимир Михалев, Капитан Docker, но друзья могут называть меня Вальдемарыч.

DevOps комьюнити

Привет! 👋 Если у тебя есть вопросы по установке или настройке, то задайте их мне и другим IT-экспертам нашего сообщества: