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
git
git clone git@github.com:gamesgamesgamesgamesgames/happyviewcd happyviewcp .env.example .env

Edit .env to point at your running services:

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

Or if you prefer Postgres:

Terminal
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:

createdb
createdb happyview

Or if using a Postgres user with a password:

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

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

cargo
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.