Local Development with Docker #
This guide runs the full HappyView stack locally using Docker Compose: Postgres, Tap, HappyView, and the web dashboard.
Prerequisites #
- Docker and Docker Compose
- An AIP instance for OAuth. The Docker Compose config points at the public AIP instance at
aip.gamesgamesgamesgames.gamesby default.
:::warning This public AIP instance is provided for development convenience only. Production deployments should run their own AIP instance or risk being blocked. See the AIP documentation for setup. :::
1. Clone and configure #
git clone https://github.com/graze-social/happyview.git
cd happyview
cp .env.example .env
Set TAP_ADMIN_PASSWORD in your .env. This shared secret is used by both Tap and HappyView:
TAP_ADMIN_PASSWORD=your-secret-here
The docker-compose.yml configures everything else (database URLs, service connections) automatically.
2. Start the stack #
docker compose up
This starts:
| Service | Port | Description |
|---|---|---|
| postgres | 5432 | PostgreSQL 17 (databases for both HappyView and Tap) |
| tap | 2480 | Firehose consumer, backfill worker |
| happyview | 3000 | HappyView API server |
| web | 3001 | Next.js dashboard |
HappyView runs migrations automatically on startup. The first build will take a few minutes while Rust compiles.
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.