51 lines
1.5 KiB
YAML
51 lines
1.5 KiB
YAML
services:
|
|
alphax-web:
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
image: alphax:local
|
|
container_name: alphax-web
|
|
restart: unless-stopped
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
PORT: "8190"
|
|
ALPHAX_DB_PATH: "/app/data/altcoin_monitor.db"
|
|
# 仅当 app_user 表为空时创建默认管理员;已有用户或迁移旧库时不会覆盖。
|
|
ALPHAX_BOOTSTRAP_ADMIN: "${ALPHAX_BOOTSTRAP_ADMIN:-1}"
|
|
ALPHAX_DEFAULT_ADMIN_EMAIL: "${ALPHAX_DEFAULT_ADMIN_EMAIL:-admin@alphax.local}"
|
|
ALPHAX_DEFAULT_ADMIN_PASSWORD: "${ALPHAX_DEFAULT_ADMIN_PASSWORD:-AlphaXAdmin123}"
|
|
command: ["web"]
|
|
ports:
|
|
- "8191:8190"
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./logs:/app/logs
|
|
- ./rules.yaml:/app/rules.yaml
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "curl -fsS http://127.0.0.1:8190/api/stats >/dev/null || exit 1"]
|
|
interval: 30s
|
|
timeout: 10s
|
|
retries: 3
|
|
start_period: 40s
|
|
|
|
alphax-scheduler:
|
|
image: alphax:local
|
|
container_name: alphax-scheduler
|
|
restart: unless-stopped
|
|
depends_on:
|
|
alphax-web:
|
|
condition: service_started
|
|
env_file:
|
|
- .env
|
|
environment:
|
|
# 本地 Docker 副本需要真实跑链路,方便验证筛选/确认/跟踪/复盘结果。
|
|
# 调度器仍然单进程串行执行,避免 SQLite 写锁。
|
|
ALPHAX_SCHEDULER_DRY_RUN: "0"
|
|
ALPHAX_DB_PATH: "/app/data/altcoin_monitor.db"
|
|
command: ["scheduler"]
|
|
volumes:
|
|
- ./data:/app/data
|
|
- ./logs:/app/logs
|
|
- ./rules.yaml:/app/rules.yaml
|