Link Search Menu Expand Document

solid-nextcloud

A plugin to make Nextcloud compatible with Solid

CAVEAT: Only identity is working so far!

So far, we only implemented the functionality from milestone 1. Storage and deep integration coming soon!

Unattended install

To programmatically build a Nextcloud server that has this plugin working, you can look at the nextcloud-server image in the Solid test-suite, combined with how it’s initialized in the runTests.sh script.

Development install

Clone https://github.com/pdsinterop/test-suites, cd into it, and run:

docker build -t nextcloud-server ./servers/nextcloud-server
docker run -p 443:443 -d --rm --name=server nextcloud-server
echo sleeping
sleep 10
echo slept
docker logs server
docker exec -u www-data -it server sh /init.sh
docker exec -u root -it server service apache2 reload

Now visit https://localhost and log in as alice / alice123.

Manual install

If you enable this app in your Nextcloud instance, you should edit your .htaccess file and then test whether https://your-nextcloud-server.com/.well-known/openid-configuration redirects to https://your-nextcloud-server.com/apps/solid/openid.

Unattended testing

To test whether your server is install correctly, you can run Solid’s webid-provider-tests against it.

Manual testing

Go to https://solidcommunity.net and create a Solid pod. Go to https://generator.inrupt.com/text-editor and log in with https://solidcommunity.net. Tick all 4 boxes in the consent dialog. Click ‘Load’, type something, click ‘Save’. Grant access to co-editor https://your-nextcloud-server.com/apps/solid/@your-username/turtle#me. For instance if you’re using the development install, that would be https://localhost/apps/solid/@alice/turtle#me Now in a separate browser window, log in to https://generator.inrupt.com/text-editor with https://your-nextcloud-server.com. You should be able to edit the file as a co-author now, using your Nextcloud account as a webid identity provider.


Copyright © 2020 PDS Interop. Distributed under a MIT license.