mirror of
https://github.com/CommunitySolidServer/CommunitySolidServer.git
synced 2024-10-03 14:55:10 +00:00
74 lines
4.3 KiB
Markdown
74 lines
4.3 KiB
Markdown
# Community Solid Server
|
||
[](https://github.com/solid/community-server/actions)
|
||
[](https://coveralls.io/github/solid/community-server)
|
||
[](https://www.npmjs.com/package/@solid/community-server)
|
||
|
||
**An open and modular implementation of the
|
||
[Solid](https://solidproject.org/)
|
||
[specifications](https://solid.github.io/specification/)**
|
||
|
||
- 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
|
||
```shell
|
||
npm install -g @solid/community-server
|
||
community-solid-server # add parameters if needed
|
||
```
|
||
|
||
### Installing and running from source
|
||
```shell
|
||
npm ci
|
||
npm start -- # add parameters if needed
|
||
```
|
||
|
||
### Running via Docker
|
||
```shell
|
||
# 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](https://componentsjs.readthedocs.io/en/latest/) 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](https://github.com/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](https://solid.github.io/community-server/docs/) and
|
||
the [📐 architectural diagram](https://rubenverborgh.github.io/solid-server-architecture/solid-architecture-v1-3-0.pdf)
|
||
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](guides/developer-notes.md) and
|
||
[🛠️ good first issues](https://github.com/solid/community-server/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22).
|