services: postgres: image: postgres:15 ports: - "5432:5432" environment: POSTGRES_USER: myuser POSTGRES_PASSWORD: mypassword POSTGRES_DB: vultisig-verifier volumes: - pg_data:/var/lib/postgresql/data networks: - shared_network healthcheck: test: [ "CMD", "pg_isready", "-d", "vultisig-verifier", "-U", "myuser" ] interval: 10s timeout: 5s retries: 3 redis: image: redis:7 ports: - "6379:6379" volumes: - redis_data:/data networks: - shared_network healthcheck: test: [ "CMD", "redis-cli", "ping" ] interval: 10s timeout: 5s retries: 3 minio: build: context: . dockerfile: Dockerfile.minio platforms: - linux/amd64 ports: - "9000:9000" - "9090:9090" environment: MINIO_ROOT_USER: minioadmin MINIO_ROOT_PASSWORD: minioadmin volumes: - minio_data:/data networks: - shared_network verifier: build: context: . dockerfile: Dockerfile.verifier platforms: - linux/amd64 environment: REDIS_HOST: redis REDIS_PORT: 6379 BLOCK_STORAGE_HOST: http://minio:9000 PLUGIN_ASSETS_HOST: http://minio:9000 PLUGIN_ASSETS_REGION: us-east-1 PLUGIN_ASSETS_BUCKET: vultisig-plugin-assets PLUGIN_ASSETS_ACCESS_KEY: minioadmin PLUGIN_ASSETS_SECRET: minioadmin PLUGIN_ASSETS_PUBLIC_BASE_URL: http://localhost:9000/vultisig-plugin-assets DATABASE_DSN: postgres://myuser:mypassword@postgres:5432/vultisig-verifier?sslmode=disable ports: - "8080:8080" depends_on: postgres: condition: service_healthy redis: condition: service_healthy minio: condition: service_started networks: - shared_network worker: build: context: . dockerfile: Dockerfile.worker platforms: - linux/amd64 environment: REDIS_HOST: redis REDIS_PORT: 6379 BLOCK_STORAGE_HOST: http://minio:9000 DATABASE_DSN: postgres://myuser:mypassword@postgres:5432/vultisig-verifier?sslmode=disable depends_on: postgres: condition: service_healthy redis: condition: service_healthy minio: condition: service_started networks: - shared_network volumes: pg_data: redis_data: minio_data: networks: shared_network: external: true