Skip to content

Instantly share code, notes, and snippets.

@alvinzach
Created May 21, 2018 08:53
Show Gist options
  • Save alvinzach/a4f2e8227dcf468b1ea1e437de4a0e6b to your computer and use it in GitHub Desktop.
Save alvinzach/a4f2e8227dcf468b1ea1e437de4a0e6b to your computer and use it in GitHub Desktop.
version: '2'
networks:
basic:
services:
ca.bankchain.com:
image: hyperledger/fabric-ca
environment:
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server
- FABRIC_CA_SERVER_CA_NAME=ca.bankchain.com
- FABRIC_CA_SERVER_CA_CERTFILE=/etc/hyperledger/fabric-ca-server-config/ca.bank.bankchain.com-cert.pem
- FABRIC_CA_SERVER_CA_KEYFILE=/etc/hyperledger/fabric-ca-server-config/761650bf7abfd1890f9a4ff9d15c4ddbd394c6bf4397cfd738e3d8ede65478fc_sk
- FABRIC_CA_TLS_ENABLED=true
- FABRIC_CA_SERVER_TLS_CERTFILE=/etc/hyperledger/fabric-ca-server-config/tls/tlsca.bank.bankchain.com-cert.pem
- FABRIC_CA_SERVER_TLS_KEYFILE=/etc/hyperledger/fabric-ca-server-config/tls/4623eba205211ad1804f2979af4acdf4fba4c138f14ac458778e9c621ada0923_sk
ports:
- "7054:7054"
command: sh -c 'fabric-ca-server start --tls.enabled --tls.certfile /etc/hyperledger/fabric-ca-server-config/ca.bank.bankchain.com-cert.pem --tls.keyfile /etc/hyperledger/fabric-ca-server-config/761650bf7abfd1890f9a4ff9d15c4ddbd394c6bf4397cfd738e3d8ede65478fc_sk -b admin:adminpw -d'
volumes:
- ./crypto-config/peerOrganizations/bank.bankchain.com/ca/:/etc/hyperledger/fabric-ca-server-config
- ./crypto-config/peerOrganizations/bank.bankchain.com/tlsca/:/etc/hyperledger/fabric-ca-server-config/tls
container_name: ca.bankchain.com
networks:
- basic
orderer.bankchain.com:
container_name: orderer.bankchain.com
image: hyperledger/fabric-orderer:latest
environment:
- ORDERER_GENERAL_LOGLEVEL=debug
- ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
- ORDERER_GENERAL_GENESISMETHOD=file
- ORDERER_GENERAL_GENESISFILE=/etc/hyperledger/configtx/genesis.block
- ORDERER_GENERAL_LOCALMSPID=OrdererMSP
- ORDERER_GENERAL_LOCALMSPDIR=/etc/hyperledger/msp/orderer/msp
- 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]
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
command: orderer
ports:
- 7050:7050
volumes:
- ./config/:/etc/hyperledger/configtx
- ./crypto-config/ordererOrganizations/bankchain.com/orderers/orderer.bankchain.com/:/etc/hyperledger/msp/orderer
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer0.bank.bankchain.com/:/etc/hyperledger/msp/peerbank
- ./crypto-config/ordererOrganizations/bankchain.com/orderers/orderer.bankchain.com/tls/:/var/hyperledger/orderer/tls
networks:
- basic
peer0.bank.bankchain.com:
container_name: peer0.bank.bankchain.com
image: hyperledger/fabric-peer:latest
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_PEER_ID=peer0.bank.bankchain.com
- CORE_LOGGING_PEER=debug
- CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
- CORE_PEER_LOCALMSPID=bankMSP
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- CORE_PEER_ADDRESS=peer0.bank.bankchain.com:7051
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.bank.bankchain.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.bank.bankchain.com:7051
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
- 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_LEDGER_STATE_STATEDATABASE=CouchDB
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984
- CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=admin
- CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=adminpw
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: peer node start
#command: peer node start --peer-chaincodedev=true -o orderer:7050
ports:
- 7051:7051
- 7053:7053
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer0.bank.bankchain.com/msp:/etc/hyperledger/msp/peer
- ./crypto-config/peerOrganizations/bank.bankchain.com/users:/etc/hyperledger/msp/users
- ./config:/etc/hyperledger/configtx
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer0.bank.bankchain.com/tls:/etc/hyperledger/fabric/tls
depends_on:
- orderer.bankchain.com
- couchdb
networks:
- basic
peer1.bank.bankchain.com:
container_name: peer1.bank.bankchain.com
image: hyperledger/fabric-peer:latest
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_PEER_ID=peer1.bank.bankchain.com
- CORE_LOGGING_PEER=debug
- CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
- CORE_PEER_LOCALMSPID=bankMSP
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- CORE_PEER_ADDRESS=peer1.bank.bankchain.com:7051
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.bank.bankchain.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer1.bank.bankchain.com:7051
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
- 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_LEDGER_STATE_STATEDATABASE=CouchDB
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984
- CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=admin
- CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=adminpw
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: peer node start
#command: peer node start --peer-chaincodedev=true -o orderer:7050
ports:
- 7151:7051
- 7153:7053
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer1.bank.bankchain.com/msp:/etc/hyperledger/msp/peer
- ./crypto-config/peerOrganizations/bank.bankchain.com/users:/etc/hyperledger/msp/users
- ./config:/etc/hyperledger/configtx
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer1.bank.bankchain.com/tls:/etc/hyperledger/fabric/tls
depends_on:
- orderer.bankchain.com
- couchdb
networks:
- basic
peer2.bank.bankchain.com:
container_name: peer2.bank.bankchain.com
image: hyperledger/fabric-peer:latest
environment:
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_PEER_ID=peer2.bank.bankchain.com
- CORE_LOGGING_PEER=debug
- CORE_CHAINCODE_LOGGING_LEVEL=DEBUG
- CORE_PEER_LOCALMSPID=bankMSP
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/
- CORE_PEER_ADDRESS=peer2.bank.bankchain.com:7051
- CORE_PEER_GOSSIP_BOOTSTRAP=peer1.bank.bankchain.com:7051
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer2.bank.bankchain.com:7051
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic
- 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_LEDGER_STATE_STATEDATABASE=CouchDB
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984
- CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME=admin
- CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD=adminpw
working_dir: /opt/gopath/src/github.com/hyperledger/fabric
command: peer node start
#command: peer node start --peer-chaincodedev=true -o orderer:7050
ports:
- 7251:7051
- 7253:7053
volumes:
- /var/run/:/host/var/run/
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer0.bank.bankchain.com/msp:/etc/hyperledger/msp/peer
- ./crypto-config/peerOrganizations/bank.bankchain.com/users:/etc/hyperledger/msp/users
- ./config:/etc/hyperledger/configtx
- ./crypto-config/peerOrganizations/bank.bankchain.com/peers/peer2.bank.bankchain.com/tls:/etc/hyperledger/fabric/tls
depends_on:
- orderer.bankchain.com
- couchdb
networks:
- basic
chaincode:
container_name: chaincode
image: hyperledger/fabric-ccenv:latest
tty: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=loan-app
- CORE_PEER_ADDRESS=peer0.bank.bankchain.com:7051
- CORE_PEER_LOCALMSPID=DEFAULT
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp
working_dir: /opt/gopath/src/chaincode
command: /bin/bash -c 'sleep 6000000'
volumes:
- /var/run/:/host/var/run/
- ./msp:/etc/hyperledger/msp
- ./chaincode:/opt/gopath/src/chaincode
depends_on:
- orderer.bankchain.com
- peer0.bank.bankchain.com
networks:
- basic
couchdb:
container_name: couchdb
image: hyperledger/fabric-couchdb:latest
environment:
- COUCHDB_USER=admin
- COUCHDB_PASSWORD=adminpw
ports:
- 5984:5984
networks:
- basic
cli:
container_name: cli
image: hyperledger/fabric-tools:x86_64-1.0.0
tty: true
environment:
- GOPATH=/opt/gopath
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
- CORE_LOGGING_LEVEL=DEBUG
- CORE_PEER_ID=cli
- CORE_PEER_ADDRESS=peer0.bank.bankchain.com:7051
- CORE_PEER_LOCALMSPID=bankMSP
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/bank.bankchain.com/users/Admin@bank.bankchain.com/msp
- CORE_CHAINCODE_KEEPALIVE=10
- CORE_PEER_TLS_ENABLED=true
- CORE_PEER_TLS_CERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/bank.bankchain.com/peers/peer0.bank.bankchain/tls/server.crt
- CORE_PEER_TLS_KEY_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/bank.bankchain/peers/peer0.bank.bankchain/tls/server.key
- CORE_PEER_TLS_ROOTCERT_FILE=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/bank.bankchain/peers/peer0.bank.bankchain/tls/ca.crt
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/bank.bankchain/users/Admin@bank.bankchain/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/
- ./crypto-config:/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/
- ./config:/etc/hyperledger/configtx/
networks:
- basic
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment