# Environment Configuration NODE_ENV="development" # Options: 'development', 'production' PORT="8000" # The port your server will listen on HOST="localhost" # Hostname for the server PUBLIC_URL="" # Set when deployed publicly, e.g. "https://mysite.com". Informs OAuth client id. DB_PATH=":memory:" # The SQLite database path. Leave as ":memory:" to use a temporary in-memory database. FRONTEND_URL="http://localhost:5174" # Secrets # Must set this in production. May be generated with `openssl rand -base64 33` # COOKIE_SECRET="" XATA_BRANCH=main XATA_API_KEY="your xata api key" XATA_POSTGRES_URL="your xata postgres url" # Optional read/write split. Both fall back to XATA_POSTGRES_URL when unset, # so a deployment that sets only the line above keeps working unchanged. # XATA_READ_POSTGRES_URL="" # read-only replica: lag-tolerant reads # XATA_WRITE_POSTGRES_URL="" # primary: all writes, plus scrobbles/now-playing/follows/likes SPOTIFY_REDIRECT_URI="http://localhost:8000/spotify/callback" SPOTIFY_CLIENT_ID="your spotify client id" SPOTIFY_CLIENT_SECRET="your spotify" SPOTIFY_ENCRYPTION_KEY="your spotify encryption secret" SPOTIFY_ENCRYPRION_IV="your spotify encryption iv" ROCKSKY_BETA_TOKEN="your rocksky beta token" NATS_URL="nats://localhost:4223" ANALYTICS_URL="http://localhost:7879" # Rocksky's own feed-generator service (apps/feeds) on this same host: # getFeed.ts calls it directly instead of resolving our feeds over public # DNS/TLS. Must match the port apps/feeds actually listens on (8002 locally, # 8003 in prod) — pointing it elsewhere breaks every native feed. ROCKSKY_FEEDGEN_DID="did:web:discover.rocksky.app" ROCKSKY_FEEDGEN_PORT="8002" # Opt in to Discogs enrichment for new scrobbles and the backfill script. DISCOGS_ENRICHMENT_ENABLED=false DISCOGS_URL="http://localhost:8095" # The following envs depends on your docker compose setup POSTGRES_URL="postgresql://postgres:mysecretpassword@localhost:5433/rocksky" TYPESENSE_HOST="localhost" TYPESENSE_PORT="8108" TYPESENSE_PROTOCOL="http" TYPESENSE_API_KEY="xyz" REDIS_URL="redis://localhost:6380" # OAuth public key set; must match PRIVATE_KEY_1/2/3 for production HTTPS. JWKS_JSON='{"keys":[]}'