services: app: platform: linux/amd64 image: "matterlabs/block-explorer-app:${VERSION}" ports: - '3010:3010' depends_on: - api restart: unless-stopped worker: platform: linux/amd64 image: "matterlabs/block-explorer-worker:${VERSION}" environment: - PORT=3001 - LOG_LEVEL=verbose - NODE_ENV=development - DATABASE_HOST=postgres - DATABASE_USER=postgres - DATABASE_PASSWORD=postgres - DATABASE_NAME=block-explorer - BLOCKCHAIN_RPC_URL=http://host.docker.internal:${RPC_PORT} - DATA_FETCHER_URL=http://data-fetcher:3040 - BATCHES_PROCESSING_POLLING_INTERVAL=1000 restart: unless-stopped extra_hosts: - "host.docker.internal:host-gateway" data-fetcher: platform: linux/amd64 image: "matterlabs/block-explorer-data-fetcher:${VERSION}" environment: - PORT=3040 - LOG_LEVEL=verbose - NODE_ENV=development - BLOCKCHAIN_RPC_URL=http://host.docker.internal:${RPC_PORT} restart: unless-stopped extra_hosts: - "host.docker.internal:host-gateway" api: platform: linux/amd64 image: "matterlabs/block-explorer-api:${VERSION}" environment: - PORT=3020 - METRICS_PORT=3005 - LOG_LEVEL=verbose - NODE_ENV=development - DATABASE_URL=postgres://postgres:postgres@postgres:5432/block-explorer ports: - '3020:3020' depends_on: - worker restart: unless-stopped postgres: image: "postgres:14" logging: driver: none volumes: - postgres:/var/lib/postgresql/data healthcheck: test: [ "CMD-SHELL", "pg_isready -U postgres" ] interval: 5s timeout: 5s retries: 5 environment: - POSTGRES_USER=postgres - POSTGRES_PASSWORD=postgres - POSTGRES_DB=block-explorer volumes: postgres: