stock-bot/.env.production

135 lines
3.9 KiB
Text

# Production Environment Configuration
NODE_ENV=production
PORT=3001
# =============================================================================
# DATABASE CONFIGURATIONS
# =============================================================================
# PostgreSQL - Operational data (orders, positions, strategies)
DB_HOST=postgres
DB_PORT=5432
DB_NAME=trading_bot
DB_USER=trading_user
DB_PASSWORD=${POSTGRES_PASSWORD}
DB_POOL_MIN=5
DB_POOL_MAX=20
DB_SSL=true
DB_SSL_REJECT_UNAUTHORIZED=true
# QuestDB - Time-series data (OHLCV, indicators, performance)
QUESTDB_HOST=questdb
QUESTDB_HTTP_PORT=9000
QUESTDB_PG_PORT=8812
QUESTDB_INFLUX_PORT=9009
QUESTDB_DEFAULT_DATABASE=qdb
QUESTDB_TELEMETRY_ENABLED=false
QUESTDB_TLS_ENABLED=true
# MongoDB - Document storage (sentiment, raw docs, unstructured data)
MONGODB_HOST=mongodb
MONGODB_PORT=27017
MONGODB_DATABASE=trading_documents
MONGODB_USERNAME=${MONGODB_ROOT_USERNAME}
MONGODB_PASSWORD=${MONGODB_ROOT_PASSWORD}
MONGODB_AUTH_SOURCE=admin
MONGODB_TLS=true
MONGODB_RETRY_WRITES=true
# Dragonfly - Redis replacement for caching and events
DRAGONFLY_HOST=dragonfly
DRAGONFLY_PORT=6379
DRAGONFLY_PASSWORD=${DRAGONFLY_PASSWORD}
DRAGONFLY_DATABASE=0
DRAGONFLY_MAX_MEMORY=4gb
DRAGONFLY_CACHE_MODE=true
DRAGONFLY_TLS=true
# =============================================================================
# MONITORING & OBSERVABILITY
# =============================================================================
# Prometheus - Metrics collection
PROMETHEUS_HOST=prometheus
PROMETHEUS_PORT=9090
PROMETHEUS_SCRAPE_INTERVAL=30s
PROMETHEUS_RETENTION_TIME=90d
PROMETHEUS_TLS_ENABLED=true
# Grafana - Visualization
GRAFANA_HOST=grafana
GRAFANA_PORT=3000
GRAFANA_ADMIN_USER=${GRAFANA_ADMIN_USER}
GRAFANA_ADMIN_PASSWORD=${GRAFANA_ADMIN_PASSWORD}
GRAFANA_ALLOW_SIGN_UP=false
GRAFANA_SECRET_KEY=${GRAFANA_SECRET_KEY}
GRAFANA_DATABASE_TYPE=postgres
GRAFANA_DISABLE_GRAVATAR=true
# Loki - Log aggregation
LOKI_HOST=loki
LOKI_PORT=3100
LOKI_RETENTION_PERIOD=90d
LOKI_BATCH_SIZE=2048
LOKI_TLS_ENABLED=true
# =============================================================================
# ADMIN INTERFACES (Disabled in production)
# =============================================================================
# PgAdmin - PostgreSQL GUI (disabled in production)
PGADMIN_HOST=pgadmin
PGADMIN_PORT=8080
PGADMIN_DEFAULT_EMAIL=${PGADMIN_EMAIL}
PGADMIN_DEFAULT_PASSWORD=${PGADMIN_PASSWORD}
PGADMIN_SERVER_MODE=true
PGADMIN_MASTER_PASSWORD_REQUIRED=true
# Mongo Express - MongoDB GUI (disabled in production)
MONGO_EXPRESS_HOST=mongo-express
MONGO_EXPRESS_PORT=8081
MONGO_EXPRESS_MONGODB_SERVER=mongodb
MONGO_EXPRESS_BASICAUTH_USERNAME=${MONGO_EXPRESS_USER}
MONGO_EXPRESS_BASICAUTH_PASSWORD=${MONGO_EXPRESS_PASSWORD}
# Redis Insight - Dragonfly/Redis GUI (disabled in production)
REDIS_INSIGHT_HOST=redis-insight
REDIS_INSIGHT_PORT=8001
REDIS_INSIGHT_REDIS_HOSTS=production:dragonfly:6379
# =============================================================================
# DATA PROVIDERS & TRADING
# =============================================================================
# API Keys (Set from environment variables)
ALPHA_VANTAGE_API_KEY=${ALPHA_VANTAGE_API_KEY}
ALPACA_API_KEY=${ALPACA_API_KEY}
ALPACA_SECRET_KEY=${ALPACA_SECRET_KEY}
POLYGON_API_KEY=${POLYGON_API_KEY}
IEX_API_KEY=${IEX_API_KEY}
YAHOO_FINANCE_API_KEY=${YAHOO_FINANCE_API_KEY}
# Trading Configuration
PAPER_TRADING=false
MAX_POSITION_SIZE=0.05
MAX_DAILY_LOSS=5000
RISK_MANAGEMENT_ENABLED=true
# =============================================================================
# APPLICATION SETTINGS
# =============================================================================
# Logging
LOG_LEVEL=info
LOG_FORMAT=json
# Feature Flags
ENABLE_ML_SIGNALS=true
ENABLE_SENTIMENT_ANALYSIS=true
ENABLE_RISK_MONITORING=true
ENABLE_PERFORMANCE_TRACKING=true
# Security
CORS_ALLOWED_ORIGINS=${CORS_ALLOWED_ORIGINS}
JWT_SECRET=${JWT_SECRET}
API_RATE_LIMIT=1000