Files
cointrader/docker-compose.yml
21in7 e31c4bf080 feat: add JSONL trade persistence + separate MTF deploy pipeline
- mtf_bot: ExecutionManager saves entry/exit records to
  data/trade_history/mtf_{symbol}.jsonl on every close
- Jenkinsfile: split MTF_CHANGED from BOT_CHANGED so mtf_bot.py-only
  changes restart mtf-bot service without touching cointrader
- docker-compose: mount ./data:/app/data on mtf-bot for persistence

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-30 21:07:05 +09:00

92 lines
2.0 KiB
YAML

services:
cointrader:
image: git.gihyeon.com/gihyeon/cointrader:latest
container_name: cointrader
restart: unless-stopped
env_file:
- .env
environment:
- TZ=Asia/Seoul
volumes:
- ./logs:/app/logs
- ./models:/app/models
- ./data:/app/data
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
dashboard-api:
image: git.gihyeon.com/gihyeon/cointrader-dashboard-api:latest
container_name: dashboard-api
restart: unless-stopped
environment:
- TZ=Asia/Seoul
- PYTHONUNBUFFERED=1
- LOG_DIR=/app/logs
- DB_PATH=/app/data/dashboard.db
- POLL_INTERVAL=5
volumes:
- ./logs:/app/logs:ro
- dashboard-data:/app/data
depends_on:
- cointrader
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
dashboard-ui:
image: git.gihyeon.com/gihyeon/cointrader-dashboard-ui:latest
container_name: dashboard-ui
restart: unless-stopped
ports:
- "8080:3000"
depends_on:
- dashboard-api
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "3"
mtf-bot:
image: git.gihyeon.com/gihyeon/cointrader:latest
container_name: mtf-bot
restart: unless-stopped
env_file:
- .env
environment:
- TZ=Asia/Seoul
- PYTHONUNBUFFERED=1
volumes:
- ./logs:/app/logs
- ./data:/app/data
entrypoint: ["python", "main_mtf.py"]
logging:
driver: "json-file"
options:
max-size: "10m"
max-file: "5"
ls-ratio-collector:
image: git.gihyeon.com/gihyeon/cointrader:latest
container_name: ls-ratio-collector
restart: unless-stopped
environment:
- TZ=Asia/Seoul
- PYTHONUNBUFFERED=1
volumes:
- ./data:/app/data
entrypoint: ["sh", "scripts/collect_ls_ratio_loop.sh"]
logging:
driver: "json-file"
options:
max-size: "5m"
max-file: "3"
volumes:
dashboard-data: