stock-bot/.env.docker

144 lines
4.3 KiB
Docker

# Docker Environment Configuration
# This file contains environment variables used by Docker Compose
# =============================================================================
# CONTAINER NETWORK SETTINGS
# =============================================================================
COMPOSE_PROJECT_NAME=stock-bot
NETWORK_NAME=trading-bot-network
# =============================================================================
# DATABASE CONTAINER SETTINGS
# =============================================================================
# PostgreSQL Container
POSTGRES_DB=trading_bot
POSTGRES_USER=trading_user
POSTGRES_PASSWORD=trading_pass_secure
POSTGRES_INITDB_ARGS=--encoding=UTF-8
# MongoDB Container
MONGO_INITDB_ROOT_USERNAME=trading_admin
MONGO_INITDB_ROOT_PASSWORD=trading_mongo_secure
MONGO_INITDB_DATABASE=trading_documents
# QuestDB Container
QDB_TELEMETRY_ENABLED=false
# Dragonfly Container
DRAGONFLY_MAXMEMORY=4gb
DRAGONFLY_PROACTOR_THREADS=8
# =============================================================================
# MONITORING CONTAINER SETTINGS
# =============================================================================
# Grafana Container
GF_SECURITY_ADMIN_USER=admin
GF_SECURITY_ADMIN_PASSWORD=secure_grafana_password
GF_USERS_ALLOW_SIGN_UP=false
GF_PATHS_PROVISIONING=/etc/grafana/provisioning
GF_DISABLE_GRAVATAR=true
# Prometheus Container
PROMETHEUS_CONFIG_FILE=/etc/prometheus/prometheus.yml
PROMETHEUS_STORAGE_PATH=/prometheus
PROMETHEUS_WEB_ENABLE_LIFECYCLE=true
# =============================================================================
# ADMIN INTERFACE CONTAINER SETTINGS
# =============================================================================
# PgAdmin Container
PGADMIN_DEFAULT_EMAIL=admin@tradingbot.local
PGADMIN_DEFAULT_PASSWORD=secure_pgadmin_password
PGADMIN_CONFIG_SERVER_MODE=False
PGADMIN_DISABLE_POSTFIX=true
# Mongo Express Container
ME_CONFIG_MONGODB_ADMINUSERNAME=trading_admin
ME_CONFIG_MONGODB_ADMINPASSWORD=trading_mongo_secure
ME_CONFIG_MONGODB_SERVER=mongodb
ME_CONFIG_MONGODB_PORT=27017
ME_CONFIG_BASICAUTH_USERNAME=admin
ME_CONFIG_BASICAUTH_PASSWORD=secure_mongo_express_password
# Redis Insight Container
REDIS_HOSTS=local:dragonfly:6379
# =============================================================================
# VOLUME MOUNT PATHS
# =============================================================================
# Data Volume Paths (adjust these for your host system)
POSTGRES_DATA_PATH=./data/postgres
QUESTDB_DATA_PATH=./data/questdb
MONGODB_DATA_PATH=./data/mongodb
DRAGONFLY_DATA_PATH=./data/dragonfly
PROMETHEUS_DATA_PATH=./data/prometheus
GRAFANA_DATA_PATH=./data/grafana
LOKI_DATA_PATH=./data/loki
PGADMIN_DATA_PATH=./data/pgadmin
# Config Volume Paths
PROMETHEUS_CONFIG_PATH=./monitoring/prometheus
GRAFANA_CONFIG_PATH=./monitoring/grafana
LOKI_CONFIG_PATH=./monitoring/loki
# Database Init Paths
POSTGRES_INIT_PATH=./database/postgres/init
MONGODB_INIT_PATH=./database/mongodb/init
# =============================================================================
# PORT MAPPINGS (HOST:CONTAINER)
# =============================================================================
# Database Ports
POSTGRES_PORT=5432
QUESTDB_HTTP_PORT=9000
QUESTDB_PG_PORT=8812
QUESTDB_INFLUX_PORT=9009
MONGODB_PORT=27017
DRAGONFLY_PORT=6379
# Monitoring Ports
PROMETHEUS_PORT=9090
GRAFANA_PORT=3000
LOKI_PORT=3100
# Admin Interface Ports
PGADMIN_PORT=8080
MONGO_EXPRESS_PORT=8081
REDIS_INSIGHT_PORT=8001
# =============================================================================
# HEALTH CHECK SETTINGS
# =============================================================================
# Health Check Intervals
HEALTHCHECK_INTERVAL=30s
HEALTHCHECK_TIMEOUT=10s
HEALTHCHECK_RETRIES=3
HEALTHCHECK_START_PERIOD=60s
# =============================================================================
# RESOURCE LIMITS
# =============================================================================
# Memory Limits (uncomment and adjust for production)
# POSTGRES_MEMORY_LIMIT=2g
# QUESTDB_MEMORY_LIMIT=4g
# MONGODB_MEMORY_LIMIT=2g
# DRAGONFLY_MEMORY_LIMIT=4g
# PROMETHEUS_MEMORY_LIMIT=2g
# GRAFANA_MEMORY_LIMIT=512m
# LOKI_MEMORY_LIMIT=1g
# CPU Limits (uncomment and adjust for production)
# POSTGRES_CPU_LIMIT=1
# QUESTDB_CPU_LIMIT=2
# MONGODB_CPU_LIMIT=1
# DRAGONFLY_CPU_LIMIT=2
# PROMETHEUS_CPU_LIMIT=1
# GRAFANA_CPU_LIMIT=0.5
# LOKI_CPU_LIMIT=1