version: '3.8' services: mev-bot-dev: build: context: . dockerfile: Dockerfile.dev args: # Set the git branch to build from (can be overridden via env var) GIT_BRANCH: ${GIT_BRANCH:-master-dev} image: mev-bot:dev-${GIT_BRANCH:-master-dev} container_name: mev-bot-dev-${GIT_BRANCH:-master-dev} restart: unless-stopped volumes: # Mount logs directory for persistent logs - ./logs:/app/logs # Mount data directory for database - ./data:/app/data # Mount development config - ./config/config.dev.yaml:/app/config/config.yaml:ro environment: # Branch information - GIT_BRANCH=${GIT_BRANCH:-master-dev} - LOG_LEVEL=${LOG_LEVEL:-debug} - ARBITRUM_RPC_ENDPOINT=${ARBITRUM_RPC_ENDPOINT:-https://arbitrum-rpc.publicnode.com} - METRICS_ENABLED=${METRICS_ENABLED:-true} env_file: - .env ports: - "${PORT:-8080}:8080" - "${METRICS_PORT:-9090}:9090" command: ["start"] # Health check to ensure the bot is running properly healthcheck: test: ["CMD-SHELL", "pgrep -f mev-bot || exit 1"] interval: 30s timeout: 10s retries: 3 start_period: 40s # Resource limits (adjust as needed for development) deploy: resources: limits: cpus: '4' memory: 4G reservations: cpus: '1' memory: 1G labels: - "dev.branch=${GIT_BRANCH:-master-dev}" - "dev.environment=development"