Совместная работа с документами в закрытом контуре — задача, с которой сталкиваются многие учреждения. Nextcloud обеспечивает хранение файлов и управление доступом, но без встроенного редактора пользователи вынуждены скачивать документы, править их локально и загружать обратно. Euro-Office решает эту проблему: он открывает и редактирует форматы Word, Excel и PowerPoint прямо в браузере, поддерживает совместную работу в реальном времени и разворачивается полностью внутри вашей инфраструктуры.
💡 Присоединяйтесь к нашим сообществам!
Будьте в курсе новых статей, обновлений и полезных материалов:
📑 Содержание
Ранее мы уже установили Nextcloud и настроили аутентификацию через Samba AD. Теперь добавим к нему Euro-Office Document Server в Docker-контейнере на Debian 13 и свяжем их через коннектор Nextcloud Office. Оба сервиса будут опубликованы через Nginx Proxy Manager с терминацией HTTPS и поддержкой WebSocket, а защита обмена между ними обеспечивается общим JWT-ключом.
Архитектура решения
В схеме участвуют два ключевых компонента:
- Euro-Office Document Server — разворачивается на отдельном сервере Debian 13 и отвечает за отрисовку, редактирование и совместную работу с документами. Работает в Docker-контейнере, наружу отдаёт HTTP-сервис.
- Коннектор Nextcloud Office — устанавливается в существующий экземпляр Nextcloud и служит мостом между Nextcloud и Euro-Office. Nextcloud отвечает за аутентификацию пользователей и хранение файлов, Euro-Office — за редактирование.
Оба компонента общаются по HTTPS и используют общий JWT-ключ для аутентификации.
Исходные данные
| Компонент | Адрес | Описание |
|---|---|---|
| Euro-Office Server | office.itsch.ru (192.168.0.54) | Debian 13, работает в Docker |
| Nextcloud | nextcloud.itsch.ru (192.168.0.23) | Существующий экземпляр, доступ по HTTPS |
| Nginx Proxy Manager | 192.168.0.22 | Терминация HTTPS и проксирование WebSocket для Euro-Office |

Рисунок 1. Архитектура интеграции Nextcloud с Euro-Office Document Server
1. Установка Euro-Office Document Server
1.1. Требования к системе
Минимальные требования Euro-Office — 4 ГБ оперативной памяти и 10 ГБ дискового пространства; для многопользовательской работы рекомендуется 8 ГБ. Проверим ресурсы командой:
free -h && df -h /
1.2. Установка Docker
В официальном репозитории Debian 13 присутствует Docker. Выполняем:
sudo apt update
sudo apt install -y docker.io docker-compose
sudo systemctl enable --now docker
Добавим текущего пользователя в группу docker, чтобы не использовать sudo при каждом запуске:
sudo usermod -aG docker $USER
newgrp docker
Проверим установку:
docker --version
1.3. Генерация JWT-ключа
JWT-ключ используется для защищённого обмена между Euro-Office и Nextcloud. На обоих концах должно быть задано одно и то же значение. Сгенерируем надёжный случайный ключ:
openssl rand -hex 32
Сохраните полученную строку — она понадобится на следующих шагах.
1.4. Запуск контейнера Euro-Office
Выполните команду запуска Euro-Office:
docker run -d \
--name euro-office \
--restart=unless-stopped \
-p 8080:80 \
-e JWT_ENABLED=true \
-e JWT_SECRET=<ваш_JWT_ключ> \
-e USE_UNAUTHORIZED_STORAGE=true \
ghcr.io/euro-office/documentserver:latest
-p 8080:80— HTTP-сервис контейнера публикуется на порту 8080 хоста;JWT_ENABLED=true— включает JWT-аутентификацию;JWT_SECRET— подставьте ключ, сгенерированный в п. 1.3;USE_UNAUTHORIZED_STORAGE=true— позволяет Document Server игнорировать проблемы с SSL-сертификатом хранилища (Nextcloud). Актуально для среды с самоподписанными сертификатами.
После запуска контейнеру требуется 90–120 секунд на инициализацию. Проверим готовность сервиса:
curl http://127.0.0.1:8080/healthcheck
Ответ true означает, что сервис работает.
1.5. Проверка установки
Убедимся, что все внутренние сервисы запущены:
docker exec -it euro-office supervisorctl status
Ожидаем увидеть ds:docservice, ds:converter, ds:metrics в состоянии RUNNING.
2. Настройка Nginx Proxy Manager
В продуктивной среде Euro-Office должен быть доступен по HTTPS, иначе при интеграции с Nextcloud возникнут ошибки смешанного содержимого.
2.1. Создание прокси-хоста
Переходим в веб-интерфейс Nginx Proxy Manager, переходим в Hosts → Proxy Hosts и нажимаем Add Proxy Host. Заполняем поля:
| Поле | Значение |
|---|---|
| Domain Names | office.itsch.ru |
| Scheme | http |
| Forward Hostname/IP | 192.168.0.54 |
| Forward Port | 8080 |
2.2. Включаем поддержку WebSocket

