version: '3.9' services: node1: image: chrislusf/seaweedfs:local command: "server -master -volume -filer" ports: - 8888:8888 - 18888:18888 healthcheck: test: [ "CMD", "curl", "--fail", "-I", "http://localhost:9333/cluster/healthz" ] interval: 1s start_period: 10s timeout: 30s mount1: image: chrislusf/seaweedfs:local privileged: true command: "mount -filer=node1:8888 -dir=/mnt -dirAutoCreate" healthcheck: test: [ "CMD", "curl", "--fail", "-I", "http://node1:8888/" ] interval: 1s start_period: 10s timeout: 30s depends_on: node1: condition: service_healthy node2: image: chrislusf/seaweedfs:local ports: - 7888:8888 - 17888:18888 command: "server -master -volume -filer" healthcheck: test: [ "CMD", "curl", "--fail", "-I", "http://localhost:9333/cluster/healthz" ] interval: 1s start_period: 10s timeout: 30s mount2: image: chrislusf/seaweedfs:local privileged: true command: "mount -filer=node2:8888 -dir=/mnt -dirAutoCreate" healthcheck: test: [ "CMD", "curl", "--fail", "-I", "http://node2:8888/" ] interval: 1s start_period: 10s timeout: 30s depends_on: node2: condition: service_healthy sync: image: chrislusf/seaweedfs:local command: "-v=4 filer.sync -a=node1:8888 -b=node2:8888 -a.debug -b.debug" depends_on: mount1: condition: service_healthy mount2: condition: service_healthy