this repo has no description
1# ============================================================================= 2# Server 3# ============================================================================= 4SERVER_HOST=127.0.0.1 5SERVER_PORT=3000 6# The public-facing hostname of the PDS (used in DID documents, JWTs, etc.) 7PDS_HOSTNAME=localhost:3000 8# ============================================================================= 9# Database 10# ============================================================================= 11DATABASE_URL=postgres://postgres:postgres@localhost:5432/pds 12# Connection pool settings (defaults are good for most deployments) 13# DATABASE_MAX_CONNECTIONS=100 14# DATABASE_MIN_CONNECTIONS=10 15# DATABASE_ACQUIRE_TIMEOUT_SECS=30 16# ============================================================================= 17# Blob Storage (S3-compatible) 18# ============================================================================= 19S3_ENDPOINT=http://localhost:9000 20AWS_REGION=us-east-1 21S3_BUCKET=pds-blobs 22AWS_ACCESS_KEY_ID=minioadmin 23AWS_SECRET_ACCESS_KEY=minioadmin 24# ============================================================================= 25# Valkey (for caching and distributed rate limiting) 26# ============================================================================= 27# If not set, falls back to in-memory caching (single-node only) 28# VALKEY_URL=redis://localhost:6379 29# ============================================================================= 30# Security Secrets 31# ============================================================================= 32# These MUST be set in production (minimum 32 characters each) 33# In development, set BSPDS_ALLOW_INSECURE_SECRETS=1 to use defaults 34# Server-wide secret for OAuth token signing (HS256) 35# JWT_SECRET=your-secure-random-string-at-least-32-chars 36# Secret for DPoP proof validation 37# DPOP_SECRET=your-secure-random-string-at-least-32-chars 38# Key for encrypting user signing keys at rest (AES-256-GCM) 39# MASTER_KEY=your-secure-random-string-at-least-32-chars 40# Set this ONLY in development to allow default/weak secrets 41# BSPDS_ALLOW_INSECURE_SECRETS=1 42# ============================================================================= 43# PLC Directory 44# ============================================================================= 45# PLC_DIRECTORY_URL=https://plc.directory 46# PLC_TIMEOUT_SECS=10 47# PLC_CONNECT_TIMEOUT_SECS=5 48# Optional: rotation key for PLC operations (defaults to user's key) 49# PLC_ROTATION_KEY=did:key:... 50# ============================================================================= 51# AppView Federation 52# ============================================================================= 53# AppViews are resolved via DID-based discovery. Configure by mapping lexicon 54# namespaces to AppView DIDs. The DID document is fetched and the service 55# endpoint is extracted automatically. 56# 57# Format: APPVIEW_DID_<NAMESPACE>=<did> 58# Where <NAMESPACE> uses underscores instead of dots (e.g., APP_BSKY for app.bsky) 59# 60# Default: app.bsky and com.atproto -> did:web:api.bsky.app 61# 62# Examples: 63# APPVIEW_DID_APP_BSKY=did:web:api.bsky.app 64# APPVIEW_DID_COM_WHTWND=did:web:whtwnd.com 65# APPVIEW_DID_BLUE_ZIO=did:plc:some-custom-appview 66# 67# Cache TTL for resolved AppView endpoints (default: 300 seconds) 68# APPVIEW_CACHE_TTL_SECS=300 69# 70# Comma-separated list of relay URLs to notify via requestCrawl 71# CRAWLERS=https://bsky.network,https://relay.upcloud.world 72# ============================================================================= 73# Firehose (subscribeRepos WebSocket) 74# ============================================================================= 75# Buffer size for firehose broadcast channel 76# FIREHOSE_BUFFER_SIZE=10000 77# Disconnect slow consumers after this many events of lag 78# FIREHOSE_MAX_LAG=5000 79# ============================================================================= 80# Notification Service 81# ============================================================================= 82# Queue processing settings 83# NOTIFICATION_BATCH_SIZE=100 84# NOTIFICATION_POLL_INTERVAL_MS=1000 85# Email notifications (via sendmail/msmtp) 86# MAIL_FROM_ADDRESS=noreply@example.com 87# MAIL_FROM_NAME=My PDS 88# SENDMAIL_PATH=/usr/sbin/sendmail 89# Discord notifications (via webhook) 90# DISCORD_WEBHOOK_URL=https://discord.com/api/webhooks/... 91# Telegram notifications (via bot) 92# TELEGRAM_BOT_TOKEN=your-bot-token 93# Signal notifications (via signal-cli) 94# SIGNAL_CLI_PATH=/usr/local/bin/signal-cli 95# SIGNAL_SENDER_NUMBER=+1234567890 96# ============================================================================= 97# Repository Import 98# ============================================================================= 99# Set to "true" to accept repository imports 100# ACCEPTING_REPO_IMPORTS=false 101# Maximum import size in bytes (default: 50MB) 102# MAX_IMPORT_SIZE=52428800 103# Maximum blocks per import (default: 100000) 104# MAX_IMPORT_BLOCKS=100000 105# Skip verification during import (testing only) 106# SKIP_IMPORT_VERIFICATION=false 107# ============================================================================= 108# Account Registration 109# ============================================================================= 110# Require invite codes for registration 111# INVITE_CODE_REQUIRED=false 112# Comma-separated list of available user domains 113# AVAILABLE_USER_DOMAINS=example.com 114# ============================================================================= 115# Rate Limiting 116# ============================================================================= 117# Disable all rate limiting (testing only, NEVER in production) 118# DISABLE_RATE_LIMITING=1 119# ============================================================================= 120# Miscellaneous 121# ============================================================================= 122# Allow HTTP for proxy requests (development only) 123# ALLOW_HTTP_PROXY=1 124# Custom frontend directory (defaults to ./frontend/dist) 125# FRONTEND_DIR=/path/to/frontend/dist 126CARGO_MOMMYS_LITTLE=mister 127CARGO_MOMMYS_PRONOUNS=his 128CARGO_MOMMYS_ROLES=daddy 129CARGO_MOMMYS_EMOTES="🚛/🧱/🚜/🔩/🦺" 130CARGO_MOMMYS_MOODS=ominous