# ============================================================================= # Cloudflare R2 Storage (S3-compatible) # ============================================================================= R2_ACCESS_KEY_ID=your_access_key_id R2_SECRET_ACCESS_KEY=your_secret_access_key R2_BUCKET_NAME=your-bucket-name R2_ENDPOINT=https://YOUR_ACCOUNT_ID.r2.cloudflarestorage.com # Public hostname for CDN URLs (used in generated links) CDN_HOST=cdn.hackclub.com # ============================================================================= # Hack Club OAuth # ============================================================================= # Get credentials from Hack Club Auth (https://auth.hackclub.com) HACKCLUB_CLIENT_ID=your_client_id HACKCLUB_CLIENT_SECRET=your_client_secret # Optional: Override auth URL (defaults to staging in dev, production in prod) # HACKCLUB_AUTH_URL=https://auth.hackclub.com # ============================================================================= # Encryption Keys # ============================================================================= # Generate with: ruby -e "require 'securerandom'; puts SecureRandom.hex(32)" LOCKBOX_MASTER_KEY=0000000000000000000000000000000000000000000000000000000000000000 BLIND_INDEX_MASTER_KEY=0000000000000000000000000000000000000000000000000000000000000000 # Active Record Encryption (generate with: bin/rails db:encryption:init) ACTIVE_RECORD_ENCRYPTION_PRIMARY_KEY=your_primary_key ACTIVE_RECORD_ENCRYPTION_DETERMINISTIC_KEY=your_deterministic_key ACTIVE_RECORD_ENCRYPTION_KEY_DERIVATION_SALT=your_key_derivation_salt # ============================================================================= # Database (production only - dev uses cdn_development/cdn_test) # ============================================================================= # DATABASE_HOST=localhost # DATABASE_USER=cdn # DATABASE_PASSWORD=your_password # DATABASE_NAME=cdn_production # Solid Cache/Queue/Cable databases (optional, defaults provided) # CACHE_DATABASE_HOST=localhost # QUEUE_DATABASE_HOST=localhost # CABLE_DATABASE_HOST=localhost # ============================================================================= # Optional # ============================================================================= # Sentry error tracking # SENTRY_DSN=https://your-sentry-dsn@sentry.io/project-id # HashID salt (defaults to SECRET_KEY_BASE if not set) # HASHID_SALT=your_hashid_salt # Rails configuration # PORT=3000 # RAILS_MAX_THREADS=5 # SECRET_KEY_BASE=your_secret_key_base