services: backend: build: ./backend ports: - "8080:8080" shm_size: "1gb" # prevents Chromium from crashing inside the container environment: - PORT=8080 - START_URL=https://www.google.com frontend: build: ./frontend ports: - "3000:3000" environment: # browser talks to the backend directly on the host port - NEXT_PUBLIC_WS_URL=ws://localhost:8080 - WATCHPACK_POLLING=true # reliable hot-reload on Windows-mounted files volumes: - ./frontend:/app # live-mount source for hot reload - /app/node_modules # keep container's node_modules depends_on: - backend