···
+
# Coves Environment Configuration
+
# Copy this file to .env and update values for your deployment
+
# === Database Configuration ===
+
DATABASE_URL=postgres://dev_user:dev_password@localhost:5433/coves_dev?sslmode=disable
+
# === PDS Configuration ===
+
PDS_URL=http://localhost:3001
+
# === Server Configuration ===
+
API_BASE_URL=https://api.coves.social
+
# === Identity Resolution ===
+
IDENTITY_PLC_URL=https://plc.directory
+
# === Jetstream Configuration ===
+
JETSTREAM_URL=wss://jetstream2.us-east.bsky.network/subscribe?wantedCollections=app.bsky.actor.profile
+
JETSTREAM_PDS_FILTER= # Optional: filter to specific PDS
+
# === OAuth Configuration ===
+
OAUTH_COOKIE_SECRET= # Base64-encoded 32-byte secret (generate with: openssl rand -base64 32)
+
OAUTH_PRIVATE_JWK= # Private JWK for signing OAuth tokens (generate with: cmd/genjwks)
+
# === Verification Service (DID Configuration) ===
+
# DID for signing phone verifications (e.g., did:web:coves.social)
+
VERIFICATION_SERVICE_DID=did:web:coves.social
+
# Private key for signing verifications (PEM format, P-256 EC key)
+
# Generate with: openssl ecparam -name prime256v1 -genkey -noout
+
VERIFICATION_PRIVATE_KEY= # Base64-encoded PEM or plain PEM
+
# === SMS Provider (Telnyx) ===
+
TELNYX_API_KEY= # Your Telnyx API key
+
TELNYX_MESSAGING_PROFILE_ID= # Your Telnyx messaging profile ID
+
TELNYX_FROM_NUMBER= # Phone number to send SMS from (E.164 format)
+
# === Security Configuration ===
+
# Secret pepper for hashing phone numbers (generate with: openssl rand -base64 32)
+
PHONE_HASH_PEPPER= # NEVER change this after initial setup!
+
# === Rate Limiting ===
+
# Phone verification rate limits
+
PHONE_VERIFICATION_RATE_LIMIT_PER_PHONE=3 # Max requests per phone per hour
+
PHONE_VERIFICATION_RATE_LIMIT_PER_DID=5 # Max requests per user per day