05f07ee544
Simplify runtime configuration and remove legacy database and settings surface so new installs are easier to operate. Refresh deployment assets, docs, and order execution behavior to keep the packaged app aligned with the current backend. Made-with: Cursor
204 lines
4.5 KiB
Plaintext
204 lines
4.5 KiB
Plaintext
# QuantDinger local configuration (copy to `.env` and edit)
|
|
# `run.py` will load `backend_api_python/.env` automatically if present.
|
|
#
|
|
# This file is organized as:
|
|
# 1) first-time deployment settings at the top
|
|
# 2) advanced / rarely changed settings at the bottom
|
|
# For Docker image source / ports, use the project-root `.env`.
|
|
|
|
# =========================
|
|
# Auth (required)
|
|
# =========================
|
|
SECRET_KEY=quantdinger-secret-key-change-me
|
|
ADMIN_USER=quantdinger
|
|
ADMIN_PASSWORD=123456
|
|
ADMIN_EMAIL=
|
|
|
|
# =========================
|
|
# Core app
|
|
# =========================
|
|
IS_DEMO_MODE=false
|
|
DATABASE_URL=postgresql://quantdinger:quantdinger123@postgres:5432/quantdinger
|
|
FRONTEND_URL=http://localhost:8888
|
|
ENABLE_REGISTRATION=true
|
|
|
|
# =========================
|
|
# AI / LLM (choose one provider)
|
|
# =========================
|
|
LLM_PROVIDER=openrouter
|
|
|
|
OPENROUTER_API_KEY=
|
|
OPENROUTER_MODEL=openai/gpt-4o
|
|
|
|
OPENAI_API_KEY=
|
|
OPENAI_MODEL=gpt-4o
|
|
|
|
GOOGLE_API_KEY=
|
|
GOOGLE_MODEL=gemini-1.5-flash
|
|
|
|
DEEPSEEK_API_KEY=
|
|
DEEPSEEK_MODEL=deepseek-chat
|
|
|
|
GROK_API_KEY=
|
|
GROK_MODEL=grok-beta
|
|
|
|
# =========================
|
|
# Common background jobs
|
|
# =========================
|
|
ENABLE_PENDING_ORDER_WORKER=true
|
|
ENABLE_PORTFOLIO_MONITOR=true
|
|
DISABLE_RESTORE_RUNNING_STRATEGIES=false
|
|
|
|
# =========================
|
|
# Email / SMTP (optional)
|
|
# =========================
|
|
SMTP_HOST=
|
|
SMTP_PORT=587
|
|
SMTP_USER=
|
|
SMTP_PASSWORD=
|
|
SMTP_FROM=
|
|
SMTP_USE_TLS=true
|
|
SMTP_USE_SSL=false
|
|
|
|
# =========================
|
|
# Proxy (optional)
|
|
# =========================
|
|
# Most users only need PROXY_URL.
|
|
# Example local:
|
|
# PROXY_URL=socks5h://127.0.0.1:10808
|
|
#
|
|
# Example Docker:
|
|
# PROXY_URL=socks5h://host.docker.internal:10808
|
|
PROXY_URL=
|
|
|
|
# =========================
|
|
# Captcha / OAuth (optional)
|
|
# =========================
|
|
TURNSTILE_SITE_KEY=
|
|
TURNSTILE_SECRET_KEY=
|
|
|
|
GOOGLE_CLIENT_ID=
|
|
GOOGLE_CLIENT_SECRET=
|
|
GOOGLE_REDIRECT_URI=http://localhost:5000/api/auth/oauth/google/callback
|
|
|
|
GITHUB_CLIENT_ID=
|
|
GITHUB_CLIENT_SECRET=
|
|
GITHUB_REDIRECT_URI=http://localhost:5000/api/auth/oauth/github/callback
|
|
|
|
# =========================
|
|
# Billing / payments (optional)
|
|
# =========================
|
|
BILLING_ENABLED=False
|
|
USDT_PAY_ENABLED=False
|
|
|
|
# =========================
|
|
# Advanced / rarely changed
|
|
# =========================
|
|
# The settings below are optional. Most users can leave them unchanged.
|
|
|
|
# Network / App tuning
|
|
PYTHON_API_HOST=0.0.0.0
|
|
PYTHON_API_PORT=5000
|
|
PYTHON_API_DEBUG=False
|
|
RATE_LIMIT=100
|
|
ENABLE_CACHE=False
|
|
ENABLE_REQUEST_LOG=True
|
|
|
|
# Strategy / execution tuning
|
|
PENDING_ORDER_STALE_SEC=90
|
|
ORDER_MODE=market
|
|
MAKER_WAIT_SEC=10
|
|
MAKER_OFFSET_BPS=2
|
|
STRATEGY_TICK_INTERVAL_SEC=10
|
|
PRICE_CACHE_TTL_SEC=10
|
|
K_LINE_HISTORY_GET_NUMBER=500
|
|
|
|
# LLM advanced tuning
|
|
OPENROUTER_API_URL=https://openrouter.ai/api/v1/chat/completions
|
|
OPENROUTER_TEMPERATURE=0.7
|
|
OPENROUTER_MAX_TOKENS=4000
|
|
OPENROUTER_TIMEOUT=300
|
|
OPENROUTER_CONNECT_TIMEOUT=30
|
|
|
|
OPENAI_BASE_URL=https://api.openai.com/v1
|
|
DEEPSEEK_BASE_URL=https://api.deepseek.com/v1
|
|
GROK_BASE_URL=https://api.x.ai/v1
|
|
|
|
# Data sources
|
|
DATA_SOURCE_TIMEOUT=30
|
|
DATA_SOURCE_RETRY=3
|
|
DATA_SOURCE_RETRY_BACKOFF=0.5
|
|
|
|
FINNHUB_API_KEY=
|
|
FINNHUB_TIMEOUT=10
|
|
FINNHUB_RATE_LIMIT=60
|
|
|
|
CCXT_DEFAULT_EXCHANGE=coinbase
|
|
CCXT_TIMEOUT=10000
|
|
|
|
AKSHARE_TIMEOUT=30
|
|
YFINANCE_TIMEOUT=30
|
|
|
|
TIINGO_API_KEY=
|
|
TIINGO_TIMEOUT=10
|
|
|
|
# AI search / news providers
|
|
SEARCH_PROVIDER=google
|
|
SEARCH_MAX_RESULTS=10
|
|
|
|
SEARCH_GOOGLE_API_KEY=
|
|
SEARCH_GOOGLE_CX=
|
|
SEARCH_BING_API_KEY=
|
|
|
|
TAVILY_API_KEYS=
|
|
SERPAPI_KEYS=
|
|
|
|
# SMS / phone notifications
|
|
TWILIO_ACCOUNT_SID=
|
|
TWILIO_AUTH_TOKEN=
|
|
TWILIO_FROM_NUMBER=
|
|
|
|
# Security / verification tuning
|
|
SECURITY_IP_MAX_ATTEMPTS=10
|
|
SECURITY_IP_WINDOW_MINUTES=5
|
|
SECURITY_IP_BLOCK_MINUTES=15
|
|
|
|
SECURITY_ACCOUNT_MAX_ATTEMPTS=5
|
|
SECURITY_ACCOUNT_WINDOW_MINUTES=60
|
|
SECURITY_ACCOUNT_BLOCK_MINUTES=30
|
|
|
|
VERIFICATION_CODE_EXPIRE_MINUTES=10
|
|
VERIFICATION_CODE_RATE_LIMIT=60
|
|
VERIFICATION_CODE_IP_HOURLY_LIMIT=10
|
|
VERIFICATION_CODE_MAX_ATTEMPTS=5
|
|
VERIFICATION_CODE_LOCK_MINUTES=30
|
|
|
|
# Billing / credits
|
|
BILLING_COST_AI_ANALYSIS=10
|
|
BILLING_COST_STRATEGY_RUN=5
|
|
BILLING_COST_BACKTEST=3
|
|
BILLING_COST_PORTFOLIO_MONITOR=8
|
|
BILLING_COST_POLYMARKET_DEEP_ANALYSIS=15
|
|
|
|
CREDITS_REGISTER_BONUS=100
|
|
CREDITS_REFERRAL_BONUS=50
|
|
|
|
# Membership plans
|
|
MEMBERSHIP_MONTHLY_PRICE_USD=19.9
|
|
MEMBERSHIP_YEARLY_PRICE_USD=199
|
|
MEMBERSHIP_LIFETIME_PRICE_USD=499
|
|
|
|
MEMBERSHIP_MONTHLY_CREDITS=500
|
|
MEMBERSHIP_YEARLY_CREDITS=8000
|
|
MEMBERSHIP_LIFETIME_MONTHLY_CREDITS=800
|
|
|
|
# USDT payment
|
|
USDT_PAY_CHAIN=TRC20
|
|
USDT_TRC20_XPUB=
|
|
USDT_TRC20_CONTRACT=TXLAQ63Xg1NAzckPwKHvzw7CSEmLMEqcdj
|
|
TRONGRID_BASE_URL=https://api.trongrid.io
|
|
TRONGRID_API_KEY=
|
|
USDT_PAY_CONFIRM_SECONDS=30
|
|
USDT_PAY_EXPIRE_MINUTES=30
|
|
USDT_WORKER_POLL_INTERVAL=30
|