# ── FlatRender V2 API Gateway ──────────────────────────────────────────────── # Single public entrypoint to all microservices. Auth + data flow through this. # Local dev: gateway on :8088 (GATEWAY_PORT in .env.v2). In Docker: http://gateway:8080 API_GATEWAY_URL=http://localhost:8088 # Client-side base (future direct data calls). Include the /v1 prefix. NEXT_PUBLIC_API_URL=http://localhost:8088/v1 # Tenant the public site authenticates against (Identity service). NEXT_PUBLIC_TENANT_SLUG=flatrender # FlatRender Admin API (LEGACY V1 — being replaced by the gateway above) # Run the admin-api service at D:\Projects\flatrender-admin\admin-api # Leave empty to use hardcoded fallback data ADMIN_API_URL=http://localhost:5000 # Image editor — background removal (https://www.remove.bg/api) REMOVE_BG_API_KEY= # Optional self-hosted rembg HTTP endpoint (POST raw image bytes → PNG) REMBG_SERVICE_URL= # Video render pipeline RENDER_WORKER_URL=http://localhost:3355 RENDER_WORKER_SECRET= RENDER_WORKER_PORT=3355 RENDER_MOCK=true NEXRENDER_TEMPLATE_SRC=file:///path/to/template.aep NEXRENDER_COMPOSITION=CreatorStudio_Main NEXRENDER_BINARY= NEXRENDER_SERVER_URL= NEXRENDER_WORKPATH=.nexrender # Site URL for SEO metadata, OAuth, and Stripe redirects NEXT_PUBLIC_SITE_URL=http://localhost:3000 # Supabase — required for auth, dashboard, and saving projects (templates → studio) # https://supabase.com/dashboard/project/_/settings/api # Without these, `npm run dev` still opens the studio via a local mock project ID (dev only). NEXT_PUBLIC_SUPABASE_URL=https://your-project.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=your-anon-key SUPABASE_SERVICE_ROLE_KEY=your-service-role-key # Stripe — https://dashboard.stripe.com/apikeys STRIPE_SECRET_KEY=sk_test_... STRIPE_WEBHOOK_SECRET=whsec_... # Stripe Price IDs (Products → each price → copy ID) STRIPE_PRICE_PRO_MONTHLY=price_... STRIPE_PRICE_PRO_ANNUAL=price_... STRIPE_PRICE_BUSINESS_MONTHLY=price_... STRIPE_PRICE_BUSINESS_ANNUAL=price_...