diff --git a/README.md b/README.md index d48182d..ad48fe5 100644 --- a/README.md +++ b/README.md @@ -14,7 +14,7 @@ - [Prerequisites](#prerequisites) - [Get Started](#get-started) - - [Script Options](#script-options) + - [Script Options](#script-options) - [Docker Building Blocks](#docker-building-blocks) - [Pleuston](#pleuston) - [Aquarius](#aquarius) @@ -33,13 +33,20 @@ You need to have the newest versions of: * [Docker](https://www.docker.com/get-started) * [Docker Compose](https://docs.docker.com/compose/) -* Linux/MacOS. Currently Windows OS is not supported. - -**To run as a publisher:** `Brizo` configuration must be set with valid Azure account credentials. This is done in the file [`brizo.env`](./brizo.env). Follow our tutorial [Set up Azure Storage](https://docs.oceanprotocol.com/tutorials/azure-for-brizo/) to learn how to get those credentials. +* Linux or macOS. Currently Windows is not supported. +* If you want to use Azure Storage with Brizo (and you might not), then you must edit the file [`brizo.env`](./brizo.env) to have your Azure credentials. To learn how to get those credentials, see our tutorial to [Set up Azure Storage](https://docs.oceanprotocol.com/tutorials/azure-for-brizo/). ## Get Started -Bring up an instance of the whole Ocean Protocol network stack (including a local Spree network) with the `./start_ocean.sh` script: +It's overkill, but to be _sure_ that you use exactly the Docker images and volumes you want, you can start by pruning all the Docker things in your system: + +```bash +docker system prune --all --volumes +``` + +(An alternative would be to add the options `--purge` and `--force-pull` in your call to the `start_ocean.sh` script below but that's not as sure as the above command.) + +If you're new to Barge, it's best to do something like: ```bash git clone git@github.com:oceanprotocol/barge.git @@ -48,30 +55,37 @@ cd barge ./start_ocean.sh ``` -screen shot 2018-10-10 at 12 20 48 +with no `--latest` or `--stable` option. +That will run the current default versions of Aquarius, Brizo, Pleuston and Keeper Contracts (listed in the table below). +It will also run a local Spree network (i.e. `--local-spree-node`). ---- +Welcome to Ocean Protocol -This will bring up the `stable` versions of all components, referring to their respective `master` branches. +## Script Options -To get the `latest` versions of all components, referring to their `develop` branches, pass the argument `--latest`: +Options that set the versions (Docker image tags) of Aquarius, Brizo, Keeper Contracts and Pleuston: + +Option | Aquarius | Brizo | Keeper | Pleuston | Notes +------------|-----------|----------|----------|----------|------- +`--latest` | `latest` | `latest` | `latest` | `latest` | +`--stable` | `stable` | `stable` | `stable` | `stable` | +(Default) | `v0.2.0` | `v0.3.1` | `v0.9.0` | `v0.3.0` | Works with squid-py v0.5.11, squid-js v0.5.0 & squid-java v0.4.0 + +Note: The `latest` Docker image tag derives from the `develop` branch of the component's Git repo and the `stable` Docker image tag derives from the `master` branch. + +You can override the Docker image tag used for a particular component by setting its associated environment variable (`AQUARIUS_VERSION`, `BRIZO_VERSION`, `KEEPER_VERSION` or `PLEUSTON_VERSION`) before calling `start_ocean.sh`. For example: ```bash -./start_ocean.sh --latest +export BRIZO_VERSION=v0.2.1 +./start_ocean.sh ``` -After getting everything running, you can open the **Pleuston Frontend** application in your browser: +will use the default Docker image tags for Aquarius, Keeper Contracts and Pleuston, but `v0.2.1` for Brizo. -[http://localhost:3000](http://localhost:3000) - -### Script Options - -The `./start_ocean.sh` script provides the following options: +Other `start_ocean.sh` options: Option | Description ----------------------------| ----------- -`--latest` | `latest` means to use the latest `develop` branches whereas `stable` means to use the last `stable` releases. -`--force-pull` | Force pulling the latest revision of the used docker images. `--no-pleuston` | Start up Ocean without the `pleuston` Building Block. Helpful for development on `pleuston`. `--no-aquarius` | Start up Ocean without the `aquarius` Building Block. `--no-brizo` | Start up Ocean without the `brizo` Building Block. @@ -83,15 +97,20 @@ Option | Description `--local-kovan-node` | Runs a light node of the `kovan` network and connects the node to the `kovan` network. `--reuse-ganache-database` | Configures a running `ganache` node to use a persistent database. `--acl-contract` | Configures secret-store `acl_contract` option to enable secret-store authorization. -`--purge` | Removes the containers, volumes, artifact folder and networks used by the script. +`--force-pull` | Force pulling the latest revision of the used Docker images. +`--purge` | Removes the Docker containers, volumes, artifact folder and networks used by the script. ## Docker Building Blocks -Ocean compose consists of a set of building blocks that can be combined to form a local test environment. By default all building blocks will be started with the `./start_ocean.sh` script. +Barge consists of a set of building blocks that can be combined to form a local test environment. By default all building blocks will be started by the `start_ocean.sh` script. ### Pleuston -By default it will start one container. This Building Block can be disabled by setting the `--no-pleuston` flag. +By default it will start one container. If Pleuston is running, you can open the **Pleuston Frontend** application in your browser: + +[http://localhost:3000](http://localhost:3000) + +This Building Block can be disabled by setting the `--no-pleuston` flag. Hostname | External Port | Internal Url | Local Url | Description -----------|---------------|-----------------------|-----------------------|-------------- @@ -99,7 +118,7 @@ Hostname | External Port | Internal Url | Local Url | Des ### Aquarius -By default it will start two containers (one for aquarius and one for its database engine). By default Barge will use MongoDB as DB Engine. You can use option `--elasticsearch` to use ElasticSearch intead. +By default it will start two containers (one for aquarius and one for its database engine). By default Barge will use MongoDB as DB Engine. You can use option `--elasticsearch` to use ElasticSearch instead. This Building Block can be disabled by setting the `--no-aquarius` flag. Hostname | External Port | Internal Url | Local Url | Description diff --git a/Welcome_to_Ocean_Protocol.png b/Welcome_to_Ocean_Protocol.png new file mode 100644 index 0000000..ad63233 Binary files /dev/null and b/Welcome_to_Ocean_Protocol.png differ diff --git a/compose-files/aquarius.yml b/compose-files/aquarius.yml index be123e1..9491abb 100644 --- a/compose-files/aquarius.yml +++ b/compose-files/aquarius.yml @@ -1,7 +1,7 @@ version: '3' services: aquarius: - image: oceanprotocol/aquarius:${AQUARIUS_VERSION:-stable} + image: oceanprotocol/aquarius:$AQUARIUS_VERSION ports: - 5000:5000 networks: diff --git a/compose-files/brizo.yml b/compose-files/brizo.yml index 02b65b5..814de95 100644 --- a/compose-files/brizo.yml +++ b/compose-files/brizo.yml @@ -1,7 +1,7 @@ version: '3' services: brizo: - image: oceanprotocol/brizo:${BRIZO_VERSION:-stable} + image: oceanprotocol/brizo:$BRIZO_VERSION ports: - 8030:8030 networks: diff --git a/compose-files/keeper_contracts.yml b/compose-files/keeper_contracts.yml index 3781cd8..721b3bd 100644 --- a/compose-files/keeper_contracts.yml +++ b/compose-files/keeper_contracts.yml @@ -1,7 +1,7 @@ version: '3' services: keeper-contracts: - image: oceanprotocol/keeper-contracts:${KEEPER_VERSION:-stable} + image: oceanprotocol/keeper-contracts:$KEEPER_VERSION networks: backend: ipv4_address: 172.15.0.14 diff --git a/compose-files/pleuston.yml b/compose-files/pleuston.yml index 8b2f1fa..ef2c188 100644 --- a/compose-files/pleuston.yml +++ b/compose-files/pleuston.yml @@ -1,7 +1,7 @@ version: '3' services: pleuston: - image: oceanprotocol/pleuston:${PLEUSTON_VERSION:-stable} + image: oceanprotocol/pleuston:$PLEUSTON_VERSION networks: backend: ipv4_address: 172.15.0.19 diff --git a/start_ocean.sh b/start_ocean.sh index ec5b1c9..336f321 100755 --- a/start_ocean.sh +++ b/start_ocean.sh @@ -12,6 +12,12 @@ export BRIZO_ENV_FILE="${DIR}/brizo.env" DIR="${DIR/ /\\ }" COMPOSE_DIR="${DIR}/compose-files" +# Default versions of Aquarius, Brizo, Keeper Contracts and Pleuston +export AQUARIUS_VERSION=${AQUARIUS_VERSION:-v0.2.0} +export BRIZO_VERSION=${BRIZO_VERSION:-v0.3.1} +export KEEPER_VERSION=${KEEPER_VERSION:-v0.9.0} +export PLEUSTON_VERSION=${PLEUSTON_VERSION:-v0.3.0} + export PROJECT_NAME="ocean" export FORCEPULL="false" @@ -136,9 +142,16 @@ while :; do export PLEUSTON_VERSION=${PLEUSTON_VERSION:-latest} printf $COLOR_Y'Switched to latest components...\n\n'$COLOR_RESET ;; + --stable) + export AQUARIUS_VERSION=${AQUARIUS_VERSION:-stable} + export BRIZO_VERSION=${BRIZO_VERSION:-stable} + export KEEPER_VERSION=${KEEPER_VERSION:-stable} + export PLEUSTON_VERSION=${PLEUSTON_VERSION:-stable} + printf $COLOR_Y'Switched to stable components...\n\n'$COLOR_RESET + ;; --force-pull) export FORCEPULL="true" - printf $COLOR_Y'Pulling latest components...\n\n'$COLOR_RESET + printf $COLOR_Y'Pulling the latest revision of the used Docker images...\n\n'$COLOR_RESET ;; ################################################# # Exclude switches