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:


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