diff --git a/README.md b/README.md index d87e4fd..4c556e6 100644 --- a/README.md +++ b/README.md @@ -9,7 +9,7 @@ - [Prerequisites](#prerequisites) - [Get Started](#get-started) - [Options](#options) - - [Component Versions](#component-versions) + - [Component Versions](#component-versions-and-exposed-ports) - [All Options](#all-options) - [Docker Building Blocks](#docker-building-blocks) - [Aquarius](#aquarius) @@ -55,13 +55,22 @@ This will run the current default versions of [Aquarius](https://github.com/ocea The startup script comes with a set of options for customizing various things. -### Component Versions +### Component Versions and exposed ports The default versions are always a combination of component versions which are considered stable. -| Aquarius | Provider | Ganache | ocean-contracts | -| -------- | -------- | -------- | --------------- | -| `v2.2.7` | `v0.4.9` | `latest` | `V0.5.9` +| Component name | Required by | Version | IP Address | Ports exposed | +| -------------- | ------------------ | --------------------------------- | --------------- | ------------- | +| ganache | ocean-contracts | latest | 172.15.0.3 | 8545 -> 8545 | +| ocean-contracts | | v0.5.9 | 172.15.0.14 | | +| Aquarius | | v2.2.8 | 172.15.0.5 | 5000 -> 5000 | +| Elasticsearch | Aquarius | 6.8.3 | 172.15.0.6 | | +| Provider | | v0.4.9 | 172.15.0.4 | 8030 -> 8030 | +| Provider2 | | v0.4.9 | 172.15.0.7 | 8030 -> 8030 | +| GraphNode | | oceanprotocol/graph-node:latest | 172.15.0.15 | 9000 -> 8000 ,9001 -> 8001 , 9020 -> 8020, 9030 -> 8030, 9040 -> 8040 | +| Graphipfs | | ipfs/go-ipfs:v0.4.23 | 172.15.0.16 | 5001 -> 5001 | +| Graphpgsql | | postgres | 172.15.0.7 | 5432 -> 5432 | + You can override the Docker image tag used for a particular component by setting its associated environment variable before calling `start_ocean.sh`: @@ -81,10 +90,12 @@ export AQUARIUS_VERSION=v2.0.0 | Option | Description | | -------------------------- | ----------------------------------------------------------------------------------------------- | | `--no-aquarius` | Start up Ocean without the `aquarius` Building Block. | +| `--no-elasticseach` | Start up Ocean without the `elasticsearch` Building Block. | | `--no-provider` | Start up Ocean without the `provider` Building Block. | | `--with-provider2` | Runs a 2nd provider, on port 8031. This is required for ocean.js/ocean.py integration tests. 2nd Provider will use the same image and parameters (log_level, ipfs gateway, compute gateway, etc) as provider1, but has a different private key | | `--no-ganache` | Start up Ocean without the `ganache` Building Block. | | `--no-dashboard` | Start up Ocean without the `dashboard` Building Block. | +| `--with-thegraph` | Start up Ocean with graphnode, ipfs & postgresql | | `--skip-deploy` | Start up Ocean without deploying the contracts. Useful when ethereum node already has contracts.| | `--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. | diff --git a/compose-files/aquarius.yml b/compose-files/aquarius.yml index 36089b1..b3756cf 100644 --- a/compose-files/aquarius.yml +++ b/compose-files/aquarius.yml @@ -1,17 +1,7 @@ version: '3' services: - elasticsearch: - image: elasticsearch:6.8.3 - networks: - backend: - ipv4_address: 172.15.0.6 - environment: - ES_JAVA_OPTS: "-Xms512m -Xmx512m" - MAX_MAP_COUNT: "64000" - discovery.type: "single-node" - aquarius: - image: oceanprotocol/aquarius:${AQUARIUS_VERSION:-latest} + image: myaquarius ports: - 5000:5000 networks: diff --git a/compose-files/elasticsearch.yml b/compose-files/elasticsearch.yml new file mode 100644 index 0000000..db3d385 --- /dev/null +++ b/compose-files/elasticsearch.yml @@ -0,0 +1,11 @@ +version: '3' +services: + elasticsearch: + image: elasticsearch:6.8.3 + networks: + backend: + ipv4_address: 172.15.0.6 + environment: + ES_JAVA_OPTS: "-Xms512m -Xmx512m" + MAX_MAP_COUNT: "64000" + discovery.type: "single-node" \ No newline at end of file diff --git a/compose-files/thegraph.yml b/compose-files/thegraph.yml new file mode 100644 index 0000000..dde1735 --- /dev/null +++ b/compose-files/thegraph.yml @@ -0,0 +1,52 @@ +version: '3' +services: + graph-node: + image: oceanprotocol/graph-node:latest + ports: + - '9000:8000' + - '9001:8001' + - '9020:8020' + - '9030:8030' + - '9040:8040' + networks: + backend: + ipv4_address: 172.15.0.15 + depends_on: + - ipfs + - postgres + - ocean-contracts + environment: + postgres_host: 172.15.0.17 + postgres_user: graph-node + postgres_pass: let-me-in + postgres_db: graph-node + ipfs: '172.15.0.16:5001' + ethereum: 'barge:${NETWORK_RPC_URL}' + RUST_LOG: info + ipfs: + image: ipfs/go-ipfs:v0.4.23 + ports: + - '5001:5001' + networks: + backend: + ipv4_address: 172.15.0.16 + volumes: + - graphipfs:/data/ipfs + postgres: + image: postgres + ports: + - '5432:5432' + networks: + backend: + ipv4_address: 172.15.0.17 + command: ['postgres', '-cshared_preload_libraries=pg_stat_statements'] + environment: + POSTGRES_USER: graph-node + POSTGRES_PASSWORD: let-me-in + POSTGRES_DB: graph-node + volumes: + - graphpgsql:/var/lib/postgresql/data +volumes: + graphipfs: + graphpgsql: + diff --git a/start_ocean.sh b/start_ocean.sh index 393fa0f..df3ecf0 100755 --- a/start_ocean.sh +++ b/start_ocean.sh @@ -28,7 +28,7 @@ COMPOSE_DIR="${DIR}/compose-files" # Default versions of Aquarius, Provider -export AQUARIUS_VERSION=${AQUARIUS_VERSION:-v2.2.7} +export AQUARIUS_VERSION=${AQUARIUS_VERSION:-v2.2.8} export PROVIDER_VERSION=${PROVIDER_VERSION:-v0.4.9} export CONTRACTS_VERSION=${CONTRACTS_VERSION:-v0.5.9} export PROJECT_NAME="ocean" @@ -159,6 +159,7 @@ COMPOSE_FILES="" COMPOSE_FILES+=" -f ${COMPOSE_DIR}/network_volumes.yml" COMPOSE_FILES+=" -f ${COMPOSE_DIR}/dashboard.yml" COMPOSE_FILES+=" -f ${COMPOSE_DIR}/aquarius.yml" +COMPOSE_FILES+=" -f ${COMPOSE_DIR}/elasticsearch.yml" COMPOSE_FILES+=" -f ${COMPOSE_DIR}/provider.yml" COMPOSE_FILES+=" -f ${COMPOSE_DIR}/ganache.yml" COMPOSE_FILES+=" -f ${COMPOSE_DIR}/ocean_contracts.yml" @@ -191,6 +192,10 @@ while :; do COMPOSE_FILES+=" -f ${COMPOSE_DIR}/provider2.yml" printf $COLOR_Y'Starting with a 2nd Provider...\n\n'$COLOR_RESET ;; + --with-thegraph) + COMPOSE_FILES+=" -f ${COMPOSE_DIR}/thegraph.yml" + printf $COLOR_Y'Starting with TheGraph...\n\n'$COLOR_RESET + ;; --no-ganache) COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/ganache.yml/}" COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/ocean_contracts.yml/}" @@ -200,6 +205,11 @@ while :; do COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/aquarius.yml/}" printf $COLOR_Y'Starting without Aquarius...\n\n'$COLOR_RESET ;; + --no-elasticsearch) + COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/elasticsearch.yml/}" + printf $COLOR_Y'Starting without Elastic search...\n\n'$COLOR_RESET + ;; + --no-dashboard) COMPOSE_FILES="${COMPOSE_FILES/ -f ${COMPOSE_DIR}\/dashboard.yml/}" printf $COLOR_Y'Starting without Dashboard ...\n\n'$COLOR_RESET