Both Nextcloud (NC) and OwnCloud (OC) implements the OCM APIs, manages users, storage and files synchronization via WebDAV, so it makes perfect sense to delegate some of the things we configured at Basic services to be handled by these EFSS solutions, if you happen to run one.
You will need to run a patched installation of NC/OC, having installed & enabled the sciencemesh
integration app. Please refer to the Deployment docs for a guide.
We will need to change the following configuration sections in the Reva config.
To tell the IOP to store/access user data on NC/OC,
switch the storageprovider configuration to use the nextcloud
driver and point endpoint
to an URL of your OC/NC service.
[http.services.dataprovider]
driver = "nextcloud"
[grpc.services.storageprovider]
driver = "nextcloud"
data_server_url = "https://$yourdomain.iop$/data"
[grpc.services.storageprovider.drivers.nextcloud]
endpoint = "https://$yourdomain.cloud$/index.php/apps/sciencemesh/"
shared_secret = "$some-random-secret-to-be-shared-with-your-oc-nc$"
NOTE: The
nextcloud
driver is compatible both with Nextcloud and ownCloud installations.
To tell the IOP to authenticate users using NC/OC built-in authentication,
switch the authprovider configuration to use the nextcloud
driver and point endpoint
to an URL of your OC/NC service.
[grpc.services.authprovider]
auth_manager = "nextcloud"
[grpc.services.authprovider.auth_managers.nextcloud]
endpoint = "https://$yourdomain.cloud$/index.php/apps/sciencemesh/"
shared_secret = "$some-random-secret-to-be-shared-with-your-oc-nc$"
To tell the IOP to use NC/OC as its user backend, switch the userprovider configuration to use the nextcloud
driver and point endpoint
to an URL of your OC/NC service.
[grpc.services.userprovider]
driver = "nextcloud"
[grpc.services.userprovider.drivers.nextcloud]
endpoint = "https://$yourdomain.cloud$/index.php/apps/sciencemesh/"
shared_secret = "$some-random-secret-to-be-shared-with-your-oc-nc$"
In the same way, we want to override the following OCM services to point to your NC/OC service.
[grpc.services.ocmcore]
driver = "nextcloud"
[grpc.services.ocmcore.drivers.nextcloud]
webdav_host = "https://$yourdomain.cloud$/"
endpoint = "https://$yourdomain.cloud$/index.php/apps/sciencemesh/"
shared_secret = "$some-random-secret-to-be-shared-with-your-oc-nc$"
[grpc.services.ocmshareprovider]
driver = "nextcloud"
[grpc.services.ocmshareprovider.drivers.nextcloud]
webdav_host = "https://$yourdomain.cloud$/"
endpoint = "https://$yourdomain.cloud$/index.php/apps/sciencemesh/"
shared_secret = "$some-random-secret-to-be-shared-with-your-oc-nc$"