version: '2' services: ca.org1.example.com: image: hyperledger/fabric-ca:x86_64-1.1.0 environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME=ca.org1.example.com - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/key.pem ports: - "7054:7054" command: sh -c 'fabric-ca-server start -b admin:adminpw -d --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/key.pem' volumes: - ../config/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - ../config/crypto-config/peerOrganizations/org1.example.com/tlsca/:/etc/hyperledger/fabric-ca-server-tls container_name: ca.org1.example.com ca.org2.example.com: image: hyperledger/fabric-ca:x86_64-1.1.0 environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME=ca.org2.example.com - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/key.pem ports: - "8054:7054" command: sh -c 'fabric-ca-server start -b admin:adminpw -d --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/key.pem' volumes: - ../config/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - ../config/crypto-config/peerOrganizations/org2.example.com/tlsca/:/etc/hyperledger/fabric-ca-server-tls container_name: ca.org2.example.com ca.org3.example.com: image: hyperledger/fabric-ca:x86_64-1.1.0 environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server - FABRIC_CA_SERVER_CA_NAME=ca.org3.example.com - FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.org3.example.com-cert.pem - FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/key.pem ports: - "9054:7054" command: sh -c 'fabric-ca-server start -b admin:adminpw -d --ca.certfile /etc/hyperledger/fabric-ca-server-config/ca.org3.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/key.pem' volumes: - ../config/crypto-config/peerOrganizations/org3.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - ../config/crypto-config/peerOrganizations/org3.example.com/tlsca/:/etc/hyperledger/fabric-ca-server-tls container_name: ca.org3.example.com orderer.example.com: container_name: orderer.example.com image: hyperledger/fabric-orderer:x86_64-1.1.0 environment: - ORDERER_GENERAL_LOGLEVEL=debug - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/orgs.genesis.block - ORDERER_GENERAL_LOCALMSPID=OrdererMSP - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer/msp working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: orderer ports: - 7050:7050 volumes: - ../config/:/etc/hyperledger/configtx - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peerOrg1 - ../config/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/:/etc/hyperledger/msp/peerOrg2 - ../config/crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/:/etc/hyperledger/msp/peerOrg3 peer0.org1.example.com: container_name: peer0.org1.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer0.org1.example.com - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer0.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer0.org1.example.com:5984 working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start ports: - 7051:7051 - 7053:7053 volumes: - /var/run/:/host/var/run/ - ../config/mychannel.tx:/etc/hyperledger/configtx/mychannel.tx - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org1.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - couchdb.peer0.org1.example.com couchdb.peer0.org1.example.com: container_name: couchdb.peer0.org1.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 5984:5984 environment: DB_URL: http://localhost:5984/member_db peer1.org1.example.com: container_name: peer1.org1.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org1.example.com - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer1.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer1.org1.example.com:5984 working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start ports: - 7057:7051 - 7059:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org1.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - peer0.org1.example.com - couchdb.peer1.org1.example.com couchdb.peer1.org1.example.com: container_name: couchdb.peer1.org1.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 5985:5984 environment: DB_URL: http://localhost:5984/member_db peer2.org1.example.com: container_name: peer2.org1.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer2.org1.example.com - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer2.org1.example.com:7051 - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer2.org1.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer2.org1.example.com:5984 command: peer node start ports: - 7063:7051 - 7065:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org1.example.com/peers/peer2.org1.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org1.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - peer0.org1.example.com - peer1.org1.example.com - couchdb.peer2.org1.example.com couchdb.peer2.org1.example.com: container_name: couchdb.peer2.org1.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 5986:5984 environment: DB_URL: http://localhost:5984/member_db peer0.org2.example.com: container_name: peer0.org2.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer0.org2.example.com - CORE_PEER_LOCALMSPID=Org2MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer0.org2.example.com:7051 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer0.org2.example.com:5984 working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org2.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - couchdb.peer0.org2.example.com couchdb.peer0.org2.example.com: container_name: couchdb.peer0.org2.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 6984:5984 environment: DB_URL: http://localhost:5984/member_db peer1.org2.example.com: container_name: peer1.org2.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org2.example.com - CORE_PEER_LOCALMSPID=Org2MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer1.org2.example.com:7051 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer1.org2.example.com:5984 working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start ports: - 8057:7051 - 8059:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org2.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - couchdb.peer1.org2.example.com couchdb.peer1.org2.example.com: container_name: couchdb.peer1.org2.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 6985:5984 environment: DB_URL: http://localhost:5984/member_db peer2.org2.example.com: container_name: peer2.org2.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer2.org2.example.com - CORE_PEER_LOCALMSPID=Org2MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer2.org2.example.com:7051 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer2.org2.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer2.org2.example.com:5984 command: peer node start ports: - 8063:7051 - 8065:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org2.example.com/peers/peer2.org2.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org2.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - peer0.org2.example.com - peer1.org2.example.com - couchdb.peer2.org2.example.com couchdb.peer2.org2.example.com: container_name: couchdb.peer2.org2.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 6986:5984 environment: DB_URL: http://localhost:5984/member_db peer0.org3.example.com: container_name: peer0.org3.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer0.org3.example.com - CORE_PEER_LOCALMSPID=Org3MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer0.org3.example.com:7051 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org3.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer0.org3.example.com:5984 working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start ports: - 9051:7051 - 9053:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org3.example.com/peers/peer0.org3.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org3.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - couchdb.peer0.org3.example.com couchdb.peer0.org3.example.com: container_name: couchdb.peer0.org3.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 7984:5984 environment: DB_URL: http://localhost:5984/member_db peer1.org3.example.com: container_name: peer1.org3.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer1.org3.example.com - CORE_PEER_LOCALMSPID=Org3MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer1.org3.example.com:7051 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org3.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer1.org3.example.com:5984 working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start ports: - 9057:7051 - 9059:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org3.example.com/peers/peer1.org3.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org3.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - couchdb.peer1.org3.example.com couchdb.peer1.org3.example.com: container_name: couchdb.peer1.org3.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 7985:5984 environment: DB_URL: http://localhost:5984/member_db peer2.org3.example.com: container_name: peer2.org3.example.com image: hyperledger/fabric-peer:x86_64-1.1.0 environment: - CORE_LOGGING_PEER=debug - CORE_CHAINCODE_LOGGING_LEVEL=DEBUG - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer2.org3.example.com - CORE_PEER_LOCALMSPID=Org3MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/msp/ - CORE_PEER_ADDRESS=peer2.org3.example.com:7051 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer2.org3.example.com:7051 - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=3org3peer_default - CORE_LEDGER_STATE_STATEDATABASE=CouchDB - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb.peer2.org3.example.com:5984 command: peer node start ports: - 9063:7051 - 9065:7053 volumes: - /var/run/:/host/var/run/ - ../config/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ../config/crypto-config/peerOrganizations/org3.example.com/peers/peer2.org3.example.com/:/etc/hyperledger/msp/peer - ../config/crypto-config/peerOrganizations/org3.example.com/users/:/etc/hyperledger/msp/users depends_on: - orderer.example.com - peer0.org3.example.com - peer1.org3.example.com - couchdb.peer2.org3.example.com couchdb.peer2.org3.example.com: container_name: couchdb.peer2.org3.example.com image: hyperledger/fabric-couchdb:x86_64-0.4.5 ports: - 7986:5984 environment: DB_URL: http://localhost:5984/member_db