Fixed major price data sync issues: - Removed hardcoded price (77.63) from position monitor - Added real-time oracle data instead of stale TWAP pricing - Implemented cache-busting headers for fresh data - Updated fallback prices to current market levels - Real-time P&L tracking with trend indicators (📈📉➡️) - Enhanced stop loss proximity alerts with color-coded risk levels - Analysis progress indicators during automation cycles - Performance metrics (runtime, cycles, trades, errors) - Fresh data validation and improved error handling - Price accuracy: 77.63 → 84.47 (matches Drift UI) - P&L accuracy: -.91 → -.59 (correct calculation) - Risk assessment: CRITICAL → MEDIUM (proper evaluation) - Stop loss distance: 0.91% → 4.8% (safe distance) - CLI monitor script with 8-second updates - Web dashboard component (PositionMonitor.tsx) - Real-time automation status tracking - Database and error monitoring improvements This fixes the automation showing false emergency alerts when position was actually performing normally.
114 lines
3.3 KiB
YAML
114 lines
3.3 KiB
YAML
version: '2.4'
|
|
|
|
services:
|
|
app:
|
|
container_name: trader_dev
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- BUILDKIT_INLINE_CACHE=1
|
|
- NODE_VERSION=20.11.1
|
|
- PNPM_VERSION=8.15.1
|
|
|
|
# Development environment variables
|
|
environment:
|
|
- NODE_ENV=development
|
|
- DOCKER_ENV=true
|
|
- PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
|
- PUPPETEER_EXECUTABLE_PATH=/usr/bin/chromium
|
|
- TRADINGVIEW_RECORD_VIDEO=true
|
|
- TZ=Europe/Berlin
|
|
- CHROMIUM_PATH=/usr/bin/chromium
|
|
- DISABLE_CHROME_SANDBOX=true
|
|
- DISPLAY=:0
|
|
- ALLOW_MANUAL_CAPTCHA=true
|
|
- DATABASE_URL=file:./prisma/dev.db
|
|
# Development optimizations
|
|
- CHOKIDAR_USEPOLLING=false
|
|
- WATCHPACK_POLLING=false
|
|
- NEXT_TELEMETRY_DISABLED=1
|
|
# Enhanced screenshot service development settings
|
|
- SCREENSHOT_PARALLEL_SESSIONS=false
|
|
- SCREENSHOT_MAX_WORKERS=1
|
|
- BROWSER_POOL_SIZE=1
|
|
# Disable aggressive cleanup during development
|
|
- DISABLE_AUTO_CLEANUP=true
|
|
|
|
# Load environment variables from .env file
|
|
env_file:
|
|
- .env
|
|
|
|
# Development volumes with better performance
|
|
volumes:
|
|
- ./screenshots:/app/screenshots:cached
|
|
- ./videos:/app/videos:cached
|
|
- ./.tradingview-session:/app/.tradingview-session:cached
|
|
- ./prisma:/app/prisma:cached
|
|
# X11 forwarding for GUI display (when ALLOW_MANUAL_CAPTCHA=true)
|
|
- /tmp/.X11-unix:/tmp/.X11-unix:rw
|
|
# Development source code volumes for hot reloading
|
|
- ./app:/app/app:cached
|
|
- ./lib:/app/lib:cached
|
|
- ./components:/app/components:cached
|
|
- ./package.json:/app/package.json:ro
|
|
# Mount root JavaScript files for Enhanced Risk Manager
|
|
- ./start-enhanced-risk-manager.js:/app/start-enhanced-risk-manager.js:ro
|
|
|
|
# Port mapping for development
|
|
ports:
|
|
- "9001:3000"
|
|
|
|
# X11 and display configuration for manual CAPTCHA solving
|
|
privileged: true
|
|
|
|
# Faster health check for development
|
|
healthcheck:
|
|
test: ["CMD-SHELL", "wget --no-verbose --tries=1 --spider http://localhost:3000/ || exit 1"]
|
|
interval: 10s
|
|
timeout: 5s
|
|
retries: 2
|
|
start_period: 15s
|
|
|
|
# Enhanced Risk Manager as separate service
|
|
risk_manager:
|
|
container_name: enhanced_risk_manager
|
|
build:
|
|
context: .
|
|
dockerfile: Dockerfile
|
|
args:
|
|
- BUILDKIT_INLINE_CACHE=1
|
|
- NODE_VERSION=20.11.1
|
|
- PNPM_VERSION=8.15.1
|
|
|
|
# Override entrypoint and command to run Enhanced Risk Manager directly
|
|
entrypoint: []
|
|
command: ["node", "start-enhanced-risk-manager.js"]
|
|
|
|
# Enhanced Risk Manager environment
|
|
environment:
|
|
- NODE_ENV=development
|
|
- DOCKER_ENV=true
|
|
- DATABASE_URL=file:./prisma/dev.db
|
|
- TZ=Europe/Berlin
|
|
|
|
# Load environment variables from .env file
|
|
env_file:
|
|
- .env
|
|
|
|
# Enhanced Risk Manager volumes
|
|
volumes:
|
|
- ./lib:/app/lib:cached
|
|
- ./prisma:/app/prisma:cached
|
|
- ./start-enhanced-risk-manager.js:/app/start-enhanced-risk-manager.js:ro
|
|
|
|
# Working directory
|
|
working_dir: /app
|
|
|
|
# Depends on the main app being healthy
|
|
depends_on:
|
|
app:
|
|
condition: service_healthy
|
|
|
|
# Restart policy
|
|
restart: unless-stopped |