services: app: build: target: development # Use development target for faster builds 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=${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=true - SCREENSHOT_MAX_WORKERS=2 - BROWSER_POOL_SIZE=1 # 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 # X11 and display configuration for manual CAPTCHA solving network_mode: host privileged: true # Faster health check for development healthcheck: test: ["CMD-SHELL", "curl -f http://localhost:3000/ || exit 1"] interval: 10s timeout: 5s retries: 2 start_period: 15s