lana-shanghai 4a008e51e3
[WIP] Documentation re-org (#2694)
* Reorganized docs

* Fixed internal links in basic usage

* fixed the docker-compose command and volume for docs

* fixed docs tests

* fix travis docs test

* tox ini file

* fixed readme localhost links

* edited tox and test docs to previous state

* Fix tests errors related to docs reorganization

Signed-off-by: David Dashyan <mail@davie.li>

* Added ansible script installation option

Signed-off-by: Lana Ivina <lana@ipdb.io>

* Added ansible script to network setup guide

Signed-off-by: Lana Ivina <lana@ipdb.io>

* Hid the non-working button for now. 

Signed-off: Lana Ivina <lana@ipdb.io>

* Try now button

Co-authored-by: David Dashyan <mail@davie.li>
2020-05-18 20:22:26 +07:00

2.9 KiB

Notes on Running a Local Dev Node with Docker Compose

Setting up a single node development environment with docker-compose

Using the BigchainDB 2.0 developer toolbox

We grouped all useful commands under a simple Makefile.

Run a BigchainDB node in the foreground:

$ make run

There are also other commands you can execute:

  • make start: Run BigchainDB from source and daemonize it (stop it with make stop).
  • make stop: Stop BigchainDB.
  • make logs: Attach to the logs.
  • make test: Run all unit and acceptance tests.
  • make test-unit-watch: Run all tests and wait. Every time you change code, tests will be run again.
  • make cov: Check code coverage and open the result in the browser.
  • make doc: Generate HTML documentation and open it in the browser.
  • make clean: Remove all build, test, coverage and Python artifacts.
  • make reset: Stop and REMOVE all containers. WARNING: you will LOSE all data stored in BigchainDB.

Using docker-compose directly

The BigchainDB Makefile is a wrapper around some docker-compose commands we use frequently. If you need a finer granularity to manage the containers, you can still use docker-compose directly. This part of the documentation explains how to do that.

$ docker-compose build bigchaindb
$ docker-compose up -d bdb

The above command will launch all 3 main required services/processes:

  • mongodb
  • tendermint
  • bigchaindb

To follow the logs of the tendermint service:

$ docker-compose logs -f tendermint

To follow the logs of the bigchaindb service:

$ docker-compose logs -f bigchaindb

To follow the logs of the mongodb service:

$ docker-compose logs -f mdb

Simple health check:

$ docker-compose up curl-client

Post and retrieve a transaction -- copy/paste a driver basic example of a CREATE transaction:

$ docker-compose -f docker-compose.yml run --rm bdb-driver ipython

TODO: A python script to post and retrieve a transaction(s).

Running Tests

Run all the tests using:

$ docker-compose run --rm --no-deps bigchaindb pytest -v

Run tests from a file:

$ docker-compose run --rm --no-deps bigchaindb pytest /path/to/file -v

Run specific tests:

$ docker-compose run --rm --no-deps bigchaindb pytest /path/to/file -k "<test_name>" -v

Building Docs

You can also develop and build the BigchainDB docs using docker-compose:

$ docker-compose build bdocs
$ docker-compose up -d bdocs

The docs will be hosted on port 33333, and can be accessed over localhost, 127.0.0.1 OR http:/HOST_IP:33333.