The dashboard is served by the UpNext server included with the upnext package. Start it with the CLI and open it in your browser.
Prerequisites
- Redis 7+ for worker runtime and real-time server streams.
- Optional SQL database if you choose
UPNEXT_BACKEND=sqlite or UPNEXT_BACKEND=postgres.
Start the server
Backend-first: choose persistence with UPNEXT_BACKEND (redis, sqlite, or postgres) before starting the server.
Redis backend (default)
SQLite backend
PostgreSQL backend
Redis-backed persistence with no SQL migrations:UPNEXT_BACKEND=redis \
UPNEXT_REDIS_URL=redis://localhost:6379 \
upnext server start --port 8080
SQLite-backed persistence (tables auto-create at startup):UPNEXT_BACKEND=sqlite \
UPNEXT_DATABASE_URL=sqlite+aiosqlite:///upnext.db \
UPNEXT_REDIS_URL=redis://localhost:6379 \
upnext server start --port 8080
If you’re using PostgreSQL, run migrations first, then start the server:# Run migrations
UPNEXT_BACKEND=postgres \
UPNEXT_DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/upnext \
upnext server db upgrade head
# Start the server
UPNEXT_BACKEND=postgres \
UPNEXT_DATABASE_URL=postgresql+asyncpg://user:pass@localhost:5432/upnext \
UPNEXT_REDIS_URL=redis://localhost:6379 \
upnext server start --port 8080
Need a local PostgreSQL instance? You can start one quickly with Docker:docker run --rm -p 5432:5432 \
-e POSTGRES_DB=upnext \
-e POSTGRES_USER=upnext \
-e POSTGRES_PASSWORD=upnext \
postgres:17-alpine
The dashboard is available at http://localhost:8080.
Authentication
By default, authentication is disabled. To secure a self-hosted dashboard and API, add UPNEXT_AUTH_ENABLED=true and UPNEXT_API_KEY when starting the server. Self-hosted authentication uses one configured bearer token for dashboard and API access. See the Authentication guide for details.
Connect your services
Point your workers and APIs at the server so they report to the dashboard:
UPNEXT_URL=http://localhost:8080 \
UPNEXT_REDIS_URL=redis://localhost:6379 \
upnext run service.py
If authentication is enabled, include UPNEXT_API_KEY:
UPNEXT_URL=http://localhost:8080 \
UPNEXT_API_KEY=your-secret-key \
UPNEXT_REDIS_URL=redis://localhost:6379 \
upnext run service.py
Once connected, your workers, APIs, jobs, and metrics appear in the dashboard in real-time.
Workspace scope
Every UpNext runtime operates inside a workspace namespace.
- Self-hosted server runtime and workers uses the
local workspace namespace.