orionbcdb/orion-server

By orionbcdb

Updated almost 2 years ago

Hyperledger Labs Orion Blockchain Database

Image
0

100K+

Quick reference

Supported tags and respective Dockerfile links

What is Hyperledger Orion?

  • Orion is a key-value/document database with certain blockchain properties.

How to use this image

Start an Orion instance

docker run -it --rm -v crypto-materials-location:/etc/orion-server/crypto -p 6001:6001 -p 7050:7050 orionbcdb/orion-server

Port 6001 is Orion REST API port and should be used to access Orion using its REST API or Go SDK

Port 7050 is cluster communication port, leave it as is for now.

crypto-materials-location is there all certificates and private keys needed to run Orion server are stored. If you only plan to try Orion, you can use the pre-existing configuration and crypto materials stored in folder deployment/crypto.

Caveats

Where to store data

The ledger & database data and the server configuration are stored inside the docker container, but it can be overwritten by mapping host folders to container volumes.

The image has three mappable volumes:

  • /etc/orion-server/config - contains server configuration yml files. Mapping is optional, needed only if you want to use your own configuration. Sample configuration files are stored in deployment/config-docker folder.
  • /var/orion-server/ledger - blockchain ledger storage folder. Mapping is optional, but without mapping termination of the docker container will erase all ledger data.
  • /etc/orion-server/crypto - crypto materials folder. Should be mapped to host folder. Pre-existing crypto materials are stored in deployment/crypto folder in Orion github. Never use pre-existing crypto materials in production environment.

To invoke the orion server docker container with all mappings, you can run:

docker run -it --rm -v crypto-materials-location:/etc/orion-server/crypto \
                    -v ledger-data-location:/var/orion-server/ledger \
                    -v orion-config-location:/etc/orion-server/config \
                    -p 6001:6001 -p 7050:7050 orionbcdb/orion-server

for example, running it for orion-server folder from github, using configuration and crypro materials stored in deployment folder, will look like this:

docker run -it --rm -v $(pwd)/deployment/crypto/:/etc/orion-server/crypto \
                    -v $(pwd)/ledger:/var/orion-server/ledger \
                    -v $(pwd)/deployment/config-docker:/etc/orion-server/config \
                    -p 6001:6001 -p 7050:7050 orionbcdb/orion-server

Docker Pull Command

docker pull orionbcdb/orion-server