mirror of
https://github.com/block/buzz.git
synced 2026-10-27 04:30:52 +00:00
Initial release — Sprout Nostr relay with enterprise extensions (#2)
This commit is contained in:
98
.env.example
Normal file
98
.env.example
Normal file
@@ -0,0 +1,98 @@
|
||||
# =============================================================================
|
||||
# Sprout Backend — Local Development Environment
|
||||
# =============================================================================
|
||||
# Copy this file to .env and adjust as needed:
|
||||
# cp .env.example .env
|
||||
#
|
||||
# All defaults here work with `docker compose up` out of the box.
|
||||
#
|
||||
# Service ports (defaults):
|
||||
# MySQL → localhost:3306
|
||||
# Redis → localhost:6379
|
||||
# Typesense → localhost:8108
|
||||
# Adminer → localhost:8082 (DB browser UI)
|
||||
#
|
||||
# Note: If port 8082 conflicts, change the adminer port in docker-compose.yml
|
||||
# =============================================================================
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Database (MySQL 8.0)
|
||||
# -----------------------------------------------------------------------------
|
||||
DATABASE_URL=mysql://sprout:sprout_dev@localhost:3306/sprout
|
||||
MYSQL_ROOT_PASSWORD=sprout_dev
|
||||
MYSQL_USER=sprout
|
||||
MYSQL_PASSWORD=sprout_dev
|
||||
MYSQL_DATABASE=sprout
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Redis 7
|
||||
# -----------------------------------------------------------------------------
|
||||
REDIS_URL=redis://localhost:6379
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Typesense (search)
|
||||
# -----------------------------------------------------------------------------
|
||||
TYPESENSE_API_KEY=sprout_dev_key
|
||||
TYPESENSE_URL=http://localhost:8108
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Relay (WebSocket server)
|
||||
# -----------------------------------------------------------------------------
|
||||
# Bind address for the relay (host:port)
|
||||
SPROUT_BIND_ADDR=0.0.0.0:3000
|
||||
# Public WebSocket URL — used in NIP-42 auth challenges
|
||||
RELAY_URL=ws://localhost:3000
|
||||
# Set to true in production to require bearer token authentication
|
||||
SPROUT_REQUIRE_AUTH_TOKEN=false
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Auth
|
||||
# -----------------------------------------------------------------------------
|
||||
# Set to false for dev (accepts NIP-42 without JWT, allows X-Pubkey header).
|
||||
# Set to true in production to require bearer token authentication.
|
||||
SPROUT_REQUIRE_AUTH_TOKEN=false
|
||||
|
||||
# JWKS endpoint for verifying JWT access tokens.
|
||||
# Claim that carries the user's Nostr public key (hex, 32 bytes).
|
||||
OKTA_PUBKEY_CLAIM=nostr_pubkey
|
||||
|
||||
# ── Keycloak (local OAuth testing — stands in for Okta in prod) ──────────────
|
||||
# Keycloak is NOT a production dependency. It lets you test the full OAuth
|
||||
# flow locally without needing an Okta tenant. Run `docker compose up -d`
|
||||
# then `./scripts/setup-keycloak.sh` to create the realm, client, and users.
|
||||
#
|
||||
# Admin UI: http://localhost:8180 (admin / admin)
|
||||
# Get a token:
|
||||
# curl -s -X POST http://localhost:8180/realms/sprout/protocol/openid-connect/token \
|
||||
# -d 'client_id=sprout-desktop&grant_type=password&username=tyler&password=password123' \
|
||||
# | jq -r .access_token
|
||||
OKTA_JWKS_URI=http://localhost:8180/realms/sprout/protocol/openid-connect/certs
|
||||
OKTA_ISSUER=http://localhost:8180/realms/sprout
|
||||
OKTA_AUDIENCE=sprout-desktop
|
||||
|
||||
# ── Okta (production / staging) ──────────────────────────────────────────────
|
||||
# Uncomment and fill in when deploying against a real Okta tenant.
|
||||
# OKTA_JWKS_URI=https://dev-example.okta.com/oauth2/default/v1/keys
|
||||
# OKTA_ISSUER=https://dev-example.okta.com/oauth2/default
|
||||
# OKTA_AUDIENCE=sprout-api
|
||||
# OKTA_PUBKEY_CLAIM=nostr_pubkey
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Logging / Tracing
|
||||
# -----------------------------------------------------------------------------
|
||||
RUST_LOG=sprout_relay=debug,sprout_db=debug,sprout_auth=debug,sprout_pubsub=debug,tower_http=debug
|
||||
|
||||
# OTLP tracing endpoint (optional — leave unset to disable)
|
||||
# OTEL_EXPORTER_OTLP_ENDPOINT=http://localhost:4317
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# sqlx (offline mode for Docker builds — set to true in CI/Docker)
|
||||
# -----------------------------------------------------------------------------
|
||||
SQLX_OFFLINE=false
|
||||
|
||||
# -----------------------------------------------------------------------------
|
||||
# Huddle (LiveKit integration)
|
||||
# -----------------------------------------------------------------------------
|
||||
# LIVEKIT_API_KEY=devkey
|
||||
# LIVEKIT_API_SECRET=devsecret
|
||||
# LIVEKIT_URL=ws://localhost:7880
|
||||
Reference in New Issue
Block a user