mirror of
https://github.com/bigchaindb/bigchaindb.git
synced 2024-10-13 13:34:05 +00:00

Solution Since BigchainDB and Tendermint are so tightly coupled we need to introduce a process supervisor to make them act like a single microservice, so that if BigchainDB crashes, Tendermint does as well and both are restarted and Tendermint requests a connection towards the proxy app. In Kubernetes, they can be exposed as part of a one POD. For BigchainDB as a system service/process, we need to introduce a process supervisor such as systemd. This PR only solves the former. Changes Upgrade deployment from Tendermint v0.12.0 to v0.19.0 Update some documentation Fix nginx-http entrypoint issues. Update generate-configs.sh script to handle config generation without https-certificates. Update Dockerfile to process dependency links introduced by abci Integrate BigchainDB and Tendermint as a single microservice. This required making BigchainDB to be exposed as a statefulset. Introduce new liveness probe checks. Issues Resolved Partially fixes #2232
Custom MongoDB container for BigchainDB Backend
Step 1: Build and Push the Latest Container
Use the docker_build_and_push.bash
script to build the latest docker image
and upload it to Docker Hub.
Ensure that the image tag is updated to a new version number to properly
reflect any changes made to the container.
Step 2: Run the Container
docker run \
--cap-add=FOWNER \
--name=mdb1 \
--publish=<mongo port number for external connections>:<corresponding host port> \
--rm=true \
--volume=<host dir for mongodb data files>:/data/db \
--volume=<host dir for mongodb config data files>:/data/configdb \
--volume=<host dir with the required TLS certificates>:/mongo-ssl:ro \
bigchaindb/mongodb:<version of container> \
--mongodb-port <mongod port number for external connections> \
--mongodb-key-file-path /mongo-ssl/<private key file name>.pem \
--mongodb-ca-file-path /mongo-ssl/<ca certificate file name>.crt \
--mongodb-crl-file-path /mongo-ssl/<crl certificate file name>.pem \
--mongodb-fqdn <fully qualified domain name of this instance> \
--mongodb-ip <ip address of the mongodb container>