Files
crypto_trading/docker-compose.local.yml
T
matitos 9c3bee87ac
CI/CD / backend (push) Successful in 5m18s
CI/CD / frontend (push) Successful in 5m2s
CI/CD / build (push) Successful in 34s
CI/CD / cleanup (push) Successful in 6s
CI/CD / deploy (push) Successful in 22s
Crypto trading bot: engine, brokers, backtester, dashboard, deploy
FastAPI backend with a single-strategy async engine, paper and Binance
brokers, pure-python indicators, a backtester that shares the engine's
portfolio math, and a Vue dashboard with a live WebSocket feed. Adds the
Gitea Actions CI/CD workflow that deploys to Traefik via docker_default.
2026-09-18 17:02:33 +00:00

38 lines
1.1 KiB
YAML

# Local / self-contained stack: no Traefik, publishes ports directly.
# Usage: docker compose -f docker-compose.local.yml up --build
# Dashboard: http://localhost:8080 API docs: http://localhost:8000/docs
name: crypto_trading_local
services:
backend:
build: ./backend
container_name: crypto-trading-backend-local
restart: unless-stopped
environment:
- MODE=${MODE:-paper}
- EXCHANGE=${EXCHANGE:-binance}
- SYMBOL=${SYMBOL:-BTC/USDT}
- TIMEFRAME=${TIMEFRAME:-1m}
- POLL_INTERVAL=${POLL_INTERVAL:-5}
- STARTING_BALANCE=${STARTING_BALANCE:-10000}
- FEE_BPS=${FEE_BPS:-10}
- SLIPPAGE_BPS=${SLIPPAGE_BPS:-5}
- DATABASE_URL=sqlite:////data/trader.db
- CORS_ORIGINS=*
- EXCHANGE_API_KEY=${EXCHANGE_API_KEY:-}
- EXCHANGE_API_SECRET=${EXCHANGE_API_SECRET:-}
- EXCHANGE_SANDBOX=${EXCHANGE_SANDBOX:-false}
volumes:
- ./data:/data
ports:
- "8000:8000"
frontend:
build: ./frontend
container_name: crypto-trading-frontend-local
restart: unless-stopped
depends_on:
- backend
ports:
- "8080:80"