services: postgres: image: postgres:18-alpine environment: POSTGRES_USER: postgres POSTGRES_PASSWORD: postgres POSTGRES_DB: prism volumes: - postgres_data:/var/lib/postgresql/data ports: - "5432:5432" healthcheck: test: ["CMD-SHELL", "pg_isready -U postgres"] interval: 5s timeout: 5s retries: 5 tap: image: ghcr.io/bluesky-social/indigo:tap-latest environment: TAP_UPSTREAM_RELAY: ${TAP_UPSTREAM_RELAY:-wss://bsky.network} TAP_SIGNAL_COLLECTION: ${TAP_SIGNAL_COLLECTION:-systems.gmstn.development.lattice} TAP_COLLECTION_FILTERS: ${TAP_COLLECTION_FILTERS:-systems.gmstn.development.*} TAP_HTTP_ADDR: 0.0.0.0:8080 TAP_WS_ADDR: 0.0.0.0:2480 ports: - "8080:8080" - "2480:2480" restart: unless-stopped prism: build: . environment: DATABASE_URL: postgres://postgres:postgres@postgres:5432/prism TAP_WS_URL: ws://tap:2480/channel HOST: 0.0.0.0 PORT: 3000 RUST_LOG: prism=debug,tower_http=debug ports: - "3000:3000" depends_on: postgres: condition: service_healthy tap: condition: service_started restart: unless-stopped volumes: postgres_data: