Cloud storage allows you not only to store data, but also to provide collaboration with them in the NAS .
There are several cloud service options: NextCloud, Seafile, Pydio, etc ...
Below is a part of them.
Implemented in PHP / Javascript.
Opportunities:
Fork owncloud. Implemented in PHP / Javascript.
Opportunities:
Implemented in C #.
Opportunities:
Features:
Implemented in C / Javascript.
Opportunities:
Features:
Implemented in PHP / Javascript.
Opportunities:
Implemented in PHP / Javascript.
Opportunities:
Opportunities:
Features:
Closed proprietary system.
Given that this software is paid and partially closed, its use is excluded.
Initially, there was a desire to use Seafile: the server part is implemented in C, it is effective and stable. But it turned out that there is far from everything in the free version.
Therefore, I tried Nextcloud and was pleased. It provides more features and is completely free.
You can see how it works in demo mode here .
Here are the common interface points between the cloud storage and the system:
/tank0/apps/cloud/nextcloud
- cloud service storage./tank0/apps/onlyoffice
- office data.https://cloud.NAS.cloudns.cc
- WEB interface of the cloud service.Since NextCloud configuration is quite voluminous and consists of several files; I will not list them here.
You will find everything you need in the repository on Github .
There is also a configuration available for SeaFile .
First install and run NextCloud.
To do this, copy the configuration to the /tank0/docker/services/nextcloud
and run:
# docker-compose up -d
A new image will be assembled based on Nextcloud 13.0.7. If you want to change the version of the base image, do it in the app/Dockerfile
. I use version 15, but it is worth noting that many plugins do not work in it, such as the ocDownloader loader and notes, and also I have not restored the OnlyOffice functionality.
I did not notice any fundamental differences or strong performance improvements.
Below I believe that you are using version 13+.
Next, go to NextCloud and select "Applications" in the menu on the right above, install the necessary plugins.
Required:
Desired Applications:
Container Features:
I note that if you install version 13+, but then decide to upgrade to version 15, you can do this and much more using the occ utility.
Configuring LDAP is not trivial, so I’ll tell you more.
Go to "Settings-> LDAP / AD Integration".
Add the server 172.21.0.1 with port 389.
Login: cn=admin,dc=nas,dc=nas
.
NextCloud can manage users in the LDAP database and for this it will need an administrator.
Click the "Check DN configuration" button and, if the check indicator is green, click the "Next" button.
Each user has an inetOrgPerson
attribute and is in the users_cloud
group.
The filter will look like this:
(&(|(objectclass=inetOrgPerson))(|(memberof=cn=users_cloud,ou=groups,dc=nas,dc=nas)))
Click "Check settings database and recalculate users", and if everything is correct, the number of users should be displayed. Click Next.
On the next page, the user filter will be configured, by which NextCloud will search for them.
Filter:
(&(objectclass=inetOrgPerson)(uid=%uid))
On this page, you must enter the login of a user and click "Check Settings".
Last "Next".
Here click "Advanced" and check that the field "Base tree of groups" is equal to the field "Base tree of users" and has the value dc=nas,dc=nas
.
Return to the groups and check the box "Only these classes of objects" checkbox opposite groupOfUniqueNames
.
The final filter here is:
(&(|(objectclass=groupOfUniqueNames)))
The field "Only from these groups" I did not set, because I want to see all users in the NextCloud interface, and those who are not in the users_cloud
group are users_cloud
out in the previous step.
OnlyOffice is an excellent cross-platform office suite that supports work with MS Office documents. It is free and open, as well as LibreOffice and is also able to work as a server.
But at the same time, the support for the original format has been implemented much better, almost like in the original MS office, it is more stable, has a more thoughtful interface.
It also integrates out of the box with NextCloud .
By the way, there is also the Desktop version of OnlyOffice, including under Linux. In general, having suffered from a heavy and unstable Collabora (this is LibreOffice), I chose OnlyOffice and so far I am quite satisfied.
OnlyOffice configuration is available on Github and below, under the spoiler.
On Github, there is a configuration for Collabora .
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
Let me explain some points:
Now we need to raise the office:
docker-compose up -d
And, if everything works, the following page will be available at office.NAS.cloudns.cc:
Then, in the NextCloud settings, you need to select the "Administration-> ONLYOFFICE" item and enter the address of the document server in the first two fields: https://office.NAS.cloudns.cc/
and your JWT token.
In the third field, you must register the address of the cloud.
JWT token can be generated, for example here .
If the server is configured correctly, additional items for office documents will appear in the cloud creation menu, and .docx
files will be opened in the office.
Cloud storage is central to user interaction between themselves and other services.
In this role, NextCloud is very convenient and has broad functionality.
He has his own in the process of updating between versions, but in general, it is possible to recommend this repository.
Source: https://habr.com/ru/post/430970/
All Articles