version: '3.8' services: aredemo: build: context: . dockerfile: Dockerfile platforms: - linux/amd64 secrets: - github_username - github_token ports: - "7860:7860" environment: - FLASK_ENV=production - NODE_ENV=production - STORAGE_PATH=/app/data volumes: # Mount data directory for MCP files and session storage - ./data:/app/data # Mount logs or data if needed - ./logs:/app/logs aredemo-dev: build: context: . dockerfile: Dockerfile platforms: - linux/amd64 secrets: - github_username - github_token ports: - "7860:7860" # Expose a range of ports for ARE processes (1024-1100 should be enough for dev) - "1024-1100:1024-1100" environment: - FLASK_ENV=development - NODE_ENV=development - FLASK_DEBUG=1 volumes: # Mount Python source code for hot reloading - ./app.py:/app/app.py - ./backend:/app/backend # Mount MCP demo prompts file - ./mcp_demo_prompts.json:/app/mcp_demo_prompts.json # Mount React frontend source for development - ./frontend/src:/app/frontend/src - ./frontend/public:/app/frontend/public - ./frontend/package.json:/app/frontend/package.json # Mount logs - ./logs:/app/logs develop: watch: - action: sync path: ./app.py target: /app/app.py - action: sync path: ./backend target: /app/backend - action: sync+restart path: ./frontend/src target: /app/frontend/src - action: sync+restart path: ./frontend/public target: /app/frontend/public # Separate React dev server for true hot reloading react-dev: build: context: ./frontend dockerfile: Dockerfile.dev ports: - "3000:3000" environment: - NODE_ENV=development - FAST_REFRESH=true - WDS_SOCKET_HOST=localhost volumes: - ./frontend/src:/app/src - ./frontend/public:/app/public - ./frontend/package.json:/app/package.json - /app/node_modules command: npm start secrets: github_username: environment: GITHUB_USERNAME github_token: environment: GITHUB_TOKEN