github.com/leonlxy/hyperledger@v1.0.0-alpha.0.20170427033203-34922035d248/examples/dchackfest/samples/e2e/docker-compose-template.yaml (about)

     1  version: '2'
     2  
     3  services:
     4  
     5    orderer.example.com:
     6      container_name: orderer.example.com
     7      image: hyperledger/fabric-orderer:${ARCH_TAG}-1.0.0-alpha
     8      environment:
     9        - ORDERER_GENERAL_LOGLEVEL=debug
    10        - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
    11        - ORDERER_GENERAL_GENESISMETHOD=file
    12        - ORDERER_GENERAL_GENESISFILE=/var/hyperledger/orderer/orderer.block
    13        - ORDERER_GENERAL_LOCALMSPID=OrdererMSP
    14        - ORDERER_GENERAL_LOCALMSPDIR=/var/hyperledger/orderer/msp
    15        # enabled TLS
    16        - ORDERER_GENERAL_TLS_ENABLED=true
    17        - ORDERER_GENERAL_TLS_PRIVATEKEY=/var/hyperledger/orderer/msp/keystore/ORDERER_PRIVATE_KEY
    18        - ORDERER_GENERAL_TLS_CERTIFICATE=/var/hyperledger/orderer/msp/signcerts/orderer.example.com-cert.pem
    19        - ORDERER_GENERAL_TLS_ROOTCAS=[/var/hyperledger/orderer/msp/cacerts/example.com-cert.pem]
    20      working_dir: /opt/gopath/src/github.com/hyperledger/fabric
    21      command: orderer
    22      volumes:
    23      - ./orderer.block:/var/hyperledger/orderer/orderer.block
    24      - ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com:/var/hyperledger/orderer/msp
    25      ports:
    26        - 7050:7050
    27  
    28  ## To enable CouchDB as state database, uncomment the following sections of this file:
    29  ## 1) couchdb containers
    30  ## 2) peer environment variables CORE_LEDGER_STATE_STATEDATABASE and
    31  ##    CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS
    32  ## 3) couch container names in "depends_on" section
    33  
    34  #  couchdb0:
    35  #    container_name: couchdb0
    36  #    image: hyperledger/fabric-couchdb
    37  ##   Uncomment the port mapping if you want to expose the CouchDB service,
    38  ##   for example to utilize Fauxton User Interface in dev environments.
    39  #    ports:
    40  #      - "5984:5984"
    41  
    42    peer0.org1.example.com:
    43      container_name: peer0.org1.example.com
    44      extends:
    45        file: peer-base/peer-base.yaml
    46        service: peer-base
    47      environment:
    48        - CORE_PEER_ID=peer0.org1.example.com
    49        - CORE_PEER_ADDRESS=peer0.org1.example.com:7051
    50        - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051
    51        - CORE_PEER_LOCALMSPID=Org0MSP
    52        - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/signcerts/peer0.org1.example.com-cert.pem
    53        - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/msp/sampleconfig/keystore/PEER0_ORG1_PRIVATE_KEY
    54        - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/cacerts/org1.example.com-cert.pem
    55        # - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
    56        # - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984
    57      volumes:
    58          - /var/run/:/host/var/run/
    59          - ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com:/etc/hyperledger/fabric/msp/sampleconfig
    60      ports:
    61        - 7051:7051
    62        - 7053:7053
    63      depends_on:
    64        - orderer.example.com
    65        # - couchdb0
    66  
    67  #  couchdb1:
    68  #    container_name: couchdb1
    69  #    image: hyperledger/fabric-couchdb
    70  ##   Uncomment the port mapping if you want to expose the CouchDB service,
    71  ##   for example to utilize Fauxton User Interface in dev environments.
    72  #    ports:
    73  #      - "6984:5984"
    74  
    75    peer1.org1.example.com:
    76      container_name: peer1.org1.example.com
    77      extends:
    78        file: peer-base/peer-base.yaml
    79        service: peer-base
    80      environment:
    81        - CORE_PEER_ID=peer1.org1.example.com
    82        - CORE_PEER_ADDRESS=peer1.org1.example.com:7051
    83        - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org1.example.com:7051
    84        - CORE_PEER_GOSSIP_BOOTSTRAP=peer0:7051
    85        - CORE_PEER_LOCALMSPID=Org0MSP
    86        - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/signcerts/peer1.org1.example.com-cert.pem
    87        - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/msp/sampleconfig/keystore/PEER1_ORG1_PRIVATE_KEY
    88        - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/cacerts/org1.example.com-cert.pem
    89        # - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
    90        # - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984
    91      volumes:
    92          - /var/run/:/host/var/run/
    93          - ./crypto-config/peerOrganizations/org1.example.com/peers/peer1.org1.example.com:/etc/hyperledger/fabric/msp/sampleconfig
    94      ports:
    95        - 8051:7051
    96        - 8053:7053
    97      depends_on:
    98        - orderer.example.com
    99        - peer0.org1.example.com
   100        # - couchdb1
   101  
   102  #  couchdb2:
   103  #    container_name: couchdb2
   104  #    image: hyperledger/fabric-couchdb
   105  ##   Uncomment the port mapping if you want to expose the CouchDB service,
   106  ##   for example to utilize Fauxton User Interface in dev environments.
   107  #    ports:
   108  #      - "7984:5984"
   109  
   110    peer0.org2.example.com:
   111      container_name: peer0.org2.example.com
   112      extends:
   113        file: peer-base/peer-base.yaml
   114        service: peer-base
   115      environment:
   116        - CORE_PEER_ID=peer0.org2.example.com
   117        - CORE_PEER_ADDRESS=peer0.org2.example.com:7051
   118        - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org2.example.com:7051
   119        - CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org2.example.com:7051
   120        - CORE_PEER_LOCALMSPID=Org1MSP
   121        - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/signcerts/peer0.org2.example.com-cert.pem
   122        - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/msp/sampleconfig/keystore/PEER0_ORG2_PRIVATE_KEY
   123        - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/cacerts/org2.example.com-cert.pem
   124        # - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
   125        # - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb2:5984
   126      volumes:
   127          - /var/run/:/host/var/run/
   128          - ./crypto-config/peerOrganizations/org2.example.com/peers/peer0.org2.example.com:/etc/hyperledger/fabric/msp/sampleconfig
   129      ports:
   130        - 9051:7051
   131        - 9053:7053
   132      depends_on:
   133        - orderer.example.com
   134        - peer0.org1.example.com
   135        - peer1.org1.example.com
   136        # - couchdb2
   137  
   138  #  couchdb3:
   139  #    container_name: couchdb3
   140  #    image: hyperledger/fabric-couchdb
   141  ##   Uncomment the port mapping if you want to expose the CouchDB service,
   142  ##   for example to utilize Fauxton User Interface in dev environments.
   143  #    ports:
   144  #      - "8984:5984"
   145  
   146    peer1.org2.example.com:
   147      container_name: peer1.org2.example.com
   148      extends:
   149        file: peer-base/peer-base.yaml
   150        service: peer-base
   151      environment:
   152        - CORE_PEER_ID=peer1.org2.example.com
   153        - CORE_PEER_ADDRESS=peer1.org2.example.com:7051
   154        - CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.org2.example.com:7051
   155        - CORE_PEER_GOSSIP_BOOTSTRAP=peer1.org2.example.com:7051
   156        - CORE_PEER_LOCALMSPID=Org1MSP
   157        - CORE_PEER_TLS_CERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/signcerts/peer1.org2.example.com-cert.pem
   158        - CORE_PEER_TLS_KEY_FILE=/etc/hyperledger/fabric/msp/sampleconfig/keystore/PEER1_ORG2_PRIVATE_KEY
   159        - CORE_PEER_TLS_ROOTCERT_FILE=/etc/hyperledger/fabric/msp/sampleconfig/cacerts/org2.example.com-cert.pem
   160        # - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
   161        # - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb3:5984
   162      volumes:
   163          - /var/run/:/host/var/run/
   164          - ./crypto-config/peerOrganizations/org2.example.com/peers/peer1.org2.example.com:/etc/hyperledger/fabric/msp/sampleconfig
   165      ports:
   166        - 10051:7051
   167        - 10053:7053
   168      depends_on:
   169        - orderer.example.com
   170        - peer0.org1.example.com
   171        - peer1.org1.example.com
   172        - peer0.org2.example.com
   173        # - couchdb3
   174  
   175    cli:
   176      container_name: cli
   177      image: hyperledger/fabric-peer:${ARCH_TAG}-1.0.0-alpha
   178      tty: true
   179      environment:
   180        - GOPATH=/opt/gopath
   181        - CORE_PEER_ADDRESSAUTODETECT=true
   182        - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
   183        - CORE_LOGGING_LEVEL=DEBUG
   184        - CORE_NEXT=true
   185        - CORE_PEER_ID=cli
   186        - CORE_PEER_ENDORSER_ENABLED=true
   187        - CORE_PEER_ADDRESS=peer0:7051
   188        - CORE_PEER_LOCALMSPID=Org0MSP
   189        - CORE_PEER_TLS_ENABLED=true
   190        - CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/signcerts/peer0.org1.example.com-cert.pem
   191        - CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/keystore/PEER0_ORG1_PRIVATE_KEY
   192        - CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/cacerts/org1.example.com-cert.pem
   193        - CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/peers/peer0.org1.example.com
   194  
   195      working_dir: /opt/gopath/src/github.com/hyperledger/fabric/peer
   196      command: /bin/bash -c './scripts/script.sh ${CHANNEL_NAME}; '
   197      volumes:
   198          - /var/run/:/host/var/run/
   199          - ./chaincodes:/opt/gopath/src/github.com/hyperledger/fabric/examples/chaincode
   200          - ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
   201          - ./scripts:/opt/gopath/src/github.com/hyperledger/fabric/peer/scripts/
   202          - ./channel.tx:/opt/gopath/src/github.com/hyperledger/fabric/peer/channel.tx
   203      depends_on:
   204        - orderer.example.com
   205        - peer0.org1.example.com
   206        - peer1.org1.example.com
   207        - peer0.org2.example.com
   208        - peer1.org2.example.com