Рисунок 2. Настройка прокси-хоста во вкладке Details
Функция совместного редактирования в Euro-Office опирается на WebSocket. Во вкладке Advanced прокси-хоста убедитесь, что добавлена следующая конфигурация:
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
proxy_http_version 1.1;

Рисунок 3. Дополнительные настройки WebSocket во вкладке Advanced
2.3. Настройка SSL
Во вкладке SSL:
- выберите или выпустите SSL-сертификат (самоподписанный или Let's Encrypt);
- включите Force SSL;
- опционально включите HTTP/2 Support.

Рисунок 4. Настройка SSL-сертификата и Force SSL
Сохраните настройки. Euro-Office должен стать доступен по адресу https://office.itsch.ru.
3. Установка коннектора в Nextcloud
3.1. Устанавливаем приложение Euro-Office
Входим в Nextcloud как администратор, открываем раздел Приложения (Apps), находим Euro-Office и нажимаем «Скачать и включить».

Рисунок 5. Приложение Euro-Office в магазине приложений Nextcloud
Либо устанавливаем через командную строку:
sudo -E -u www-data php occ app:install eurooffice
3.2. Настройка параметров подключения
Переходим в Настройки → Администрирование → Nextcloud Office и заполняем:
- Адрес Nextcloud Office (Document Server URL):
https://office.itsch.ru - Секретный ключ (Secret key): указываем JWT-ключ, сгенерированный в п. 1.3.
Если Nextcloud и Euro-Office используют самоподписанные сертификаты и проверка не проходит, можно временно включить опцию Отключить проверку сертификата (небезопасно). Однако в продуктивной среде рекомендуется добавить сертификат в доверенное хранилище, а не отключать проверку навсегда.
Нажимаем «Сохранить». Вверху страницы должен появиться зелёный индикатор, означающий успешное подключение.

Рисунок 6. Настройка подключения к Euro-Office Document Server
3.3. Проверка интеграции
Открываем в Nextcloud любой файл .docx, .xlsx или .pptx. При корректной настройке файл откроется в редакторе Euro-Office, а не будет предложен к скачиванию или выдаст ошибку.

Рисунок 7. Документ, открытый в редакторе Euro-Office
Мобильная версия:

Рисунок 8. Работа с документом в мобильном приложении Nextcloud
Управление сервисом
Перезапуск контейнера Euro-Office:
docker restart euro-office
Просмотр логов:
docker logs --tail=100 euro-office
Обновление до последней версии:
docker pull ghcr.io/euro-office/documentserver:latest
docker stop euro-office && docker rm euro-office
После чего повторно выполняем команду docker run из п. 1.4.
Заключение
Выполнив описанные шаги, мы получаем полноценную бесплатную платформу для совместной работы с документами: Nextcloud отвечает за пользователей и файлы, Euro-Office обеспечивает редактирование, а все данные остаются в нашей собственной инфраструктуре.
Источники
- https://nextcloud.com/blog/how-to-install-euro-office/
- https://github.com/Euro-Office/DocumentServer
- https://github.com/Euro-Office/eurooffice-nextcloud
- https://euro-office.github.io/documentation/installation/docker/
- https://docs.nextcloud.com/server/stable/admin_manual/office/euro-office/installation_docker.html
🚀 Понравилась статья?
Подписывайтесь на наши соцсети, чтобы не пропустить новые полезные материалы!