This project is a standalone Solid Server.
It reuses the PHP libraries from PDS Interop as the basis for the Solid server. For the user management, no framework is used to keep the codebase lean.
This project is currently EXPERIMENTAL and should not be used in production yet.
Start the docker containers:
docker-compose up
This will start up three containers: the solid server, pubsub server and a mailpit server. If you have an actual SMTP server running, feel free to remove the mailpit container. The persisted data will be stored in the data/ directory. This contains the keys, pods, db and mailpit data.
Run the following commands to set up the container (replace 'solid' below with the name of your container):
docker exec -w /opt/solid/ solid chown -R www-data:www-data keys pods db
docker exec -w /opt/solid/ solid cp config.php.example config.php
Update the values in the config.php file where needed, then run the initialization script:
docker exec -u www-data -i -w /opt/solid/ solid php init.php
The webIds are created as id-xxxxx.{baseHost}, so in our example, that would be id-xxxx.solid.local. Storage pods are created as storage-xxxxx.{baseHost}, so that would become storage-xxxx.solid.local. The snake oil certificate is only for localhost, so accessing this will generate a warning for an invalid certificate;
You may also need to add these hosts to /etc/hosts to make them available for the browser by pointing them to 127.0.0.1.
- pdsinterop/flysystem-rdf (v0.6.0)
- pdsinterop/php-solid-crud (v0.8.1)
- pdsinterop/php-solid-auth (v0.13.0)
This project was funded through the NGI0 Core Fund, established by NLnet with financial support from the European Commission's Next Generation Internet programme. Learn more at the NLnet project page