--- version: "2.4" services: storage01: image: ${NODE_IMAGE}:${NODE_VERSION} domainname: ${LOCAL_DOMAIN} hostname: s01 container_name: s01 restart: on-failure networks: storage_int: internet: ipv4_address: ${IPV4_PREFIX}.71 volumes: - ./wallet01.json:/wallet.json - ./../../vendor/hosts:/etc/hosts - storage_s01:/storage - ./../../vendor/frostfs-cli:/frostfs-cli - ./cli-cfg.yml:/cli-cfg.yml - ./healthcheck.sh:/healthcheck.sh - ./s04tls.crt:/etc/ssl/certs/s04tls.crt - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt - ./cfg:/etc/frostfs/storage stop_signal: SIGTERM stop_grace_period: 15s env_file: [ ".env", ".storage.env", ".int_test.env" ] command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - FROSTFS_NODE_WALLET_PATH=./wallet.json - FROSTFS_NODE_WALLET_PASSWORD= - FROSTFS_NODE_ADDRESSES=s01.${LOCAL_DOMAIN}:8080 - FROSTFS_GRPC_0_ENDPOINT=s01.${LOCAL_DOMAIN}:8080 - FROSTFS_CONTROL_GRPC_ENDPOINT=s01.${LOCAL_DOMAIN}:8081 - FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU MOW - FROSTFS_NODE_ATTRIBUTE_2=Price:22 healthcheck: test: ["CMD-SHELL", "/healthcheck.sh"] interval: 2s timeout: 1s retries: 5 start_period: 10s storage02: image: ${NODE_IMAGE}:${NODE_VERSION} domainname: ${LOCAL_DOMAIN} hostname: s02 container_name: s02 restart: on-failure networks: storage_int: internet: ipv4_address: ${IPV4_PREFIX}.72 volumes: - ./wallet02.json:/wallet.json - ./../../vendor/hosts:/etc/hosts - storage_s02:/storage - ./../../vendor/frostfs-cli:/frostfs-cli - ./cli-cfg.yml:/cli-cfg.yml - ./healthcheck.sh:/healthcheck.sh - ./s04tls.crt:/etc/ssl/certs/s04tls.crt - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt - ./cfg:/etc/frostfs/storage stop_signal: SIGTERM stop_grace_period: 15s env_file: [ ".env", ".storage.env", ".int_test.env" ] command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - FROSTFS_NODE_WALLET_PATH=./wallet.json - FROSTFS_NODE_WALLET_PASSWORD= - FROSTFS_NODE_ADDRESSES=s02.${LOCAL_DOMAIN}:8080 - FROSTFS_GRPC_0_ENDPOINT=s02.${LOCAL_DOMAIN}:8080 - FROSTFS_CONTROL_GRPC_ENDPOINT=s02.${LOCAL_DOMAIN}:8081 - FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:RU LED - FROSTFS_NODE_ATTRIBUTE_2=Price:33 healthcheck: test: ["CMD-SHELL", "/healthcheck.sh"] interval: 2s timeout: 1s retries: 5 start_period: 10s storage03: image: ${NODE_IMAGE}:${NODE_VERSION} domainname: ${LOCAL_DOMAIN} hostname: s03 container_name: s03 restart: on-failure networks: storage_int: internet: ipv4_address: ${IPV4_PREFIX}.73 volumes: - ./wallet03.json:/wallet.json - ./../../vendor/hosts:/etc/hosts - storage_s03:/storage - ./../../vendor/frostfs-cli:/frostfs-cli - ./cli-cfg.yml:/cli-cfg.yml - ./healthcheck.sh:/healthcheck.sh - ./s04tls.crt:/etc/ssl/certs/s04tls.crt - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt - ./cfg:/etc/frostfs/storage stop_signal: SIGTERM stop_grace_period: 15s env_file: [ ".env", ".storage.env", ".int_test.env" ] command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - FROSTFS_NODE_WALLET_PATH=./wallet.json - FROSTFS_NODE_WALLET_PASSWORD= - FROSTFS_NODE_ADDRESSES=s03.${LOCAL_DOMAIN}:8080 - FROSTFS_GRPC_0_ENDPOINT=s03.${LOCAL_DOMAIN}:8080 - FROSTFS_CONTROL_GRPC_ENDPOINT=s03.${LOCAL_DOMAIN}:8081 - FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:SE STO - FROSTFS_NODE_ATTRIBUTE_2=Price:11 healthcheck: test: ["CMD-SHELL", "/healthcheck.sh"] interval: 2s timeout: 1s retries: 5 start_period: 10s storage04: image: ${NODE_IMAGE}:${NODE_VERSION} domainname: ${LOCAL_DOMAIN} hostname: s04 container_name: s04 restart: on-failure networks: storage_int: internet: ipv4_address: ${IPV4_PREFIX}.74 volumes: - ./wallet04.json:/wallet.json - ./../../vendor/hosts:/etc/hosts - storage_s04:/storage - ./../../vendor/frostfs-cli:/frostfs-cli - ./cli-cfg.yml:/cli-cfg.yml - ./healthcheck.sh:/healthcheck.sh - ./s04tls.crt:/tls.crt - ./s04tls.key:/tls.key - ../nats/client-cert.pem:/etc/frostfs-node/nats.tls.cert - ../nats/client-key.pem:/etc/frostfs-node/nats.tls.key - ../nats/ca-cert.pem:/etc/frostfs-node/nats.ca.crt - ./cfg:/etc/frostfs/storage stop_signal: SIGTERM stop_grace_period: 15s env_file: [ ".env", ".storage.env", ".int_test.env" ] command: [ "frostfs-node", "--config", "/etc/frostfs/storage/config.yml" ] environment: - FROSTFS_NODE_WALLET_PATH=./wallet.json - FROSTFS_NODE_WALLET_PASSWORD= - FROSTFS_NODE_ADDRESSES=s04.${LOCAL_DOMAIN}:8080 grpcs://s04.${LOCAL_DOMAIN}:8082 - FROSTFS_CONTROL_GRPC_ENDPOINT=s04.${LOCAL_DOMAIN}:8081 - FROSTFS_GRPC_NUM=2 - FROSTFS_GRPC_0_ENDPOINT=s04.${LOCAL_DOMAIN}:8080 - FROSTFS_GRPC_1_ENDPOINT=s04.${LOCAL_DOMAIN}:8082 - FROSTFS_GRPC_1_TLS_ENABLED=true - FROSTFS_GRPC_1_TLS_CERTIFICATE=/tls.crt - FROSTFS_GRPC_1_TLS_KEY=/tls.key - FROSTFS_NODE_ATTRIBUTE_1=UN-LOCODE:FI HEL - FROSTFS_NODE_ATTRIBUTE_2=Price:44 healthcheck: test: ["CMD-SHELL", "/healthcheck.sh"] interval: 2s timeout: 1s retries: 5 start_period: 10s sn-healthcheck: container_name: sn-healthcheck image: debian:10 depends_on: storage01: condition: service_healthy storage02: condition: service_healthy storage03: condition: service_healthy storage04: condition: service_healthy volumes: storage_s01: storage_s02: storage_s03: storage_s04: networks: storage_int: internet: external: true name: basenet_internet