version: '2' services: ca0: image: hyperledger/fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server ports: - "7054:7054" command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/org1.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/a22daf356b2aab5792ea53e35f66fccef1d7f1aa2b3a2b92dbfbf96a448ea26a_sk -b admin:adminpw' -d volumes: - ./channel/crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - ./fabricca/tlsOrg1:/etc/hyperledger/fabric-ca-server container_name: ca_peerOrg1 ca1: image: hyperledger/fabric-ca environment: - FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server ports: - "8054:7054" command: sh -c 'fabric-ca-server start --ca.certfile /etc/hyperledger/fabric-ca-server-config/org2.example.com-cert.pem --ca.keyfile /etc/hyperledger/fabric-ca-server-config/464d550fe9bf9e7d8976cdf59d1a5d472598f54c058c3546317c5c5fb0ddfd6e_sk -b admin:adminpw' -d volumes: - ./channel/crypto-config/peerOrganizations/org2.example.com/ca/:/etc/hyperledger/fabric-ca-server-config - ./fabricca/tlsOrg2:/etc/hyperledger/fabric-ca-server container_name: ca_peerOrg2 orderer0: container_name: orderer0 image: hyperledger/fabric-orderer environment: - GRPC_TRACE=all - GRPC_VERBOSITY=debug - ORDERER_GENERAL_LOGLEVEL=debug - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0 - ORDERER_GENERAL_GENESISMETHOD=file - ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/twoorgs.genesis.block - ORDERER_GENERAL_LOCALMSPID=OrdererMSP - ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer - ORDERER_GENERAL_TLS_ENABLED=true - ORDERER_GENERAL_TLS_PRIVATEKEY=/etc/hyperledger/tls/orderer/key.pem - ORDERER_GENERAL_TLS_CERTIFICATE=/etc/hyperledger/tls/orderer/cert.pem - ORDERER_GENERAL_TLS_ROOTCAS=[/etc/hyperledger/tls/orderer/ca-cert.pem, /etc/hyperledger/tls/peers/peer0/ca-cert.pem, /etc/hyperledger/tls/peers/peer2/ca-cert.pem] working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer command: orderer ports: - 7050:7050 volumes: - ./channel:/etc/hyperledger/configtx - ./channel/crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer - ./tls/orderer:/etc/hyperledger/tls/orderer - ./tls/peers:/etc/hyperledger/tls/peers peer0: container_name: peer0 image: hyperledger/fabric-peer environment: - GRPC_TRACE=all - GRPC_VERBOSITY=debug - CORE_NEXT=true - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer0 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_LOCALMSPID=Org1MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/ - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ADDRESS=peer0:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0:7051 - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/key.pem - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/cert.pem - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/ca-cert.pem # the following setting starts chaincode containers on the same # bridge network as the peers # https://docs.docker.com/compose/networking/ - CORE_PEER_GOSSIP_SKIPHANDSHAKE=true - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=fixtures_default working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start --peer-defaultchain=false ports: - 7051:7051 - 7053:7053 volumes: - /var/run/:/host/var/run/ - ./channel/crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peer - ./tls/peers/peer0:/etc/hyperledger/tls depends_on: - orderer0 peer2: container_name: peer2 image: hyperledger/fabric-peer environment: - CORE_NEXT=true - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock - CORE_PEER_ID=peer2 - CORE_PEER_ENDORSER_ENABLED=true - CORE_PEER_LOCALMSPID=Org2MSP - CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/ - CORE_PEER_GOSSIP_USELEADERELECTION=true - CORE_PEER_GOSSIP_ORGLEADER=false - CORE_PEER_ADDRESS=peer2:7051 - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer2:7051 - CORE_PEER_TLS_ENABLED=true - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/tls/key.pem - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/tls/cert.pem - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/tls/ca-cert.pem # the following setting starts chaincode containers on the same # bridge network as the peers # https://docs.docker.com/compose/networking/ - CORE_PEER_GOSSIP_SKIPHANDSHAKE=true - CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=fixtures_default working_dir: /opt/gopath/src/github.com/hyperledger/fabric command: peer node start --peer-defaultchain=false ports: - 8051:7051 - 8053:7053 volumes: - /var/run/:/host/var/run/ - ./channel/crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com/:/etc/hyperledger/msp/peer - ./tls/peers/peer2:/etc/hyperledger/tls depends_on: - orderer0 couchdb: container_name: couchdb image: hyperledger/fabric-couchdb ports: - 5984:5984 environment: DB_URL: http://localhost:5984/member_db