Skip to content

Getting Started

Parnian Hajian edited this page Apr 23, 2026 · 2 revisions

Getting Started

This page walks you through getting solid.drive running: locally for development, as a production build, or via Docker.


Prerequisites

Get a Solid Pod

solid.drive does not manage your identity; you need a Solid Pod from one of the community providers. After registering you receive a WebID (your Solid identity URI) and a Pod storage root (where your files live).

Provider Sign-up Notes

solidcommunity.net

https://solidcommunity.net/register

Recommended for local development and testing

solidweb.org

https://solidweb.org

Reliable alternative community server

inrupt.net

https://inrupt.net

Do not use with localhost. Blocks OIDC redirects to local URIs

Example identifiers after registration:


Option A: Local Development

git clone https://github.com/WSE-research/Solid-Hello-World-Frontend-React.git
cd Solid-Hello-World-Frontend-React
npm install
npm run dev

The dev server starts at http://localhost:5173.

inrupt.net rejects OIDC redirect URIs pointing to localhost. Use solidcommunity.net or solidweb.org when running locally.

Option B: Production Build

npm run build     # type-check, extract TBox, and bundle
npm run preview   # serve /dist locally to verify the output

Option C: Docker

# Pull and run the published image
docker run -p 3000:80 {docker-image}

The app is served at http://localhost:3000. The image uses a two-stage build: Node 20 compiles the application, then nginx serves the static files on port 80.

To build the image locally instead:

docker build -t solid-drive .
docker run -p 3000:80 solid-drive

Option D: Live Demo

No installation required. A hosted instance is available at:

ℹ️
The live demo at demos.swe.htwk-leipzig.de:3000 is hosted on the HTWK Leipzig server and is only accessible from within the university network or via VPN.

Available npm Scripts

Command Purpose

npm run dev

Extract TBox and start the Vite dev server

npm run build

Extract TBox, type-check, and produce a production bundle

npm run preview

Serve the /dist folder locally

npm test

Run the full test suite once

npm run test:watch

Run tests in watch mode

npm run test:coverage

Run tests and produce a coverage report

npm run lint

Run ESLint across the source

npm run build:ldo

Recompile ShEx shapes to TypeScript bindings in src/.ldo/

npm run tbox:extract

Re-fetch SHACL shapes from datashapes.org and rewrite public/tbox.ttl

ℹ️
npm run dev and npm run build run tbox:extract automatically. Use build:ldo and tbox:extract manually only after editing .shapes/ files or when the upstream ontology changes.

Clone this wiki locally