From Source
This guide runs HappyView directly with cargo run. If you’d rather run the whole stack in containers, see Running the development stack in HappyView’s CONTRIBUTING.md. To deploy from prebuilt images, see Docker.
Prerequisites
Section titled “Prerequisites”- Rust (stable)
- (Optional) PostgreSQL 17+ if you prefer Postgres over the default SQLite
1. Clone and configure
Section titled “1. Clone and configure”git clone git@github.com:gamesgamesgamesgamesgames/happyviewcd happyviewcp .env.example .envEdit .env to point at your running services:
# 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-productionOr if you prefer Postgres:
DATABASE_URL=postgres://happyview:happyview@localhost/happyviewSee Configuration for all available variables and the database setup guide for details on both backends.
2. Create the database (Postgres only)
Section titled “2. Create the database (Postgres only)”If using SQLite, skip this step — HappyView creates the database file automatically.
If using Postgres:
createdb happyviewOr if using a Postgres user with a password:
psql -c "CREATE DATABASE happyview;" -U postgresHappyView runs migrations automatically on startup, so no manual migration step is needed.
3. Start HappyView
Section titled “3. Start HappyView”cargo runHappyView starts on port 3000 (configurable via the PORT environment variable).
Next steps
Section titled “Next steps”Your HappyView instance is running. Install an interpreter before saving any script: a self-hosted instance ships with none (Languages). Then deploy a project to it.

