# Copy this file to .env for local dev, or add each variable as a Secret in # your Hugging Face Space settings for deployment. Never commit a real .env. # # The app boots and runs in DEMO MODE (in-memory storage, mock AI provider) # if these are left unset, so you can try it out before wiring real services. # --- Supabase (Postgres + Auth) ---------------------------------------------- # Create a free project at https://supabase.com (choose an EU region, e.g. # Frankfurt, for GDPR data residency). Then: # SUPABASE_URL / SUPABASE_ANON_KEY: Project Settings > API # SUPABASE_SERVICE_ROLE_KEY: Project Settings > API (keep this SECRET - # it bypasses Row Level Security; only the backend should ever see it) SUPABASE_URL= SUPABASE_ANON_KEY= SUPABASE_SERVICE_ROLE_KEY= # --- LLM providers ------------------------------------------------------------ # Groq: free tier, get a key at https://console.groq.com/keys GROQ_API_KEY= # Gemini: free tier, get a key at https://aistudio.google.com/app/apikey GEMINI_API_KEY= # --- Stripe ------------------------------------------------------------------- # https://dashboard.stripe.com/apikeys (use test mode keys first: sk_test_...) STRIPE_SECRET_KEY= # https://dashboard.stripe.com/webhooks - create an endpoint pointing at # https://.hf.space/billing/webhook, then copy its signing secret STRIPE_WEBHOOK_SECRET= # Create one recurring Price per paid tier at https://dashboard.stripe.com/products # and paste each Price ID (looks like price_...) below: STRIPE_PRICE_STARTER= STRIPE_PRICE_PRO= STRIPE_PRICE_BUSINESS= # --- Resend (transactional email) - optional for v1 -------------------------- # https://resend.com free tier RESEND_API_KEY= # --- Pricing overrides (optional) --------------------------------------------- # Lets you change prices without a redeploy. Leave unset to use the defaults # baked into app/config.py (149 / 349 / 799 CZK). PRICE_STARTER_CZK= PRICE_PRO_CZK= PRICE_BUSINESS_CZK= PRICE_FREE_GENERATIONS= PRICE_STARTER_GENERATIONS= # --- Misc ---------------------------------------------------------------------- # Public base URL of your deployed app, used to build Stripe redirect URLs. # e.g. https://your-username-etsy-listing-optimizer.hf.space APP_BASE_URL= # Anti-abuse rate limits (requests per minute); defaults shown are sane for v1. GENERATE_RATE_LIMIT_PER_MINUTE=6 AUTH_RATE_LIMIT_PER_MINUTE=10