DATABASE_URL=postgresql+asyncpg://postgres:postgres@localhost:5432/surfsense #Celery Config CELERY_BROKER_URL=redis://localhost:6379/0 CELERY_RESULT_BACKEND=redis://localhost:6379/0 # Optional: isolate queues when sharing Redis with other apps CELERY_TASK_DEFAULT_QUEUE=surfsense # Redis for app-level features (heartbeats, podcast markers) # Defaults to CELERY_BROKER_URL when not set REDIS_APP_URL=redis://localhost:6379/0 # Optional: TTL in seconds for connector indexing lock key # CONNECTOR_INDEXING_LOCK_TTL_SECONDS=28800 #Electric(for migrations only) ELECTRIC_DB_USER=electric ELECTRIC_DB_PASSWORD=electric_password # Periodic task interval # # Run every minute (default) # SCHEDULE_CHECKER_INTERVAL=1m # # Run every 5 minutes # SCHEDULE_CHECKER_INTERVAL=5m # # Run every 10 minutes # SCHEDULE_CHECKER_INTERVAL=10m # # Run every hour # SCHEDULE_CHECKER_INTERVAL=1h # # Run every 2 hours # SCHEDULE_CHECKER_INTERVAL=2h SCHEDULE_CHECKER_INTERVAL=5m SECRET_KEY=SECRET # JWT Token Lifetimes (optional, defaults shown) # ACCESS_TOKEN_LIFETIME_SECONDS=86400 # 1 day # REFRESH_TOKEN_LIFETIME_SECONDS=1209600 # 2 weeks NEXT_FRONTEND_URL=http://localhost:3000 # Backend URL for OAuth callbacks (optional, set when behind reverse proxy with HTTPS) # BACKEND_URL=https://api.yourdomain.com # Auth AUTH_TYPE=GOOGLE or LOCAL REGISTRATION_ENABLED=TRUE or FALSE # For Google Auth Only GOOGLE_OAUTH_CLIENT_ID=924507538m GOOGLE_OAUTH_CLIENT_SECRET=GOCSV # Google Connector Specific Configurations GOOGLE_CALENDAR_REDIRECT_URI=http://localhost:8000/api/v1/auth/google/calendar/connector/callback GOOGLE_GMAIL_REDIRECT_URI=http://localhost:8000/api/v1/auth/google/gmail/connector/callback GOOGLE_DRIVE_REDIRECT_URI=http://localhost:8000/api/v1/auth/google/drive/connector/callback # Aitable OAuth Configuration AIRTABLE_CLIENT_ID=your_airtable_client_id_here AIRTABLE_CLIENT_SECRET=your_airtable_client_secret_here AIRTABLE_REDIRECT_URI=http://localhost:8000/api/v1/auth/airtable/connector/callback # ClickUp OAuth Configuration CLICKUP_CLIENT_ID=your_clickup_client_id_here CLICKUP_CLIENT_SECRET=your_clickup_client_secret_here CLICKUP_REDIRECT_URI=http://localhost:8000/api/v1/auth/clickup/connector/callback # Discord OAuth Configuration DISCORD_CLIENT_ID=your_discord_client_id_here DISCORD_CLIENT_SECRET=your_discord_client_secret_here DISCORD_REDIRECT_URI=http://localhost:8000/api/v1/auth/discord/connector/callback DISCORD_BOT_TOKEN=your_bot_token_from_developer_portal # Atlassian OAuth Configuration ATLASSIAN_CLIENT_ID=your_atlassian_client_id_here ATLASSIAN_CLIENT_SECRET=your_atlassian_client_secret_here JIRA_REDIRECT_URI=http://localhost:8000/api/v1/auth/jira/connector/callback CONFLUENCE_REDIRECT_URI=http://localhost:8000/api/v1/auth/confluence/connector/callback # Linear OAuth Configuration LINEAR_CLIENT_ID=your_linear_client_id_here LINEAR_CLIENT_SECRET=your_linear_client_secret_here LINEAR_REDIRECT_URI=http://localhost:8000/api/v1/auth/linear/connector/callback # Notion OAuth Configuration NOTION_CLIENT_ID=your_notion_client_id_here NOTION_CLIENT_SECRET=your_notion_client_secret_here NOTION_REDIRECT_URI=http://localhost:8000/api/v1/auth/notion/connector/callback # Slack OAuth Configuration SLACK_CLIENT_ID=your_slack_client_id_here SLACK_CLIENT_SECRET=your_slack_client_secret_here SLACK_REDIRECT_URI=http://localhost:8000/api/v1/auth/slack/connector/callback # Teams OAuth Configuration TEAMS_CLIENT_ID=your_teams_client_id_here TEAMS_CLIENT_SECRET=your_teams_client_secret_here TEAMS_REDIRECT_URI=http://localhost:8000/api/v1/auth/teams/connector/callback #Composio Coonnector COMPOSIO_API_KEY=your_api_key_here COMPOSIO_ENABLED=TRUE COMPOSIO_REDIRECT_URI=http://localhost:8000/api/v1/auth/composio/connector/callback # Embedding Model # Examples: # # Get sentence transformers embeddings # embeddings = AutoEmbeddings.get_embeddings("sentence-transformers/all-MiniLM-L6-v2") # # Get OpenAI embeddings # embeddings = AutoEmbeddings.get_embeddings("openai://text-embedding-ada-002", api_key="...") # # Get Anthropic embeddings # embeddings = AutoEmbeddings.get_embeddings("anthropic://claude-v1", api_key="...") # # Get Cohere embeddings # embeddings = AutoEmbeddings.get_embeddings("cohere://embed-english-light-v3.0", api_key="...") EMBEDDING_MODEL=sentence-transformers/all-MiniLM-L6-v2 # Rerankers Config RERANKERS_ENABLED=TRUE or FALSE(Default: FALSE) RERANKERS_MODEL_NAME=ms-marco-MiniLM-L-12-v2 RERANKERS_MODEL_TYPE=flashrank # TTS_SERVICE=local/kokoro for local Kokoro TTS or # LiteLLM TTS Provider: https://docs.litellm.ai/docs/text_to_speech#supported-providers TTS_SERVICE=local/kokoro # Respective TTS Service API # TTS_SERVICE_API_KEY= # OPTIONAL: TTS Provider API Base # TTS_SERVICE_API_BASE= # STT Service Configuration # For local Faster-Whisper: local/MODEL_SIZE (tiny, base, small, medium, large-v3) STT_SERVICE=local/base # For LiteLLM STT Provider: https://docs.litellm.ai/docs/audio_transcription#supported-providers # STT_SERVICE=openai/whisper-1 # STT_SERVICE_API_KEY="" # STT_SERVICE_API_BASE= # (Optional) Maximum pages limit per user for ETL services (default: `999999999` for unlimited in OSS version) PAGES_LIMIT=500 # Residential Proxy Configuration (anonymous-proxies.net) # Used for web crawling, link previews, and YouTube transcript fetching to avoid IP bans. # Leave commented out to disable proxying. # RESIDENTIAL_PROXY_USERNAME=your_proxy_username # RESIDENTIAL_PROXY_PASSWORD=your_proxy_password # RESIDENTIAL_PROXY_HOSTNAME=rotating.dnsproxifier.com:31230 # RESIDENTIAL_PROXY_LOCATION= # RESIDENTIAL_PROXY_TYPE=1 FIRECRAWL_API_KEY=fcr-01J0000000000000000000000 # File Parser Service ETL_SERVICE=UNSTRUCTURED or LLAMACLOUD or DOCLING UNSTRUCTURED_API_KEY=Tpu3P0U8iy LLAMA_CLOUD_API_KEY=llx-nnn # OPTIONAL: Add these for LangSmith Observability LANGSMITH_TRACING=true LANGSMITH_ENDPOINT=https://api.smith.langchain.com LANGSMITH_API_KEY=lsv2_pt_..... LANGSMITH_PROJECT=surfsense # Agent Specific Configuration # Daytona Sandbox (secure cloud code execution for deep agent) # Set DAYTONA_SANDBOX_ENABLED=TRUE to give the agent an isolated execute tool DAYTONA_SANDBOX_ENABLED=TRUE DAYTONA_API_KEY=dtn_asdasfasfafas DAYTONA_API_URL=https://app.daytona.io/api DAYTONA_TARGET=us # Directory for locally-persisted sandbox files (after sandbox deletion) SANDBOX_FILES_DIR=sandbox_files