# ============================================ # Hetzner Self-Hosted Stack — Environment Variables # Copy to .env and fill in your values: # cp .env.example .env # ============================================ # --- new-api (LLM proxy) --- # Admin access token for new-api management API (also used by init-channels.sh) NEW_API_ACCESS_TOKEN=change-me-to-a-random-string OPENROUTER_API_KEY=sk-or-... SILICONFLOW_API_KEY=sk-... DEEPINFRA_API_KEY=... GROQ_API_KEY=gsk_... CEREBRAS_API_KEY=... # --- Open WebUI --- # API token created in new-api (or via init-channels.sh) OPENWEBUI_API_KEY=sk-... # --- Grafana --- GRAFANA_ADMIN_PASSWORD=change-me-to-a-secure-password # --- Cloudflare Tunnel --- # Create a tunnel in Cloudflare Zero Trust dashboard → Networks → Tunnels # Copy the token from the tunnel install command CLOUDFLARE_TUNNEL_TOKEN=eyJ... # --- Tailscale --- # Generate at https://login.tailscale.com/admin/settings/keys # Use a reusable + ephemeral key for unattended servers TS_AUTHKEY=tskey-auth-... # --- SearXNG --- # Random secret key for SearXNG (generate with: openssl rand -hex 32) SEARXNG_SECRET_KEY=change-me-to-a-random-hex-string