Skip to content
You are reading the HappyView v2 docs, which are no longer updated. Read the v3 docs.

From Source

This guide runs HappyView directly with cargo run. If you’d rather run the whole stack in containers, see Local Development. To deploy from prebuilt images, see Docker.

  • Rust (stable)
  • (Optional) PostgreSQL 17+ if you prefer Postgres over the default SQLite
Terminal window
git clone git@github.com:gamesgamesgamesgamesgames/happyview
cd happyview
cp .env.example .env

Edit .env to point at your running services:

Terminal window
# SQLite (default — no setup needed, file created automatically)
DATABASE_URL=sqlite://data/happyview.db?mode=rwc
PUBLIC_URL=http://127.0.0.1:3000
SESSION_SECRET=change-me-in-production

Or if you prefer Postgres:

Terminal window
DATABASE_URL=postgres://happyview:happyview@localhost/happyview

See Configuration for all available variables and the database setup guide for details on both backends.

If using SQLite, skip this step — HappyView creates the database file automatically.

If using Postgres:

Terminal window
createdb happyview

Or if using a Postgres user with a password:

Terminal window
psql -c "CREATE DATABASE happyview;" -U postgres

HappyView runs migrations automatically on startup, so no manual migration step is needed.

Terminal window
cargo run

HappyView starts on port 3000 (configurable via the PORT environment variable).

Your HappyView instance is running. Follow the Statusphere tutorial to upload lexicons, add custom query logic, and start indexing records from the network.