version: '3.8' services: # Development Frontend with Hot Reload hive-frontend-dev: build: context: ./frontend dockerfile: Dockerfile.dev ports: - "3000:3000" # Direct access for development volumes: # Mount source code for hot reload - ./frontend/src:/app/src:ro - ./frontend/public:/app/public:ro - ./frontend/package.json:/app/package.json:ro - ./frontend/package-lock.json:/app/package-lock.json:ro - ./frontend/vite.config.ts:/app/vite.config.ts:ro - ./frontend/tsconfig.json:/app/tsconfig.json:ro - ./frontend/tailwind.config.js:/app/tailwind.config.js:ro - ./frontend/postcss.config.js:/app/postcss.config.js:ro - ./frontend/.env.development:/app/.env:ro environment: - NODE_ENV=development - VITE_API_BASE_URL=https://hive.home.deepblack.cloud - VITE_WS_BASE_URL=https://hive.home.deepblack.cloud - VITE_ENABLE_DEBUG_MODE=true - VITE_LOG_LEVEL=debug - VITE_DEV_MODE=true networks: - hive-dev-network depends_on: - hive-backend-dev command: npm run dev # Development Backend (optional - can use production backend) hive-backend-dev: build: context: ./backend dockerfile: Dockerfile.dev ports: - "8089:8000" # Different port to avoid conflicts with filebrowser volumes: - ./backend:/app:ro environment: - DATABASE_URL=postgresql://hive:hivepass@host.docker.internal:5433/hive # Connect to production DB - REDIS_URL=redis://:hivepass@host.docker.internal:6380 - ENVIRONMENT=development - LOG_LEVEL=debug - CORS_ORIGINS=http://localhost:3000,https://hive.home.deepblack.cloud - HOT_RELOAD=true networks: - hive-dev-network extra_hosts: - "host.docker.internal:host-gateway" # Access host services networks: hive-dev-network: driver: bridge # Note: This setup uses production database/redis but with dev frontend/backend # This gives us live data while maintaining fast development cycle