# Copyright IBM Corp. All Rights Reserved. # # SPDX-License-Identifier: Apache-2.0 # version: '3' volumes: wadaorderer.example.com: peer0.wada.example.com: peer1.wada.example.com: networks: basic: services: cawada: image: hyperledger/fabric-ca:$IMAGE_TAG environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server/ - FABRIC_CA_SERVER_CA_NAME=ca-wada - FABRIC_CA_SERVER_TLS_ENABLED=true - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.wada.example.com-cert.pem - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/195301f6352f3551240b9f1d1fbe183ac2d3eb7ecde704ece8eba7d90e078c2c_sk ports: - 7054:7054 command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.wada.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/195301f6352f3551240b9f1d1fbe183ac2d3eb7ecde704ece8eba7d90e078c2c_sk -b admin:adminpw -d' volumes: - ./crypto-config/peerOrganizations/wada.example.com/ca/195301f6352f3551240b9f1d1fbe183ac2d3eb7ecde704ece8eba7d90e078c2c_sk:/etc/hyperledger/fabric-ca-server-config/195301f6352f3551240b9f1d1fbe183ac2d3eb7ecde704ece8eba7d90e078c2c_sk - ./crypto-config/peerOrganizations/wada.example.com/ca/ca.wada.example.com-cert.pem:/etc/hyperledger/fabric-ca-server-config/ca.wada.example.com-cert.pem container_name: ca_peerWada networks: - basic zookeeper0: container_name: zookeeper0 image: hyperledger/fabric-zookeeper restart: always ports: - '2181' - '2888' - '3888' environment: - ZOO_MY_ID=1 - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888 networks: - basic zookeeper1: container_name: zookeeper1 image: hyperledger/fabric-zookeeper restart: always ports: - '2181' - '2888' - '3888' environment: - ZOO_MY_ID=2 - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888 networks: - basic zookeeper2: container_name: zookeeper2 image: hyperledger/fabric-zookeeper restart: always ports: - '2181' - '2888' - '3888' environment: - ZOO_MY_ID=3 - ZOO_SERVERS=server.1=zookeeper0:2888:3888 server.2=zookeeper1:2888:3888 server.3=zookeeper2:2888:3888 networks: - basic kafka0: container_name: kafka0 image: hyperledger/fabric-kafka restart: always environment: - KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false - KAFKA_BROKER_ID=0 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_DEFAULT_REPLICATION_FACTOR=3 - KAFKA_ADVERTISED_HOST_NAME=kafka0 - KAFKA_ADVERTISED_PORT=9092 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka0:9092 - KAFKA_PORT=9092 ports: - 9092:9092 depends_on: - zookeeper0 - zookeeper1 - zookeeper2 networks: - basic kafka1: container_name: kafka1 image: hyperledger/fabric-kafka restart: always environment: - KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false - KAFKA_BROKER_ID=1 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_DEFAULT_REPLICATION_FACTOR=3 - KAFKA_ADVERTISED_HOST_NAME=kafka1 - KAFKA_ADVERTISED_PORT=9092 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka1:9092 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181 ports: - 10092:9092 depends_on: - zookeeper0 - zookeeper1 - zookeeper2 networks: - basic kafka2: container_name: kafka2 image: hyperledger/fabric-kafka restart: always environment: - KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false - KAFKA_BROKER_ID=2 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_DEFAULT_REPLICATION_FACTOR=3 - KAFKA_ADVERTISED_HOST_NAME=kafka2 - KAFKA_ADVERTISED_PORT=9092 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka2:9092 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181 ports: - 20092:9092 depends_on: - zookeeper0 - zookeeper1 - zookeeper2 networks: - basic kafka3: container_name: kafka3 image: hyperledger/fabric-kafka restart: always environment: - KAFKA_MESSAGE_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 # 99 * 1024 * 1024 B - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false - KAFKA_BROKER_ID=3 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_DEFAULT_REPLICATION_FACTOR=3 - KAFKA_ADVERTISED_HOST_NAME=kafka3 - KAFKA_ADVERTISED_PORT=9092 - KAFKA_ADVERTISED_LISTENERS=PLAINTEXT://kafka3:9092 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:2181,zookeeper2:2181 ports: - 30092:9092 depends_on: - zookeeper0 - zookeeper1 - zookeeper2 networks: - basic wadaorderer.example.com: container_name: wadaorderer.example.com image: hyperledger/fabric-orderer:$IMAGE_TAG environment: # - ORDERER_GENERAL_LOGLEVEL=INFO - ORDERER_GENERAL_LOGLEVEL=DEBUG - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.genesis.block - ORDERER_GENERAL_LOCALMSPID=WADAOrdererMSP - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp # enabled TLS - ORDERER_GENERAL_TLS_ENABLED=true # - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/tls/server.key # - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/tls/server.crt # - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/tls/ca.crt] - ORDERER_KAFKA_RETRY_SHORTINTERVAL=1s - ORDERER_KAFKA_RETRY_SHORTTOTAL=30s - ORDERER_KAFKA_VERBOSE=true - ORDERER_GENERAL_TLS_CLIENTAUTHREQUIRED=true - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/msp/keystore/60d525f439542b676ef2bc413e59d3a07c05be96414ec3491d6b0334b3e482f7_sk - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/msp/signcerts/wadaorderer.example.com-cert.pem - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/msp/cacerts/ca.example.com-cert.pem, /var/hyperledger/peer/peerWADA/msp/cacerts/ca.wada.example.com-cert.pem] - ORDERER_GENERAL_TLS_CLIENTROOTCAS=[/var/hyperledger/orderer/msp/cacerts/ca.example.com-cert.pem, /var/hyperledger/peer/peerWADA/msp/cacerts/ca.wada.example.com-cert.pem] working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: orderer volumes: - ./channel-artifacts/wada/genesis.block:/var/hyperledger/orderer/orderer.genesis.block - ./crypto-config/ordererOrganizations/example.com/orderers/wadaorderer.example.com/msp:/var/hyperledger/orderer/msp - ./crypto-config/ordererOrganizations/example.com/orderers/wadaorderer.example.com/tls:/var/hyperledger/orderer/tls - ./crypto-config/peerOrganizations/wada.example.com/peers/peer0.wada.example.com/:/var/hyperledger/peer/peerWADA - wadaorderer.example.com:/var/hyperledger/production/orderer ports: - 7050:7050 networks: - basic depends_on: - zookeeper0 - zookeeper1 - zookeeper2 - kafka0 - kafka1 - kafka2 - kafka3 peer0.wada.example.com: container_name: peer0.wada.example.com image: hyperledger/fabric-peer:$IMAGE_TAG environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock # the following setting starts chaincode containers on the same # bridge network as the peers # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LOGGING_LEVEL=INFO #- CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_TLS_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt - CORE_PEER_ID=peer0.wada.example.com - CORE_PEER_ADDRESS=peer0.wada.example.com:7051 - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.wada.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.wada.example.com:7051 - CORE_PEER_LOCALMSPID=WADAMSP - CORE_CHAINCODE_DEPLOYTIMEOUT=300s - CORE_CHAINCODE_STARTUPTIMEOUT=300s - CORE_PEER_TLS_CLIENTAUTHREQUIRED=true working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/wada.example.com/peers/peer0.wada.example.com/msp:/etc/hyperledger/fabric/msp - ./crypto-config/peerOrganizations/wada.example.com/peers/peer0.wada.example.com/tls:/etc/hyperledger/fabric/tls - ./crypto-config/peerOrganizations/wada.example.com/users:/etc/hyperledger/fabric/msp/users/ - ./crypto-config/ordererOrganizations/:/etc/hyperledger/fabric/crypto/ordererOrganizations/ - peer0.wada.example.com:/var/hyperledger/production ports: - 7051:7051 - 7053:7053 networks: - basic peer1.wada.example.com: container_name: peer1.wada.example.com image: hyperledger/fabric-peer:$IMAGE_TAG environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock # the following setting starts chaincode containers on the same # bridge network as the peers # https://docs.docker.com/compose/networking/ - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic - CORE_LOGGING_LEVEL=INFO #- CORE_LOGGING_LEVEL=DEBUG - CORE_PEER_TLS_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/tls/server.crt - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/tls/ca.crt - CORE_PEER_ID=peer1.wada.example.com - CORE_PEER_ADDRESS=peer1.wada.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.wada.example.com:7051 - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.wada.example.com:7051 - CORE_PEER_LOCALMSPID=WADAMSP working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start volumes: - /var/run/:/host/var/run/ - ./crypto-config/peerOrganizations/wada.example.com/peers/peer1.wada.example.com/msp:/etc/hyperledger/fabric/msp - ./crypto-config/peerOrganizations/wada.example.com/peers/peer1.wada.example.com/tls:/etc/hyperledger/fabric/tls - ./crypto-config/peerOrganizations/wada.example.com/users:/etc/hyperledger/fabric/msp/users/ - ./crypto-config/ordererOrganizations/:/etc/hyperledger/fabric/crypto/ordererOrganizations/ - peer1.wada.example.com:/var/hyperledger/production ports: - 7056:7051 - 7058:7053 networks: - basic cli: container_name: cli image: hyperledger/fabric-tools:$IMAGE_TAG tty: true stdin_open: true environment: - GOPATH=/opt/gopath - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG #- CORE_LOGGING_LEVEL=INFO - CORE_PEER_ID=cli - CORE_PEER_ADDRESS=peer0.wada.example.com:7051 - CORE_PEER_LOCALMSPID=WADAMSP - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/wada.example.com/peers/peer0.wada.example.com/tls/server.crt - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/wada.example.com/peers/peer0.wada.example.com/tls/server.key - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/wada.example.com/peers/peer0.wada.example.com/tls/ca.crt - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/wada.example.com/users/Admin@wada.example.com/msp working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: /bin/bash volumes: - /var/run/:/host/var/run/ - ./chaincode/:/opt/gopath/src/github.com/chaincode - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/ - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/ - ./channel-artifacts/wada:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts/wada - ./channel-artifacts/nada:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel-artifacts/nada depends_on: - wadaorderer.example.com - peer0.wada.example.com - peer1.wada.example.com networks: - basic