A lexicon-driven AppView for ATProto.
1# Database — SQLite is the default (zero setup required).
2# Uncomment the Postgres line instead if you need Postgres for scale.
3DATABASE_URL=sqlite://data/happyview.db?mode=rwc
4# DATABASE_URL=postgres://happyview:happyview@postgres/happyview
5# POSTGRES_USER=happyview
6# POSTGRES_PASSWORD=happyview
7# POSTGRES_DB=happyview
8
9# HappyView
10PUBLIC_URL=http://127.0.0.1:3000
11# REQUIRED: signs the dashboard/admin session cookie. Generate a random value of
12# at least 32 bytes, e.g. `openssl rand -base64 48`. If unset or insecure, the
13# server still starts but cookie-based login is disabled until you fix it.
14SESSION_SECRET=
15RELAY_URL=https://relay1.us-east.bsky.network
16PORT=3000
17
18# Cloudflare Tunnel — exposes the backend via a public HTTPS URL.
19# Named tunnel (stable hostname): set CLOUDFLARE_TUNNEL_TOKEN from your
20# Cloudflare dashboard and update PUBLIC_URL to match.
21# Quick tunnel (random hostname): leave CLOUDFLARE_TUNNEL_TOKEN blank and
22# check `docker compose logs tunnel` for the *.trycloudflare.com URL.
23# CLOUDFLARE_TUNNEL_TOKEN=
24
25# Web dashboard
26WEB_HOSTNAME=0.0.0.0
27API_URL=http://happyview:3000