# =========================================== # LinkedIn Post Creation System - Environment # =========================================== # Web Interface Password (leave empty to disable auth) WEB_PASSWORD=your-secure-password-here SESSION_SECRET=optional-random-string-for-session-security # =========================================== # API Keys # =========================================== # OpenAI API Key (required for post generation) OPENAI_API_KEY=sk-your-openai-key # Perplexity API Key (required for research) PERPLEXITY_API_KEY=pplx-your-perplexity-key # Apify API Key (required for LinkedIn scraping) APIFY_API_KEY=apify_api_your-apify-key # =========================================== # Supabase Database # =========================================== SUPABASE_URL=https://your-project.supabase.co SUPABASE_KEY=your-supabase-anon-key # =========================================== # Optional Settings # =========================================== # LinkedIn Scraping (Apify Actor) APIFY_ACTOR_ID=apimaestro~linkedin-profile-posts # Development DEBUG=false LOG_LEVEL=INFO # =========================================== # Email Settings (for sending posts) # =========================================== # SMTP Server Configuration SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_USER=your-email@gmail.com SMTP_PASSWORD=your-app-password SMTP_FROM_NAME=LinkedIn Post System # Default recipient email (can be overridden in UI) EMAIL_DEFAULT_RECIPIENT= # =========================================== # Writer Features (Advanced) # =========================================== # Multi-Draft: Generate multiple drafts and select the best one # Uses ~2x more API tokens but often produces better results on first try WRITER_MULTI_DRAFT_ENABLED=true WRITER_MULTI_DRAFT_COUNT=3 # Semantic Matching: Select example posts based on topic similarity # instead of random selection (no extra API cost) WRITER_SEMANTIC_MATCHING_ENABLED=true # Learn from Feedback: Analyze recurring critic feedback from past posts # and include lessons learned in the writer prompt (no extra API cost) WRITER_LEARN_FROM_FEEDBACK=true WRITER_FEEDBACK_HISTORY_COUNT=10 # =========================================== # User Frontend (LinkedIn OAuth) # =========================================== # Enable user frontend with LinkedIn OAuth login # When enabled, / shows user login, /admin/* shows admin panel USER_FRONTEND_ENABLED=true # OAuth callback URL (must match Supabase settings) # Local: http://localhost:8000/auth/callback # Production: https://your-domain.com/auth/callback SUPABASE_REDIRECT_URL=http://localhost:8000/auth/callback