# ═══════════════════════════════════════════════════════════════ # SSH Launcher — Environment Variables # Copy to .env.local for local dev, or paste into Vercel dashboard # (Settings → Environment Variables → Import .env) # ═══════════════════════════════════════════════════════════════ # ── GitHub OAuth ───────────────────────────────────────────── # Create at https://github.com/settings/developers → New OAuth App # Homepage URL: https://your-domain.vercel.app # Callback URL: https://your-domain.vercel.app/api/auth/callback/github GITHUB_CLIENT_ID=Ov23liBlDuiNR8E2ZmPR GITHUB_CLIENT_SECRET=dfd1251347afb0fb09d0ceb97bd53de301b23768 # ── NextAuth ───────────────────────────────────────────────── # Generate secret: openssl rand -base64 32 NEXTAUTH_SECRET=N0yaiIpxiVxJrU+xG8cG1CWKRNQ2q3NYjLvd0eEMpic= # Required only when self-hosting (Vercel sets this automatically) # NEXTAUTH_URL=https://your-domain.vercel.app # ── Upstash Redis ───────────────────────────────────────────── # Stores per-user Cloudflare credentials (multi-user) # Create a free database at https://console.upstash.com # Copy the REST API URL and Token from the database dashboard UPSTASH_REDIS_URL=https://native-tadpole-80150.upstash.io UPSTASH_REDIS_TOKEN=gQAAAAAAATkWAAIncDIzMWVkNTgxMDMzMzQ0OWVlYjRkY2RiOGM3NTlkYjdlNXAyODAxNTA # ── Cloudflare API (optional — can set per-user via /settings) ─ # If set here, all users share these credentials (single-user mode) # Required Token permissions: # Account → Cloudflare Tunnel: Edit # Account → Access: Apps and Policies: Edit # Zone → DNS: Edit # Zone → Zone: Read CLOUDFLARE_ACCOUNT_ID=d6c7c05733970cca34c3f3a734195de0 CLOUDFLARE_API_TOKEN=cfut_kNwpPHUr33ZZqvBl1WJpGA6bBiw5wpfTs8LW8kPAbf601ad8 # ── Cloudflare Access Service Token (optional) ─────────────── # Used to fetch server metrics through Access-protected tunnels # Create in Zero Trust → Access → Service Auth → Service Tokens CF_SERVICE_CLIENT_ID= CF_SERVICE_CLIENT_SECRET=