Skip to main content

Local Development with Docker

This guide runs HappyView and the dashboard locally using Docker Compose.

Prerequisites

1. Clone and configure

git clone https://github.com/graze-social/happyview.git
cd happyview
cp .env.example .env

Edit .env and set at least PUBLIC_URL (e.g. http://localhost:3000) and SESSION_SECRET (at least 64 characters). The defaults work for everything else. See Configuration for the full list of environment variables.

2. Start the stack

docker compose up

This starts:

ServicePortDescription
happyview3000HappyView API server
web3001Next.js dashboard

HappyView runs migrations automatically on startup. The first build will take a few minutes while Rust compiles.

The happyview container serves its own bundled dashboard at http://localhost:3000, but that copy is baked in at container build time and only updates when you rebuild the image. For day-to-day development, use the dev dashboard at http://localhost:3001 — it hot-reloads on changes to the web/ source.

tip

SQLite is the default and requires no extra services. To use Postgres instead, uncomment the postgres service in docker-compose.yml and update DATABASE_URL in .env. See the database setup guide.

Next steps

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