A plugin to make Nextcloud compatible with Solid
So far, we only implemented the functionality from milestone 1. Storage and deep integration coming soon!
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.
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.
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.
To test whether your server is install correctly, you can run Solid's webid-provider-tests against it.
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.
This project is under MIT licese. However, some elements are being licensed under AGPL-3.0. For accurate information, please check individual files.