2021-07-23 23:13:38 +02:00
2021-07-16 14:32:42 +01:00
2021-05-27 15:43:46 +01:00
2021-06-29 15:16:28 +01:00

Community Solid Server

Build Status Coverage Status npm version

An open and modular implementation of the Solid specifications

  • Community Solid Server is open software to provide people with their own Solid Pod.

  • It will give developers an environment to create and test new Solid applications.

  • Its modular architecture allows trying out new ideas on the server side and thereby shape the future of Solid.

Running the server

Installing and running locally

npm install -g @solid/community-server
community-solid-server # add parameters if needed

Installing and running from source

npm ci
npm start -- # add parameters if needed

Running via Docker

# Build the Docker image
docker build --rm -f Dockerfile -t css:latest .
# Run the image against your `~/Solid` directory on `http://localhost:3000`
docker run --rm -v ~/Solid:/data -p 3000:3000 -it css:latest
# Use alternative built-in configurations
docker run --rm -p 3000:3000 -it css:latest -c config/default.json
# Use your own configuration mapped to the right directory
docker run --rm -v ~/solid-config:/config -p 3000:3000 -it css:latest -c /config/my-config.json

Configuring the server

Community Solid Server (CSS) uses ComponentJS to manage all configuration for the server. There are a variety of configuration files for common use cases in the config folder.

Additional recipes for configuring and deploying the server can be found at solid/community-server-recipes.

Parameter Default Description
--port, -p 3000
--baseUrl. -b "http://localhost:$PORT/" Needs to be set to the base URL of the server for authentication and authorization to function.
--config, -c "config/default.json" config/default.json stores all data in memory. To persist data to your filesystem, try config/file.json
--mainModulePath, -m Absolute path to the package root from which ComponentJS module resolution should start.
--loggingLevel, -l "info"
--rootFilePath, -f "./" Folder to start the server in when using a file-based config.
--sparqlEndpoint, -s Endpoint to call when using a SPARQL-based config.
--showStackTrace, -t false Whether error stack traces should be shown in responses.
--podConfigJson "./pod-config.json" JSON file to store pod configuration when using a dynamic config.

Developing server code

The 📗 API documentation and the 📐 architectural diagram can help you find your way.

If you want to help out with the development of this server, have a look at the 📓 developer notes and 🛠️ good first issues.

Description
An open and modular implementation of the Solid specifications
Readme
Languages
TypeScript 97.6%
EJS 1%
HTML 0.4%
JavaScript 0.4%
Handlebars 0.2%
Other 0.4%