version: '3.8' services: # Backend server server: build: context: ./server dockerfile: Dockerfile container_name: turtle-server ports: - "4200:3001" # HTTP API - "3002:3002" # WebSocket environment: - NODE_ENV=production - PORT=3001 - WS_PORT=3002 restart: unless-stopped networks: - turtle-network healthcheck: test: ["CMD", "node", "-e", "require('http').get('http://localhost:3001/api/turtles', (r) => {process.exit(r.statusCode === 200 ? 0 : 1)})"] interval: 30s timeout: 3s retries: 3 start_period: 10s # Frontend client client: build: context: ./client dockerfile: Dockerfile container_name: turtle-client ports: - "4444:3000" # Vite preview server depends_on: - server restart: unless-stopped networks: - turtle-network healthcheck: test: ["CMD", "wget", "--quiet", "--tries=1", "--spider", "http://localhost:3000"] interval: 30s timeout: 3s retries: 3 networks: turtle-network: driver: bridge