Running your own Solid server
A Solid server allows you to register for a Pod and a WebID.
You can either use a publicly available server
or follow the steps on this page to set up your own.
The following open-source servers are available:
- Community Solid Server for Node.js
- Node Solid Server for Node.js
- solid-nextcloud as a plugin for Nextcloud
- PHP Solid Server for PHP
We walk you through the installation of the Community Solid Server below.
We also provide Instructions for Node Solid Server.
Running the Community Solid Server
To run the Community Solid Server, you can choose between:
Via Node.js and npm
Ensure you have installed Node.js.
We support versions 12.7 and up,
but recommend 14 or 16.
To install the server, open a command prompt and type:
npm install -g @solid/community-server
To run the server with in-memory storage, type:
community-solid-server
To run the server with file-based storage, type:
community-solid-server -c @css:config/file.json
You can now access your server locally.
Via Docker
Docker allows you to run the server without having Node.js installed:
# Download the source code
git clone https://github.com/solid/community-server.git
cd community-server
# Build the Docker image
docker build --rm -f Dockerfile -t css:latest .
Run the server as follows:
# Run the image, serving your `~/Solid` directory on `http://localhost:3000`
docker run --rm -v ~/Solid:/data -p 3000:3000 -it css:latest
# Or use one of the built-in configurations
docker run --rm -p 3000:3000 -it css:latest -c config/default.json
# Or 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
Accessing your server
Open your browser and visit http://localhost:3000/. You will be greeted by a welcome page.
This welcome page is hosted on a root Pod, to which you and your apps can read and write.
Creating your own account
To create your own account,
visit http://localhost:3000/idp/register/.
The server can then host your Pod and WebID.
Exposing your server publicly
The Solid server will run as a local Web server. You can expose the server directly either by running it on a public port or by placing it behind a reverse proxy.
When going public,
be sure to tell the server its base URL via the -b
flag:
community-solid-server -b https://server.example/
Here are instructions to set up common proxy servers:
Feedback and questions
If you have feedback or questions about the server, don’t hesitate to start a discussion or report a bug.