- PVSM.RU - https://www.pvsm.ru -
Облачное хранилище позволяет не только хранить данные, но и обеспечивать совместную работу с ними в NAS [1].
Существует несколько вариантов облачных сервисов: NextCloud, Seafile, Pydio и т.д…
Ниже рассмотрена часть из них.
Реализован на PHP/Javascript.
Возможности:
Форк OwnCloud. Реализован на PHP/Javascript.
Возможности:
Реализован на C#.
Возможности:
Особенности:
Реализован на C/Javascript.
Возможности:
Особенности:
Реализован на PHP/Javascript.
Возможности:
Реализован на PHP/Javascript.
Возможности:
Возможности:
Особенности:
Закрытая проприетарная система.
С учётом того, что данное ПО платное и частично закрытое, его использование исключается.
Изначально было желание использовать Seafile: серверная часть реализована на C, он эффективен и стабилен.
Но выяснилось, что в бесплатной версии есть далеко не всё. В частности, не хватило интеграции с LDAP.
Потому, я попробовал Nextcloud и остался доволен. Он предоставляет больше возможностей и полностью бесплатен.
Посмотреть, как он работает в демо-режиме вы можете здесь [15].
Вот общие точки сопряжения между облачным хранилищем и системой:
/tank0/apps/cloud/nextcloud
— хранилище облачного сервиса./tank0/apps/onlyoffice
— данные офиса.https://cloud.NAS.cloudns.cc
— WEB интерфейс облачного сервиса.Т.к. конфигурация NextCloud достаточно объёмна и состоит из нескольких файлов, я не буду приводить их здесь.
Всё, что нужно вы найдёте в репозитории на Github [16].
Там же доступна конфигурация для SeaFile [17].
Сначала установите и запустите NextCloud.
Для этого надо скопировать конфигурацию в каталог /tank0/docker/services/nextcloud
и выполнить:
# docker-compose up -d
Будет собран новый образ на основе Nextcloud 13.0.7. Если вы хотите изменить версию базового образа, сделайте это в app/Dockerfile
. Я использую версию 15, но стоит заметить, что в ней не работают многие плагины, такие как загрузчик ocDownloader и заметки, а также я ещё не восстановил работоспособность OnlyOffice.
Кардинальных отличий или сильного улучшения производительности я не заметил.
Ниже я считаю, что вы используете версию 13+.
Далее, зайдите в NextCloud и выбрав в меню справа вверху "Приложения", выполните установку необходимых плагинов.
Потребуются обязательно:
Желательные приложения:
Особенности контейнера:
Замечу, что если вы установите версию 13+, но потом решите обновиться на версию 15, это и многое другое вы сможете сделать с помощью утилиты occ [19].
Настройка LDAP не тривиальна, потому я расскажу подробнее.
Зайдите в "Настройки->Интеграция с LDAP/AD".
Добавьте сервер 172.21.0.1 с портом 389.
Логин: cn=admin,dc=nas,dc=nas
.
NextCloud может управлять пользователями в базе LDAP и для этого ему потребуется администратор.
Нажимайте кнопку "Проверить конфигурацию DN" и, если индикатор проверки зелёный, кнопку "Далее".
Каждый пользователь имеет атрибут inetOrgPerson
и состоит в группе users_cloud
.
Фильтр будет выглядеть так:
(&(|(objectclass=inetOrgPerson))(|(memberof=cn=users_cloud,ou=groups,dc=nas,dc=nas)))
Нажимайте "Проверить базу настроек и пересчитать пользователей", и если всё корректно, должно быть выведено количество пользователей. Нажимайте "Далее".
На следующей странице будет настроен фильтр пользователей, по которому NextCloud их будет искать.
Фильтр:
(&(objectclass=inetOrgPerson)(uid=%uid))
На этой странице надо ввести логин какого-либо пользователя и нажать "Проверить настройки".
Последний раз "Далее".
Тут нажмите "Дополнительно" и проверьте, что поле "База дерева групп" равно полю "База дерева пользователей" и имеет значение dc=nas,dc=nas
.
Вернитесь в группы и установите в поле "Только эти классы объектов" галочку напротив groupOfUniqueNames
.
Итоговый фильтр здесь такой:
(&(|(objectclass=groupOfUniqueNames)))
Поле "Только из этих групп" я не устанавливал, т.к. хочу увидеть в интерфейсе NextCloud всех пользователей, а те кто не входит в группу users_cloud
, отсеиваются фильтром на предыдущем этапе.
OnlyOffice [22] — это прекрасный кроссплатформенный офисный пакет, который поддерживает работу с документами MS Office. Он бесплатный и открытый, также как и LibreOffice [23] и также способен работать, как сервер.
Но при этом, поддержка оригинального формата у него реализована гораздо лучше, почти как в оригинальном офисе от MS, он более стабилен, имеет более продуманный интерфейс.
Также он из коробки интегрируется с NextCloud [24].
Кстати, есть и Desktop версия OnlyOffice, в том числе под Linux. В общем, намучавшись с тяжёлой и нестабильной Collabora (это LibreOffice), я выбрал OnlyOffice и пока вполне доволен.
Конфигурация OnlyOffice доступна на Github [25] и ниже, под спойлером.
На Github есть конфигурация и для Collabora [26].
version: '2'
# https://helpcenter.onlyoffice.com/ru/server/docker/document/docker-installation.aspx
networks:
onlyoffice:
driver: 'bridge'
docker0:
external:
name: docker0
services:
onlyoffice-redis:
container_name: onlyoffice-redis
image: redis
restart: always
networks:
- onlyoffice
expose:
- '6379'
onlyoffice-rabbitmq:
container_name: onlyoffice-rabbitmq
image: rabbitmq
restart: always
networks:
- onlyoffice
expose:
- '5672'
onlyoffice-postgresql:
container_name: onlyoffice-postgresql
image: postgres
environment:
- POSTGRES_DB=onlyoffice
- POSTGRES_USER=onlyoffice
networks:
- onlyoffice
restart: always
expose:
- '5432'
volumes:
- /tank0/apps/onlyoffice/postgresql_data:/var/lib/postgresql
onlyoffice-documentserver-data:
container_name: onlyoffice-documentserver-data
image: onlyoffice/documentserver:latest
environment:
- ONLYOFFICE_DATA_CONTAINER=true
- POSTGRESQL_SERVER_HOST=onlyoffice-postgresql
- POSTGRESQL_SERVER_PORT=5432
- POSTGRESQL_SERVER_DB_NAME=onlyoffice
- POSTGRESQL_SERVER_USER=onlyoffice
- RABBITMQ_SERVER_URL=amqp://guest:guest@onlyoffice-rabbitmq
- REDIS_SERVER_HOST=onlyoffice-redis
- REDIS_SERVER_PORT=6379
stdin_open: true
restart: always
networks:
- onlyoffice
volumes:
- /tank0/apps/onlyoffice/document-server-data/data:/var/www/onlyoffice/Data
- /tank0/apps/onlyoffice/document-server-data/logs:/var/log/onlyoffice
- /tank0/apps/onlyoffice/document-server-data/cache:/var/lib/onlyoffice/documentserver/App_Data/cache/files
- /tank0/apps/onlyoffice/document-server-data/files:/var/www/onlyoffice/documentserver-example/public/files
- /usr/share/fonts
onlyoffice-documentserver:
image: onlyoffice/documentserver:latest
depends_on:
- onlyoffice-postgresql
- onlyoffice-redis
- onlyoffice-rabbitmq
- onlyoffice-documentserver-data
environment:
- ONLYOFFICE_DATA_CONTAINER_HOST=onlyoffice-documentserver-data
- BALANCE=uri depth 3
- EXCLUDE_PORTS=443
- HTTP_CHECK=GET /healthcheck
- EXTRA_SETTINGS=http-check expect string true
- JWT_ENABLED=true
- JWT_SECRET=<JWT_SECRET_TOKEN>
# Uncomment the string below to redirect HTTP request to HTTPS request.
#- FORCE_SSL=true
- VIRTUAL_HOST=office.*
- VIRTUAL_PORT=80
- VIRTUAL_PROTO=http
- CERT_NAME=NAS.cloudns.cc
stdin_open: true
restart: always
networks:
- onlyoffice
- docker0
expose:
- '80'
volumes:
- /tank0/apps/onlyoffice/document-server/logs:/var/log/onlyoffice
- /tank0/apps/onlyoffice/document-server/data:/var/www/onlyoffice/Data
- /tank0/apps/onlyoffice/document-server/lib:/var/lib/onlyoffice
- /tank0/apps/onlyoffice/document-server/db:/var/lib/postgresql
volumes_from:
- onlyoffice-documentserver-data
Поясню некоторые моменты:
Теперь надо поднять офис:
docker-compose up -d
И, если всё работает, по адресу office.NAS.cloudns.cc будет следующая страница:
Автор: Артём
Источник [27]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/oblako/304287
Ссылки в тексте:
[1] в NAS: https://habr.com/post/359346/
[2] OwnCloud: https://owncloud.org/
[3] Image: https://habrastorage.org/webt/fj/be/gx/fjbegxfckhsx7ww4y9b8_m10jsm.png
[4] NextCloud: https://nextcloud.org/
[5] Image: https://habrastorage.org/webt/62/cb/lo/62cbloe--f5eaxvejke31jqk-r4.png
[6] SparkleShare: http://www.sparkleshare.org/
[7] Seafile: https://www.seafile.com
[8] Image: https://habrastorage.org/webt/gk/rb/op/gkrbopkni_o44lqncmhdeuqe2fa.png
[9] Pydio: https://pydio.com
[10] Image: https://habrastorage.org/webt/v7/7n/he/v77nhe_y1o7wq8lkg7e1dhtp1ms.jpeg
[11] ProjectSend: https://www.projectsend.org
[12] Image: https://habrastorage.org/webt/61/1k/uc/611kuc8ohfjs4ym7kajncgufowo.png
[13] SpiderOak: https://spideroak.com/
[14] Image: https://habrastorage.org/webt/w9/ce/k5/w9cek5imrxva3-chj9iejtwdh04.jpeg
[15] здесь: https://demo.nextcloud.com/
[16] репозитории на Github: https://github.com/artiomn/NAS/tree/master/docker/services/cloud/nextcloud
[17] SeaFile: https://github.com/artiomn/NAS/tree/master/docker/services/cloud/seafile
[18] Image: https://habrastorage.org/webt/sd/3y/rv/sd3yrvs5lqfdzig5smsbdasiiw0.png
[19] occ: https://docs.nextcloud.com/server/14/admin_manual/configuration_server/occ_command.html
[20] Image: https://habrastorage.org/webt/9n/tg/h9/9ntgh9xbg3rtfvjrqid6qbj0a5y.png
[21] Image: https://habrastorage.org/webt/fr/rs/9e/frrs9euxco6_ycd8p_4a1y8bxiw.png
[22] OnlyOffice: https://onlyoffice.com
[23] LibreOffice: https://ru.libreoffice.org/
[24] из коробки интегрируется с NextCloud: https://api.onlyoffice.com/editors/nextcloud
[25] доступна на Github: https://github.com/artiomn/NAS/tree/master/docker/services/office/onlyoffice
[26] конфигурация и для Collabora: https://github.com/artiomn/NAS/tree/master/docker/services/office/collabora
[27] Источник: https://habr.com/post/430970/?utm_source=habrahabr&utm_medium=rss&utm_campaign=430970
Нажмите здесь для печати.