DB_USER=postgres DB_PASS=your-super-secret-and-long-postgres-password DB_NAME=postgres DB_PORT=5432 DB_HOST=localhost DB_CONNECTION_LIMIT=12 DB_CONNECT_TIMEOUT=60 DB_POOL_TIMEOUT=300 DB_SCHEMA=platform DATABASE_URL="postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}?schema=${DB_SCHEMA}&connect_timeout=${DB_CONNECT_TIMEOUT}" DIRECT_URL="postgresql://${DB_USER}:${DB_PASS}@${DB_HOST}:${DB_PORT}/${DB_NAME}?schema=${DB_SCHEMA}&connect_timeout=${DB_CONNECT_TIMEOUT}" PRISMA_SCHEMA="postgres/schema.prisma" # EXECUTOR NUM_GRAPH_WORKERS=10 BACKEND_CORS_ALLOW_ORIGINS=["http://localhost:3000"] # generate using `from cryptography.fernet import Fernet;Fernet.generate_key().decode()` ENCRYPTION_KEY='dvziYgz0KSK8FENhju0ZYi8-fRTfAdlz6YLhdB_jhNw=' UNSUBSCRIBE_SECRET_KEY = 'HlP8ivStJjmbf6NKi78m_3FnOogut0t5ckzjsIqeaio=' REDIS_HOST=localhost REDIS_PORT=6379 REDIS_PASSWORD=password ENABLE_CREDIT=false STRIPE_API_KEY= STRIPE_WEBHOOK_SECRET= # What environment things should be logged under: local dev or prod APP_ENV=local # What environment to behave as: "local" or "cloud" BEHAVE_AS=local PYRO_HOST=localhost SENTRY_DSN= # Email For Postmark so we can send emails POSTMARK_SERVER_API_TOKEN= POSTMARK_SENDER_EMAIL=invalid@invalid.com POSTMARK_WEBHOOK_TOKEN= ## User auth with Supabase is required for any of the 3rd party integrations with auth to work. ENABLE_AUTH=true SUPABASE_URL=http://localhost:8000 SUPABASE_SERVICE_ROLE_KEY=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyAgCiAgICAicm9sZSI6ICJzZXJ2aWNlX3JvbGUiLAogICAgImlzcyI6ICJzdXBhYmFzZS1kZW1vIiwKICAgICJpYXQiOiAxNjQxNzY5MjAwLAogICAgImV4cCI6IDE3OTk1MzU2MDAKfQ.DaYlNEoUrrEn2Ig7tqibS-PHK5vgusbcbo7X36XVt4Q SUPABASE_JWT_SECRET=your-super-secret-jwt-token-with-at-least-32-characters-long # RabbitMQ credentials -- Used for communication between services RABBITMQ_HOST=localhost RABBITMQ_PORT=5672 RABBITMQ_DEFAULT_USER=rabbitmq_user_default RABBITMQ_DEFAULT_PASS=k0VMxyIJF9S35f3x2uaw5IWAl6Y536O7 ## GCS bucket is required for marketplace and library functionality MEDIA_GCS_BUCKET_NAME= ## For local development, you may need to set FRONTEND_BASE_URL for the OAuth flow ## for integrations to work. Defaults to the value of PLATFORM_BASE_URL if not set. # FRONTEND_BASE_URL=http://localhost:3000 ## PLATFORM_BASE_URL must be set to a *publicly accessible* URL pointing to your backend ## to use the platform's webhook-related functionality. ## If you are developing locally, you can use something like ngrok to get a publc URL ## and tunnel it to your locally running backend. PLATFORM_BASE_URL=http://localhost:3000 ## Cloudflare Turnstile (CAPTCHA) Configuration ## Get these from the Cloudflare Turnstile dashboard: https://dash.cloudflare.com/?to=/:account/turnstile ## This is the backend secret key TURNSTILE_SECRET_KEY= ## This is the verify URL TURNSTILE_VERIFY_URL=https://challenges.cloudflare.com/turnstile/v0/siteverify ## == INTEGRATION CREDENTIALS == ## # Each set of server side credentials is required for the corresponding 3rd party # integration to work. # For the OAuth callback URL, use /auth/integrations/oauth_callback, # e.g. http://localhost:3000/auth/integrations/oauth_callback # GitHub OAuth App server credentials - https://github.com/settings/developers GITHUB_CLIENT_ID= GITHUB_CLIENT_SECRET= # Google OAuth App server credentials - https://console.cloud.google.com/apis/credentials, and enable gmail api and set scopes # https://console.cloud.google.com/apis/credentials/consent ?project= # You'll need to add/enable the following scopes (minimum): # https://console.developers.google.com/apis/api/gmail.googleapis.com/overview ?project= # https://console.cloud.google.com/apis/library/sheets.googleapis.com/ ?project= GOOGLE_CLIENT_ID= GOOGLE_CLIENT_SECRET= # Twitter (X) OAuth 2.0 with PKCE Configuration # 1. Create a Twitter Developer Account: # - Visit https://developer.x.com/en and sign up # 2. Set up your application: # - Navigate to Developer Portal > Projects > Create Project # - Add a new app to your project # 3. Configure app settings: # - App Permissions: Read + Write + Direct Messages # - App Type: Web App, Automated App or Bot # - OAuth 2.0 Callback URL: http://localhost:3000/auth/integrations/oauth_callback # - Save your Client ID and Client Secret below TWITTER_CLIENT_ID= TWITTER_CLIENT_SECRET= # Linear App # Make a new workspace for your OAuth APP -- trust me # https://linear.app/settings/api/applications/new # Callback URL: http://localhost:3000/auth/integrations/oauth_callback LINEAR_CLIENT_ID= LINEAR_CLIENT_SECRET= # To obtain Todoist API credentials: # 1. Create a Todoist account at todoist.com # 2. Visit the Developer Console: https://developer.todoist.com/appconsole.html # 3. Click "Create new app" # 4. Once created, copy your Client ID and Client Secret below TODOIST_CLIENT_ID= TODOIST_CLIENT_SECRET= ## ===== OPTIONAL API KEYS ===== ## # LLM OPENAI_API_KEY= ANTHROPIC_API_KEY= AIML_API_KEY= GROQ_API_KEY= OPEN_ROUTER_API_KEY= LLAMA_API_KEY= # Reddit # Go to https://www.reddit.com/prefs/apps and create a new app # Choose "script" for the type # Fill in the redirect uri as /auth/integrations/oauth_callback, e.g. http://localhost:3000/auth/integrations/oauth_callback REDDIT_CLIENT_ID= REDDIT_CLIENT_SECRET= REDDIT_USER_AGENT="AutoGPT:1.0 (by /u/autogpt)" # Discord DISCORD_BOT_TOKEN= # SMTP/Email SMTP_SERVER= SMTP_PORT= SMTP_USERNAME= SMTP_PASSWORD= # D-ID DID_API_KEY= # Open Weather Map OPENWEATHERMAP_API_KEY= # SMTP SMTP_SERVER= SMTP_PORT= SMTP_USERNAME= SMTP_PASSWORD= # Medium MEDIUM_API_KEY= MEDIUM_AUTHOR_ID= # Google Maps GOOGLE_MAPS_API_KEY= # Replicate REPLICATE_API_KEY= # Ideogram IDEOGRAM_API_KEY= # Fal FAL_API_KEY= # Exa EXA_API_KEY= # E2B E2B_API_KEY= # Mem0 MEM0_API_KEY= # Nvidia NVIDIA_API_KEY= # Apollo APOLLO_API_KEY= # SmartLead SMARTLEAD_API_KEY= # ZeroBounce ZEROBOUNCE_API_KEY= ## ===== OPTIONAL API KEYS END ===== ## # Logging Configuration LOG_LEVEL=INFO ENABLE_CLOUD_LOGGING=false ENABLE_FILE_LOGGING=false # Use to manually set the log directory # LOG_DIR=./logs