include: - ./compose.a.yml - ./compose.b.yml services: client: build: . depends_on: a.local: condition: service_healthy b.local: condition: service_healthy environment: - NODE_EXTRA_CA_CERTS=/usr/local/share/ca-certificates/rootCA.crt volumes: - ./certificates/rootCA.crt:/usr/local/share/ca-certificates/rootCA.crt:ro - ./packages/client/assets:/workspace/packages/client/assets:ro - ./packages/client/src:/workspace/packages/client/src:ro - ./packages/client/package.json:/workspace/packages/client/package.json:ro - ./packages/client/tsconfig.json:/workspace/packages/client/tsconfig.json:ro - ./pnpm-lock.yaml:/workspace/pnpm-lock.yaml:ro - ./pnpm-workspace.yaml:/workspace/pnpm-workspace.yaml:ro command: sh -c "pnpm --filter client install && pnpm --filter client start" daemon: build: . depends_on: redis.local: condition: service_healthy environment: - CLIENT_IP_ADDRESS=$CLIENT_IP_ADDRESS volumes: - ./packages/daemon/src:/workspace/packages/daemon/src:ro - ./packages/daemon/package.json:/workspace/packages/daemon/package.json:ro - ./pnpm-lock.yaml:/workspace/pnpm-lock.yaml:ro - ./pnpm-workspace.yaml:/workspace/pnpm-workspace.yaml:ro command: sh -c "pnpm --filter daemon install && pnpm --filter daemon start" redis.local: image: redis:7-alpine volumes: - ./volumes/redis:/data healthcheck: test: redis-cli ping interval: 5s retries: 20