alphax/docker-compose.yml
2026-05-15 11:50:26 +08:00

51 lines
1.6 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