A lexicon-driven AppView for ATProto.

Configuration #

HappyView is configured via environment variables. A .env file in the project root is loaded automatically on startup. See Deployment for local setup or Production Deployment for production setup.

Environment variables #

Variable Required Default Description
DATABASE_URL yes --- Postgres connection string
AIP_URL yes --- AIP instance URL for OAuth token validation
HOST no 0.0.0.0 Bind host
PORT no 3000 Bind port
TAP_URL no http://localhost:2480 Tap instance URL for real-time record streaming and backfill
TAP_ADMIN_PASSWORD no --- Shared secret for authenticating with Tap's admin endpoints
RELAY_URL no https://bsky.network Relay URL for backfill repo discovery
PLC_URL no https://plc.directory PLC directory URL for DID resolution
RUST_LOG no happyview=debug,tower_http=debug Log filter (uses tracing_subscriber::EnvFilter)

Example .env #

DATABASE_URL=postgres://happyview:happyview@localhost/happyview
AIP_URL=http://localhost:8080

# Optional overrides
# HOST=0.0.0.0
# PORT=3000
# TAP_URL=http://localhost:2480
# TAP_ADMIN_PASSWORD=your-secret-here
# RELAY_URL=https://bsky.network
# PLC_URL=https://plc.directory
# RUST_LOG=happyview=debug,tower_http=debug