Just works. Batteries included. Zero configuration.
jspod is the easiest way to run a Solid server. It’s a thin wrapper around JavaScriptSolidServer with sensible defaults and a beautiful CLI.
# Run instantly with npx (no installation required!)
npx jspod
# That's it! Your Solid server is running at http://localhost:3000
npx jspod and you’re runningBuilt on JavaScriptSolidServer with all features enabled:
npx jspod
npm install -g jspod
jspod
npm install jspod
npx jspod
# Start with defaults (port 3000, single-user)
jspod
# Custom port
jspod --port 8080
# Custom data directory
jspod --root /var/pods
# Multi-user mode
jspod --multiuser
Options:
-p, --port <number> Port to listen on (default: 3000)
-h, --host <address> Host to bind to (default: 0.0.0.0)
-r, --root <path> Data directory (default: ./pod-data)
--multiuser Enable multi-user mode
--no-auth Disable authentication
--help Show help message
# Set JWT secret (recommended for production)
export TOKEN_SECRET="your-secret-key-here"
# Set environment
export NODE_ENV="production"
# Run server
jspod
⚠️ Important: Before deploying to production:
export TOKEN_SECRET="$(openssl rand -base64 32)"
# Example systemd service
sudo systemctl enable jspod
sudo systemctl start jspod
./pod-data directoryjspod --verbose > jspod.log 2>&1
# Start your personal Solid pod
jspod
# Visit http://localhost:3000 in your browser
# Register with passkey, start storing data!
# Run a server for multiple users
jspod --multiuser --port 443 --root /var/solid-pods
# Users can register and get their own pod space
# Run on custom port for development
jspod --port 8080 --root ./dev-data
| Feature | JavaScriptSolidServer | jspod |
|---|---|---|
| Installation | npm install -g javascript-solid-server |
npx jspod |
| Configuration | Config file required | Smart defaults |
| Commands | jss start [options] |
jspod |
| First run | 5+ steps | 1 command |
| Use case | Power users, customization | Quick start, demos |
When to use JavaScriptSolidServer: Production deployments, custom configuration, advanced features
When to use jspod: Quick demos, local development, “just want it to work”
jspod is a thin wrapper that:
Under the hood, jspod runs JavaScriptSolidServer with these options:
| Feature | JSS Flag | Description |
|---|---|---|
| WebSocket Notifications | --notifications |
Real-time updates via WebSockets |
| Content Negotiation | --conneg |
Turtle, JSON-LD, and more |
| Single-user Mode | --no-multiuser |
One pod per server (use --multiuser flag to change) |
| Passkey Auth | (built-in) | Automatic in JSS - no flag needed |
| WebID | (built-in) | Core Solid protocol feature |
{
port: 3000, // Easy to remember
host: '0.0.0.0', // Accept connections from anywhere
root: './pod-data', // Local data directory
multiuser: false, // Single pod per server
TOKEN_SECRET: (auto) // JWT secret (auto-generated, change for production)
}
Step 1: Start the server
npx jspod
Step 2: Open your browser to http://localhost:3000
Step 3: Register with a passkey
Step 4: Start using your pod!
Troubleshooting:
jspod --port 3001./pod-data directorySolid is a web specification that lets people store their data securely in decentralized data stores called Pods. This gives users control over their own data.
Contributions welcome! jspod is intentionally simple - we want to keep it that way.
Philosophy:
See CONTRIBUTING.md for guidelines.
MIT - see LICENSE
jspod is built on top of the excellent JavaScriptSolidServer by Melvin Carvalho and contributors.
Made with ❤️ for the Solid community
“Solid made simple”