Skip to content
Open
Show file tree
Hide file tree
Changes from all 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
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ Skills specific to the Solid platform and its specifications.
| Skill | Description |
|-------|-------------|
| [spec.md](solid/spec.md) | Solid Protocol, WebID Profile, Solid-OIDC, and ACP specifications |
| [servers.md](solid/servers.md) | Community Solid Server, Pivot, public servers, Docker, and CLI |
| [servers.md](solid/servers.md) | Community Solid Server, Pivot, JavaScript Solid Server (JSS), public servers, Docker, and CLI |
| [style-guide.md](solid/style-guide.md) | Logo, brand colours (#7C4DFF), and usage rules |
| [data-modelling.md](solid/data-modelling.md) | Vocabularies, SHACL |
| [integration-guide.md](solid/integration-guide.md) | @inrupt/solid-client, @inrupt/solid-client-authn, and N3.js |
Expand Down
72 changes: 72 additions & 0 deletions solid/servers.md
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,76 @@ Default port: 3000 (same as CSS)

---

## JavaScript Solid Server (JSS)

**Repo**: https://github.com/JavaScriptSolidServer/JavaScriptSolidServer
**Docs**: https://javascriptsolidserver.github.io/docs/

A minimal, JSON-LD native Solid server. Stores resources as JSON-LD on disk; serves Turtle via optional content negotiation. Targets local development and self-hosted deployments.

### Requirements

- Node.js 18+
- npm or npx

### Quick Start

```bash
npx javascript-solid-server start
```

Server available at http://localhost:4443/

### Global Install

```bash
npm install -g javascript-solid-server
jss start
```

### Common Options

```bash
jss start --port 8443 --idp --mashlib --conneg
```

### Key CLI Flags

| Flag | Default | Description |
|------|---------|-------------|
| `--port, -p` | `4443` | TCP port to listen on |
| `--baseUrl, -b` | `http://localhost:4443/` | Base URL for generated resource URIs |
| `--idp` | off | Enable built-in Solid-OIDC Identity Provider |
| `--mashlib` | off | Mount mashlib data browser at `/` |
| `--conneg` | off | Enable Turtle ↔ JSON-LD content negotiation |
| `--single-user` | off | Run as a personal pod (single-user mode) |

### Storage

File-system backed. JSON-LD is the on-disk canonical format.

### Access Control

Web Access Control (WAC) via `.acl` files.

### Identity

Built-in Solid-OIDC Identity Provider with DPoP, available via `--idp`.

### Multi-user Pods

Path-based (`/alice/`) or subdomain-based (`alice.example.com`).

### Creating a Pod

```bash
curl -X POST http://localhost:4443/.pods \
-H "Content-Type: application/json" \
-d '{"name": "alice"}'
```

---

## Local Development Tips

### Running Two Servers Side-by-Side
Expand Down Expand Up @@ -219,3 +289,5 @@ cd conformance-test-harness
| Start CSS (custom port) | `npx @solid/community-server -p 4000` |
| Start CSS (Docker) | `docker run --rm -v ~/Solid:/data -p 3000:3000 solidproject/community-server:latest -c @css:config/file.json -f /data` |
| Debug logging | `npx @solid/community-server -l debug` |
| Start JSS (ephemeral) | `npx javascript-solid-server start` |
| Start JSS (custom port) | `jss start --port 4000` |