Last active
November 2, 2018 20:08
-
-
Save hi5san/9b853953300ff937ed9da395205f29f9 to your computer and use it in GitHub Desktop.
Docker compose for Hyperledger Fabric fabler sample w/gossip endpoint enabled for Service discovery (diff to original sample is L60~62 added GOSSIP ends). See https://stackoverflow.com/questions/51377474/hyperledger-fabric-gossip-bootstrap-gossip-externalendpoints for explanation of those env vars. Original source:https://github.com/hyperledger/…
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# Copyright IBM Corp All Rights Reserved | |
# | |
# SPDX-License-Identifier: Apache-2.0 | |
# | |
version: '2' | |
networks: | |
basic: | |
services: | |
ca.example.com: | |
image: hyperledger/fabric-ca | |
environment: | |
- FABRIC_CA_HOME=/etc/hyperledger/fabric-ca-server | |
- FABRIC_CA_SERVER_CA_NAME=ca.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/4239aa0dcd76daeeb8ba0cda701851d14504d31aad1b2ddddbac6a57365e497c_sk | |
ports: | |
- "7054:7054" | |
command: sh -c 'fabric-ca-server start -b admin:adminpw' | |
volumes: | |
- ./crypto-config/peerOrganizations/org1.example.com/ca/:/etc/hyperledger/fabric-ca-server-config | |
container_name: ca.example.com | |
networks: | |
- basic | |
orderer.example.com: | |
container_name: orderer.example.com | |
image: hyperledger/fabric-orderer | |
environment: | |
- ORDERER_GENERAL_LOGLEVEL=info | |
- 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 | |
working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer | |
command: orderer | |
ports: | |
- 7050:7050 | |
volumes: | |
- ./config/:/etc/hyperledger/configtx | |
- ./crypto-config/ordererOrganizations/example.com/orderers/orderer.example.com/:/etc/hyperledger/msp/orderer | |
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/:/etc/hyperledger/msp/peerOrg1 | |
networks: | |
- basic | |
peer0.org1.example.com: | |
container_name: peer0.org1.example.com | |
image: hyperledger/fabric-peer | |
environment: | |
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock | |
- CORE_PEER_ID=peer0.org1.example.com | |
- CORE_LOGGING_PEER=info | |
- CORE_CHAINCODE_LOGGING_LEVEL=info | |
- CORE_PEER_LOCALMSPID=Org1MSP | |
- CORE_PEER_MSPCONFIGPATH=/etc/hyperledger/msp/peer/ | |
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 | |
# For using v1.2 Service Discovery from app | |
- CORE_PEER_GOSSIP_BOOTSTRAP=peer0.org1.example.com:7051 | |
- CORE_PEER_GOSSIP_EXTERNALENDPOINT=peer0.org1.example.com:7051 | |
# # the following setting starts chaincode containers on the same | |
# # bridge network as the peers | |
# # https://docs.docker.com/compose/networking/ | |
- CORE_VM_DOCKER_HOSTCONFIG_NETWORKMODE=${COMPOSE_PROJECT_NAME}_basic | |
- CORE_LEDGER_STATE_STATEDATABASE=CouchDB | |
- CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb:5984 | |
# The CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME and CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD | |
# provide the credentials for ledger to connect to CouchDB. The username and password must | |
# match the username and password set for the associated CouchDB. | |
- CORE_LEDGER_STATE_COUCHDBCONFIG_USERNAME= | |
- CORE_LEDGER_STATE_COUCHDBCONFIG_PASSWORD= | |
working_dir: /opt/gopath/src/github.com/hyperledger/fabric | |
command: peer node start | |
# command: peer node start --peer-chaincodedev=true | |
ports: | |
- 7051:7051 | |
- 7053:7053 | |
volumes: | |
- /var/run/:/host/var/run/ | |
- ./crypto-config/peerOrganizations/org1.example.com/peers/peer0.org1.example.com/msp:/etc/hyperledger/msp/peer | |
- ./crypto-config/peerOrganizations/org1.example.com/users:/etc/hyperledger/msp/users | |
- ./config:/etc/hyperledger/configtx | |
depends_on: | |
- orderer.example.com | |
- couchdb | |
networks: | |
- basic | |
couchdb: | |
container_name: couchdb | |
image: hyperledger/fabric-couchdb | |
# Populate the COUCHDB_USER and COUCHDB_PASSWORD to set an admin user and password | |
# for CouchDB. This will prevent CouchDB from operating in an "Admin Party" mode. | |
environment: | |
- COUCHDB_USER= | |
- COUCHDB_PASSWORD= | |
ports: | |
- 5984:5984 | |
networks: | |
- basic | |
cli: | |
container_name: cli | |
image: hyperledger/fabric-tools | |
tty: true | |
environment: | |
- GOPATH=/opt/gopath | |
- CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock | |
- CORE_LOGGING_LEVEL=info | |
- CORE_PEER_ID=cli | |
- CORE_PEER_ADDRESS=peer0.org1.example.com:7051 | |
- CORE_PEER_LOCALMSPID=Org1MSP | |
- CORE_PEER_MSPCONFIGPATH=/opt/gopath/src/github.com/hyperledger/fabric/peer/crypto/peerOrganizations/org1.example.com/users/Admin@org1.example.com/msp | |
- CORE_CHAINCODE_KEEPALIVE=10 | |
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/ | |
networks: | |
- basic | |
#depends_on: | |
# - orderer.example.com | |
# - peer0.org1.example.com | |
# - couchdb |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment