WIP! A BB-style forum, on the ATmosphere! We're still working... we'll be back soon when we have something to show off!
node typescript hono htmx atproto
at main 48 lines 1.9 kB view raw
1# AppView configuration 2PORT=3000 3FORUM_DID=did:plc:your-forum-did-here 4PDS_URL=https://your-pds.example.com 5JETSTREAM_URL=wss://jetstream2.us-east.bsky.network/subscribe 6 7# Logging 8LOG_LEVEL=info # debug | info | warn | error | fatal 9 10# Database 11# PostgreSQL (default, used with devenv): 12DATABASE_URL=postgres://atbb:atbb@localhost:5432/atbb 13 14# SQLite alternative (no devenv postgres needed): 15# DATABASE_URL=file:./data/atbb.db 16# DATABASE_URL=file::memory:?cache=shared # in-memory, for tests only 17 18# Web UI configuration 19# WEB_PORT=3001 # set in web package, or override here 20APPVIEW_URL=http://localhost:3000 21 22# Forum Service Account credentials (for AppView writes) 23FORUM_HANDLE=your-forum-handle 24FORUM_PASSWORD=your-forum-password 25 26# OAuth Configuration 27OAUTH_PUBLIC_URL=http://localhost:8080 28# The public URL where the forum is accessible (used as OAuth client_id and redirect_uri base). 29# AT Protocol fetches {OAUTH_PUBLIC_URL}/.well-known/oauth-client-metadata — nginx routes 30# this to AppView, so OAUTH_PUBLIC_URL must be the nginx address (not AppView directly). 31# For local dev with devenv: http://localhost:8080 (devenv nginx runs on port 8080) 32# For production: https://your-forum-domain.com 33 34SESSION_SECRET=CHANGE_ME_SEE_COMMENT_BELOW 35# Used for signing session tokens (prevent tampering) 36# Generate with: openssl rand -hex 32 37 38SESSION_TTL_DAYS=7 39# How long sessions last before requiring re-authentication (default: 7 days) 40 41# Optional: Redis session storage (leave blank to use in-memory) 42# REDIS_URL=redis://localhost:6379 43# If set, uses Redis for session storage (supports multi-instance deployment) 44# If blank, uses in-memory storage (single-instance only) 45 46# Role seeding 47SEED_DEFAULT_ROLES=true # Set to "false" to disable auto-seeding on startup 48DEFAULT_MEMBER_ROLE=Member # Role name to auto-assign to new memberships (empty for manual assignment)