Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Split out CSS-specific instructions from self-hosting overview #690

Closed
Closed
Show file tree
Hide file tree
Changes from 2 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
104 changes: 4 additions & 100 deletions _posts/developers/pod-server/2019-01-01-00_overview.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
layout: for-developers
title: "Setting up your own Solid server"
permalink: self-hosting/css
permalink: self-hosting/overview
tags: [pod-server]
categories: [Running Community Solid Server]
exclude: true
Expand All @@ -22,104 +22,8 @@ The following **open-source servers** are available:
* [solid-nextcloud](https://github.com/pdsinterop/solid-nextcloud) as a plugin for Nextcloud
* [PHP Solid Server](https://github.com/pdsinterop/php-solid-server) for PHP

We walk you through the installation of the Community Solid Server below.
<br>
We also provide [Instructions for Node Solid Server](/self-hosting/nss).

# Running the Community Solid Server {#running-css}
To run the Community Solid Server,
you can choose between:

- [Node.js](#nodejs)
- [Docker](#docker)

## Via Node.js and npm {#nodejs}
Ensure you have [installed Node.js](https://nodejs.org/en/download/).
We support versions 12.7 and up,
but recommend 14 or 16.
<br>
To **install the server**, open a command prompt and type:

```shell
npm install -g @solid/community-server
```

To **run the server** with in-memory storage, type:
```shell
community-solid-server
```

To run the server with **file-based storage**, type:
```shell
community-solid-server -c @css:config/file.json
```

You can now [access your server](#access) locally.

## Via Docker {#docker}
[Docker](https://docs.docker.com/get-docker/) allows you to run the server
without having Node.js installed:
```shell
# Clone the repo to get access to the configs
git clone https://github.com/CommunitySolidServer/CommunitySolidServer.git
cd CommunitySolidServer
# Run the image, serving your `~/Solid` directory on `http://localhost:3000`
docker run --rm -v ~/Solid:/data -p 3000:3000 -it solidproject/community-server:latest
# Or use one of the built-in configurations
docker run --rm -p 3000:3000 -it solidproject/community-server -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 solidproject/community-server -c /config/my-config.json
```

## Accessing your server {#access}
Open your browser and visit [http://localhost:3000/](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**.
See [the features matrix](https://github.com/solid/test-suite#table) to find out which server implementation supports which required and/or optional parts of the Solid spec.
michielbdejong marked this conversation as resolved.
Show resolved Hide resolved

![Community Solid Server welcome page](/assets/img/screenshots/css-welcome-page.png)

## Creating your own account {#account}
To create your own account,
visit [http://localhost:3000/idp/register/](http://localhost:3000/idp/register/).
We walk you through the [installation of the Community Solid Server](/self-hosting/css).
<br>
The server can then **host your Pod and WebID**.

![Community Solid Server registration page](/assets/img/screenshots/css-register-page.png)

## Extending your server
The Community Solid Server is highly modular
and supports many different configurations and plugins.

The [Recipes](https://github.com/CommunitySolidServer/Recipes)
contain a couple of examples to get started.

These are some plugins you can add to your server:
- [Dgraph backend](https://github.com/comake/solid-dgraph)
- [Redis backend](https://github.com/comake/solid-redis)
- [Philips Hue backend](https://github.com/RubenVerborgh/solid-hue)

## Exposing your server publicly {#public}

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:

```shell
community-solid-server -b https://server.example/
```

Here are instructions to set up common proxy servers:

- [NGINX](/for-developers/pod-server/nginx)
- [Apache](/for-developers/pod-server/apache)

## Feedback and questions {#feedback}
If you have feedback or questions about the server,
don't hesitate to [start a discussion](https://github.com/CommunitySolidServer/CommunitySolidServer/discussions)
or [report a bug](https://github.com/CommunitySolidServer/CommunitySolidServer/issues).
We also provide [Instructions for Node Solid Server](/self-hosting/nss).
106 changes: 106 additions & 0 deletions _posts/developers/pod-server/2022-04-19-00_css.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
layout: for-developers
title: "Setting up Community Solid server"
permalink: self-hosting/css
tags: [pod-server]
categories: [Running Community Solid Server]
exclude: true
---

# Running the Community Solid Server {#running-css}
To run the Community Solid Server,
you can choose between:

- [Node.js](#nodejs)
- [Docker](#docker)

## Via Node.js and npm {#nodejs}
Ensure you have [installed Node.js](https://nodejs.org/en/download/).
We support versions 12.7 and up,
but recommend 14 or 16.
<br>
To **install the server**, open a command prompt and type:

```shell
npm install -g @solid/community-server
```

To **run the server** with in-memory storage, type:
```shell
community-solid-server
```

To run the server with **file-based storage**, type:
```shell
community-solid-server -c @css:config/file.json
```

You can now [access your server](#access) locally.

## Via Docker {#docker}
[Docker](https://docs.docker.com/get-docker/) allows you to run the server
without having Node.js installed:
```shell
# Clone the repo to get access to the configs
git clone https://github.com/CommunitySolidServer/CommunitySolidServer.git
cd CommunitySolidServer
# Run the image, serving your `~/Solid` directory on `http://localhost:3000`
docker run --rm -v ~/Solid:/data -p 3000:3000 -it solidproject/community-server:latest
# Or use one of the built-in configurations
docker run --rm -p 3000:3000 -it solidproject/community-server -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 solidproject/community-server -c /config/my-config.json
```

## Accessing your server {#access}
Open your browser and visit [http://localhost:3000/](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**.

![Community Solid Server welcome page](/assets/img/screenshots/css-welcome-page.png)

## Creating your own account {#account}
To create your own account,
visit [http://localhost:3000/idp/register/](http://localhost:3000/idp/register/).
<br>
The server can then **host your Pod and WebID**.

![Community Solid Server registration page](/assets/img/screenshots/css-register-page.png)

## Extending your server
The Community Solid Server is highly modular
and supports many different configurations and plugins.

The [Recipes](https://github.com/CommunitySolidServer/Recipes)
contain a couple of examples to get started.

These are some plugins you can add to your server:
- [Dgraph backend](https://github.com/comake/solid-dgraph)
- [Redis backend](https://github.com/comake/solid-redis)
- [Philips Hue backend](https://github.com/RubenVerborgh/solid-hue)

## Exposing your server publicly {#public}

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:

```shell
community-solid-server -b https://server.example/
```

Here are instructions to set up common proxy servers:

- [NGINX](/for-developers/pod-server/nginx)
- [Apache](/for-developers/pod-server/apache)

## Feedback and questions {#feedback}
If you have feedback or questions about the server,
don't hesitate to [start a discussion](https://github.com/CommunitySolidServer/CommunitySolidServer/discussions)
or [report a bug](https://github.com/CommunitySolidServer/CommunitySolidServer/issues).