annator-atom / backend /.env.example
techprotrade's picture
restore non-secret backend/.env.example
b065265 verified
Raw
History Blame Contribute Delete
6.27 kB
# ATOM Backend Environment Configuration
# Copy this file to .env and update with your actual values
# ==============================================================================
# SECURITY CRITICAL - MUST BE SET IN PRODUCTION
# ==============================================================================
# Environment
ENVIRONMENT=development # Options: development, staging, production
# Security Keys (REQUIRED FOR PRODUCTION)
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(32))"
SECRET_KEY=your-secret-key-here-change-in-production
# Secrets Encryption (Optional but Recommended for Production)
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(32))"
ENCRYPTION_KEY=your-encryption-key-here
# Development Temporary Users (DISABLE IN PRODUCTION)
ALLOW_DEV_TEMP_USERS=false
# ==============================================================================
# Database Configuration
# ==============================================================================
DATABASE_URL=sqlite:///atom.db
# For PostgreSQL: postgresql://username:password@localhost:5432/atom
# ==============================================================================
# Redis Configuration (for background tasks)
# ==============================================================================
# Redis connection URL (used by RQ task queue)
REDIS_URL=redis://localhost:6379/0
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_DB=0
REDIS_PASSWORD=
# Background Task Queue Configuration
ENABLE_BACKGROUND_TASKS=true
WORKER_NAME=atom-worker
LOG_LEVEL=INFO
# ==============================================================================
# LLM API Configuration
# ==============================================================================
# OpenAI API Configuration
OPENAI_API_KEY=your_openai_api_key_here
# Anthropic API (Claude)
ANTHROPIC_API_KEY=your_anthropic_api_key_here
# ==============================================================================
# Integration Service API Keys
# ==============================================================================
# Google Services
GOOGLE_CLIENT_ID=your_google_client_id
GOOGLE_CLIENT_SECRET=your_google_client_secret
GOOGLE_DRIVE_API_KEY=your_google_drive_api_key
# Microsoft Services
MICROSOFT_CLIENT_ID=your_microsoft_client_id
MICROSOFT_CLIENT_SECRET=your_microsoft_client_secret
MICROSOFT_TENANT_ID=your_microsoft_tenant_id
# Slack
SLACK_CLIENT_ID=your_slack_client_id
SLACK_CLIENT_SECRET=your_slack_client_secret
SLACK_SIGNING_SECRET=your_slack_signing_secret
# Asana
ASANA_CLIENT_ID=your_asana_client_id
ASANA_CLIENT_SECRET=your_asana_client_secret
ASANA_ACCESS_TOKEN=your_asana_personal_access_token
# Notion
NOTION_CLIENT_ID=your_notion_client_id
NOTION_CLIENT_SECRET=your_notion_client_secret
NOTION_REDIRECT_URI=http://localhost:8000/api/notion/callback
NOTION_OAUTH_ENABLED=true
EMERGENCY_OAUTH_BYPASS=false
# Stripe OAuth
STRIPE_CLIENT_ID=your_stripe_client_id
STRIPE_CLIENT_SECRET=your_stripe_client_secret
STRIPE_REDIRECT_URI=http://localhost:8000/api/stripe/callback
# Workflow System
WORKFLOW_MOCK_ENABLED=false
# Commission Calculation
COMMISSION_AUTO_CALCULATE=true
# Linear
LINEAR_CLIENT_ID=your_linear_client_id
LINEAR_CLIENT_SECRET=your_linear_client_secret
# Dropbox
DROPBOX_CLIENT_ID=your_dropbox_client_id
DROPBOX_CLIENT_SECRET=your_dropbox_client_secret
# Box
BOX_CLIENT_ID=your_box_client_id
BOX_CLIENT_SECRET=your_box_client_secret
# Salesforce
SALESFORCE_CLIENT_ID=your_salesforce_client_id
SALESFORCE_CLIENT_SECRET=your_salesforce_client_secret
SALESFORCE_USERNAME=your_salesforce_username
SALESFORCE_PASSWORD=your_salesforce_password
SALESFORCE_SECURITY_TOKEN=your_salesforce_security_token
# GitHub
GITHUB_CLIENT_ID=your_github_client_id
GITHUB_CLIENT_SECRET=your_github_client_secret
# Stripe (SaaS-specific - only public key for testing)
STRIPE_PUBLISHABLE_KEY=pk_test_your_stripe_publishable_key
# Zoom
ZOOM_CLIENT_ID=your_zoom_client_id
ZOOM_CLIENT_SECRET=your_zoom_client_secret
# JWT Secret
JWT_SECRET=your_jwt_secret_key_here_change_this_in_production
# Application Settings
DEBUG=true
LOG_LEVEL=INFO
CORS_ORIGINS=http://localhost:3000,http://127.0.0.1:3000
# Server Configuration
HOST=0.0.0.0
PORT=8000
# LanceDB Configuration
LANCE_DB_PATH=./data/lancedb
# Email Service Configuration
EMAIL_SERVICE_ENABLED=false
EMAIL_PROVIDER=mailgun
MAILGUN_API_KEY=your_mailgun_api_key_here
MAILGUN_DOMAIN=your_mailgun_domain_here
SOURCE_EMAIL=noreply@atom.ai
# Development Settings
USE_MOCK_DATA=true
ENABLE_OAUTH_DEMO=true
# ==============================================================================
# Marketplace Connection (Atom SaaS)
# ==============================================================================
# Marketplace API URL (Public Atom SaaS)
# Get your API token from: https://atomagentos.com/dashboard/settings/api-tokens
# Default: https://atomagentos.com
MARKETPLACE_API_URL=https://atomagentos.com
# Marketplace API Token
# Required for marketplace sync
# Format: at_saas_xxxxx
MARKETPLACE_API_TOKEN=your_marketplace_token_here
# Enable marketplace sync
# Default: false (opt-in for privacy)
MARKETPLACE_SYNC_ENABLED=false
# Sync interval in minutes
# Default: 15 (range: 5-60)
MARKETPLACE_SYNC_INTERVAL_MINUTES=15
# Rating sync interval in minutes
# Default: 30 (range: 10-120)
MARKETPLACE_RATING_SYNC_INTERVAL_MINUTES=30
# Conflict resolution strategy
# Options: remote_wins, local_wins, merge, manual
# Default: remote_wins (recommended)
MARKETPLACE_CONFLICT_STRATEGY=remote_wins
# WebSocket URL for real-time marketplace updates
# Default: wss://atomagentos.com/ws
MARKETPLACE_WS_URL=wss://atomagentos.com/ws
# WebSocket reconnection attempts
# Default: 10
MARKETPLACE_WS_RECONNECT_ATTEMPTS=10
# WebSocket heartbeat interval in seconds
# Default: 30
MARKETPLACE_WS_HEARTBEAT_INTERVAL=30
# Federation API Key (for cross-instance agent sharing)
# Optional: For private instance federation
# Generate with: python -c "import secrets; print(secrets.token_urlsafe(32))"
FEDERATION_API_KEY=