Quick Start
Go from zero to a running NaaP platform in under 30 seconds.
First-Time Setup#
From a fresh clone to a fully running platform:
Terminal
$git clone https://github.com/livepeer/naap.git && cd naap && ./bin/start.sh
This handles everything automatically:
- Installs dependencies (
npm install) - Starts a PostgreSQL database via Docker
- Creates all database schemas (public + plugin schemas)
- Auto-generates all
.envfiles with development defaults - Seeds the database with initial data
- Builds all 12 plugin UMD bundles
- Starts the full platform
Open http://localhost:3000 when setup completes.
Setup runs automatically on first start.
Daily Development (after first setup)#
Terminal
# Recommended daily driver (~6s)
$./bin/start.sh # auto-detects your changed plugins
# Start a specific plugin (~6s)
$./bin/start.sh community # shell + community backend
# Start multiple plugins (~8s)
$./bin/start.sh gateway-manager community
# Everything (~10s warm)
$./bin/start.sh --all
# Stop (~2s)
$./bin/stop.sh
How smart start works#
Smart start is designed for the typical developer who works on one plugin at a time:
- Skips redundant DB sync and plugin verification
- Compares source hashes to detect which plugins you changed
- Rebuilds only the changed plugin(s)
- Starts shell + marketplace + your changed plugin backends
- If nothing changed, starts shell only
Result: 6-8 second startup, every time.
Verify Everything Works#
Terminal
$./bin/start.sh validate
This runs a full health check across all services, CDN bundles, and database schemas.
Stop & Restart#
Terminal
$./bin/stop.sh # parallel stop (~2s)
$./bin/start.sh restart # stop + start
$./bin/start.sh watch # live dashboard (auto-refreshes)
Add --timing to see where time goes#
Terminal
$./bin/start.sh --all --timing
# Infrastructure 1s
# Plugin builds 0s (all cached)
# Core services 3s
# Shell + backends 2s
# Verification 1s
# TOTAL 7s
Development URLs#
| Service | URL | Description |
|---|---|---|
| Shell | http://localhost:3000 | Main application |
| Base Service | http://localhost:4000/healthz | Core API |
| Plugin Server | http://localhost:3100/plugins | Plugin asset server |
Plugin backends run on ports 4001-4012. Run ./bin/start.sh status for the full list.
What's Next?#
- Learn about the Architecture behind NaaP
- Follow the full Plugin Development Guide
- Explore the SDK Hooks available to your plugin
- Check out Code Snippets for common patterns