version: '2' services: ca0: image: hyperledger/fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME=ca-org1 - FABRIC_CA_SERVER_TLS_ENABLED=true - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/174e8d348c69c262062df8e4dff85a1032fe94f5681ca7403bd600448c6555e0_sk ports: - 7054:7054 command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/174e8d348c69c262062df8e4dff85a1032fe94f5681ca7403bd600448c6555e0_sk -b admin:adminpw -d' volumes: - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config container_name: ca0 ca1: image: hyperledger/fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME=ca-org2 - FABRIC_CA_SERVER_TLS_ENABLED=true - FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem - FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/2d76eb8773a56cb65566dca1cd6378ecc473b8233af83b4a474b7ec00c2d56b6_sk ports: - 7055:7054 command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/2d76eb8773a56cb65566dca1cd6378ecc473b8233af83b4a474b7ec00c2d56b6_sk -b admin:adminpw -d' volumes: - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config container_name: ca1 zookeeper0: image: hyperledger/fabric-zookeeper environment: - ZOO_MY_ID=1 - ZOO_PORT=2181 - ZOO_SERVERS=server.1=zookeeper0:2182:2183:participant server.2=zookeeper1:3182:3183:participant server.3=zookeeper2:4182:4183:participant ports: - 2181:2181 - 2182:2182 - 2183:2183 container_name: zookeeper0 zookeeper1: image: hyperledger/fabric-zookeeper environment: - ZOO_MY_ID=2 - ZOO_PORT=3181 - ZOO_SERVERS=server.1=zookeeper0:2182:2183:participant server.2=zookeeper1:3182:3183:participant server.3=zookeeper2:4182:4183:participant ports: - 3181:3181 - 3182:3182 - 3183:3183 container_name: zookeeper1 zookeeper2: image: hyperledger/fabric-zookeeper environment: - ZOO_MY_ID=3 - ZOO_PORT=4181 - ZOO_SERVERS=server.1=zookeeper0:2182:2183:participant server.2=zookeeper1:3182:3183:participant server.3=zookeeper2:4182:4183:participant ports: - 4181:4181 - 4182:4182 - 4183:4183 container_name: zookeeper2 kafka0: image: hyperledger/fabric-kafka environment: - KAFKA_BROKER_ID=0 - KAFKA_DEFAULT_REPLICATION_FACTOR=4 - KAFKA_MESSAGE_MAX_BYTES=103809024 - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:3181,zookeeper2:4181 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false depends_on: - zookeeper0 - zookeeper1 - zookeeper2 container_name: kafka0 ports: - 9092:9092 kafka1: image: hyperledger/fabric-kafka environment: - KAFKA_BROKER_ID=1 - KAFKA_DEFAULT_REPLICATION_FACTOR=4 - KAFKA_MESSAGE_MAX_BYTES=103809024 - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:3181,zookeeper2:4181 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false depends_on: - zookeeper0 - zookeeper1 - zookeeper2 container_name: kafka1 ports: - 9093:9092 kafka2: image: hyperledger/fabric-kafka environment: - KAFKA_BROKER_ID=2 - KAFKA_DEFAULT_REPLICATION_FACTOR=4 - KAFKA_MESSAGE_MAX_BYTES=103809024 - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:3181,zookeeper2:4181 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false depends_on: - zookeeper0 - zookeeper1 - zookeeper2 container_name: kafka2 ports: - 9094:9092 kafka3: image: hyperledger/fabric-kafka environment: - KAFKA_BROKER_ID=3 - KAFKA_DEFAULT_REPLICATION_FACTOR=4 - KAFKA_MESSAGE_MAX_BYTES=103809024 - KAFKA_REPLICA_FETCH_MAX_BYTES=103809024 - KAFKA_ZOOKEEPER_CONNECT=zookeeper0:2181,zookeeper1:3181,zookeeper2:4181 - KAFKA_MIN_INSYNC_REPLICAS=2 - KAFKA_UNCLEAN_LEADER_ELECTION_ENABLE=false depends_on: - zookeeper0 - zookeeper1 - zookeeper2 container_name: kafka3 ports: - 9095:9092 orderer0.example.com: image: hyperledger/fabric-orderer environment: - ORDERER_GENERAL_LOGLEVEL=DEBUG - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/orderer.block - ORDERER_GENERAL_LOCALMSPID=OrdererOrg - ORDERER_GENERAL_LOCALMSPDIR=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/msp - ORDERER_GENERAL_TLS_ENABLED=true - ORDERER_GENERAL_TLS_PRIVATEKEY=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/server.crt - ORDERER_GENERAL_TLS_ROOTCAS=[/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer0.example.com/tls/ca.crt] working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: orderer volumes: - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 5005:7050 container_name: orderer0.example.com depends_on: - kafka0 - kafka1 - kafka2 - kafka3 orderer1.example.com: image: hyperledger/fabric-orderer environment: - ORDERER_GENERAL_LOGLEVEL=DEBUG - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/orderer.block - ORDERER_GENERAL_LOCALMSPID=OrdererOrg - ORDERER_GENERAL_LOCALMSPDIR=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/msp - ORDERER_GENERAL_TLS_ENABLED=true - ORDERER_GENERAL_TLS_PRIVATEKEY=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/server.crt - ORDERER_GENERAL_TLS_ROOTCAS=[/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer1.example.com/tls/ca.crt] working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: orderer volumes: - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 5006:7050 container_name: orderer1.example.com depends_on: - kafka0 - kafka1 - kafka2 - kafka3 orderer2.example.com: image: hyperledger/fabric-orderer environment: - ORDERER_GENERAL_LOGLEVEL=DEBUG - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/orderer.block - ORDERER_GENERAL_LOCALMSPID=OrdererOrg - ORDERER_GENERAL_LOCALMSPDIR=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/msp - ORDERER_GENERAL_TLS_ENABLED=true - ORDERER_GENERAL_TLS_PRIVATEKEY=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.key - ORDERER_GENERAL_TLS_CERTIFICATE=/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/server.crt - ORDERER_GENERAL_TLS_ROOTCAS=[/opt/hyperledger/fabric/msp/crypto-config/ordererOrganizations/example.com/orderers/orderer2.example.com/tls/ca.crt] working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: orderer volumes: - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 5007:7050 container_name: orderer2.example.com depends_on: - kafka0 - kafka1 - kafka2 - kafka3 peer0.org1.example.com: image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=nl_default - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ID=peer0.org1.example.com - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 - CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984 - CORE_PEER_LOCALMSPID=PeerOrg1 - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051 - CORE_PEER_CHAINCODEADDRESS=peer0.org1.example.com:7052 - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_KEY_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.key - CORE_PEER_TLS_CERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/server.crt - CORE_PEER_TLS_ROOTCERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/tls/ca.crt volumes: - /var/run/:/host/var/run/ - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 7061:7051 - 6051:7053 depends_on: - orderer0.example.com - couchdb0 working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start container_name: peer0.org1.example.com peer1.org1.example.com: image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=nl_default - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ID=peer1.org1.example.com - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 - CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/msp - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984 - CORE_PEER_LOCALMSPID=PeerOrg1 - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 - CORE_PEER_CHAINCODEADDRESS=peer1.org1.example.com:7052 - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_KEY_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.key - CORE_PEER_TLS_CERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/server.crt - CORE_PEER_TLS_ROOTCERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/tls/ca.crt volumes: - /var/run/:/host/var/run/ - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 7062:7051 - 6052:7053 depends_on: - orderer0.example.com - peer0.org1.example.com - couchdb1 working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start container_name: peer1.org1.example.com peer0.org2.example.com: image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=nl_default - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ID=peer0.org2.example.com - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051 - CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/msp - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984 - CORE_PEER_LOCALMSPID=PeerOrg2 - CORE_PEER_ADDRESS=peer0.org2.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051 - CORE_PEER_CHAINCODEADDRESS=peer0.org2.example.com:7052 - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_KEY_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.key - CORE_PEER_TLS_CERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/server.crt - CORE_PEER_TLS_ROOTCERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/tls/ca.crt volumes: - /var/run/:/host/var/run/ - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 7063:7051 - 6053:7053 depends_on: - orderer1.example.com - couchdb2 working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start container_name: peer0.org2.example.com peer1.org2.example.com: image: hyperledger/fabric-peer environment: - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_LOGGING_LEVEL=DEBUG - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=nl_default - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_PROFILE_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ID=peer1.org2.example.com - CORE_PEER_CHAINCODELISTENADDRESS=0.0.0.0:7052 - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051 - CORE_PEER_MSPCONFIGPATH=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/msp - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb3:5984 - CORE_PEER_LOCALMSPID=PeerOrg2 - CORE_PEER_ADDRESS=peer1.org2.example.com:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051 - CORE_PEER_CHAINCODEADDRESS=peer1.org2.example.com:7052 - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_KEY_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.key - CORE_PEER_TLS_CERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/server.crt - CORE_PEER_TLS_ROOTCERT_FILE=/opt/hyperledger/fabric/msp/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/tls/ca.crt volumes: - /var/run/:/host/var/run/ - /Users/ratnakar/workspace/go/src/github.com/hyperledger/fabric-test/fabric/common/tools/cryptogen/crypto-config:/opt/hyperledger/fabric/msp/crypto-config ports: - 7064:7051 - 6054:7053 depends_on: - orderer1.example.com - peer0.org2.example.com - couchdb3 working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer command: peer node start container_name: peer1.org2.example.com couchdb0: image: hyperledger/fabric-couchdb ports: - 5984:5984 container_name: couchdb0 couchdb1: image: hyperledger/fabric-couchdb ports: - 5985:5984 container_name: couchdb1 couchdb2: image: hyperledger/fabric-couchdb ports: - 5986:5984 container_name: couchdb2 couchdb3: image: hyperledger/fabric-couchdb ports: - 5987:5984 container_name: couchdb3