Files
2026-07-11 02:42:55 +08:00

49 lines
1.9 KiB
YAML

services:
genesis:
build:
context: .
dockerfile: Dockerfile
container_name: genesis
restart: unless-stopped
# ── Mount source code + config ──────────────────────────────────────────
# Code changes only need: docker compose restart
# Dependency changes need: docker compose up -d --build
volumes:
- ./core:/opt/hermes-agent/core
- ./strategies:/opt/hermes-agent/strategies
- ./configs:/opt/hermes-agent/configs
- ./backtest:/opt/hermes-agent/backtest
- ./.env:/opt/hermes-agent/.env:ro
- genesis_logs:/var/log/hermes
- genesis_strategy_logs:/var/log
- genesis_cache:/tmp
# ── Environment overrides (optional) ────────────────────────────────────
environment:
- TZ=UTC
- GENESIS_MODE=live # Set to "analyze" to disable execution
# ── Health check — confirms Mt5Bridge is reachable ──────────────────────
healthcheck:
test: ["CMD", "python3", "-c",
"import os,requests; r=requests.get(os.getenv('MT5_BRIDGE_URL','http://localhost:13485')+'/health',headers={'X-API-Key':os.getenv('MT5_BRIDGE_KEY','')},timeout=5); exit(0 if r.status_code==200 else 1)"]
interval: 60s
timeout: 10s
retries: 3
start_period: 30s
# ── Resource limits ──────────────────────────────────────────────────────
mem_limit: 512m
cpus: "0.5"
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
volumes:
genesis_logs:
genesis_strategy_logs:
genesis_cache: