#
# Copyright IBM Corp. All Rights Reserved.
#
# SPDX-License-Identifier: Apache-2.0
#
orderer:
  image: hyperledger/fabric-orderer
  environment:
    - ORDERER_GENERAL_LEDGERTYPE=ram
    - ORDERER_GENERAL_BATCHTIMEOUT=10s
    - ORDERER_GENERAL_MAXMESSAGECOUNT=2
    - ORDERER_GENERAL_MAXWINDOWSIZE=1000
    - ORDERER_GENERAL_ORDERERTYPE=solo
    - ORDERER_GENERAL_LISTENADDRESS=0.0.0.0
    - ORDERER_RAMLEDGER_HISTORY_SIZE=100
  working_dir: /opt/gopath/src/github.com/hyperledger/fabric/orderer
  command: orderer
  ports:
    - 7050:7050

couchdb0:
  image: klaemo/couchdb:2.0.0
  command: tini -- /docker-entrypoint.sh /opt/couchdb/bin/couchdb
  ports:
    - 5984:5984

couchdb1:
  image: klaemo/couchdb:2.0.0
  command: tini -- /docker-entrypoint.sh /opt/couchdb/bin/couchdb

vp0:
  image: hyperledger/fabric-peer
  environment:
    - CORE_PEER_ADDRESSAUTODETECT=true
    - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
    - CORE_PEER_NETWORKID=${CORE_PEER_ID}
    - CORE_NEXT=true
    - CORE_PEER_ENDORSER_ENABLED=true
    - CORE_PEER_COMMITTER_ENABLED=true
    - CORE_PEER_ID=vp0
    - CORE_PEER_COMMITTER_LEDGER_ORDERER=orderer:7050
    - CORE_PEER_GOSSIP_ORGLEADER=true
    - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
    - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb0:5984
  volumes:
    - /var/run/:/host/var/run/
  ports:
    - 7051:7051
  links:
    - orderer
    - couchdb0

vp1:
  image: hyperledger/fabric-peer
  environment:
    - CORE_PEER_ADDRESSAUTODETECT=true
    - CORE_VM_ENDPOINT=unix:///host/var/run/docker.sock
    - CORE_PEER_NETWORKID=${CORE_PEER_ID}
    - CORE_NEXT=true
    - CORE_PEER_ENDORSER_ENABLED=true
    - CORE_PEER_COMMITTER_ENABLED=true
    - CORE_PEER_ID=vp1
    - CORE_PEER_GOSSIP_BOOTSTRAP=vp0:7051
    - CORE_PEER_GOSSIP_ORGLEADER=false
    - CORE_LEDGER_STATE_STATEDATABASE=CouchDB
    - CORE_LEDGER_STATE_COUCHDBCONFIG_COUCHDBADDRESS=couchdb1:5984
  volumes:
    - /var/run/:/host/var/run/
  ports:
    - 7056:7051
  links:
    - vp0
    - couchdb1
