version: "3.8" services: db: image: postgres:16-alpine environment: POSTGRES_DB: agent_metaverse POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres ports: - "5432:5432" volumes: - pgdata:/var/lib/postgresql/data healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 2s timeout: 5s retries: 10 backend: build: ./backend ports: - "8000:8000" environment: DATABASE_URL: postgresql+asyncpg://postgres:postgres@db:5432/agent_metaverse depends_on: db: condition: service_healthy frontend: build: ./frontend ports: - "3000:80" depends_on: - backend volumes: pgdata: