1
0
mirror of https://github.com/oceanprotocol/docs.git synced 2024-06-28 16:48:03 +02:00
docs/building-with-ocean/deploying-components/deploying-ocean-subgraph.md
2022-07-25 20:58:06 +00:00

1.9 KiB

Deploying Ocean subgraph

About Ocean subgraph

Prerequisites

  • A server for hosting Ocean subgraph. See this guide on creating a server.
  • Docker and Docker compose are installed. Click here to view guide on installing docker.
  • Ethereum API. Aquarius uses Ethereum api for monitoring on-chain events.
    Choose any api provider of your choice. Some of the commonly used are:

Create a working directory

mkdir ocean-subgraph
cd ocean-subgraph

Create a `.env` file

Copy the below content into the `.env` file and edit the values as needed.

{% code title=".env" %}

ETHEREUM_NODE_PROVIDER_API='rinkeby:https://rinkeby.infura.io/v3/${INFURA_PROJECT_ID}'

{% endcode %}

Create docker-compose file

{% code title="docker-compose.yml" %}

version: '3'
services:
  graph-node:
    image: graphprotocol/graph-node:v0.26.0
    ports:
      - '9000:8000'
      - '8001:8001'
      - '8020:8020'
      - '8030:8030'
      - '8040:8040'
    depends_on:
      - ipfs
      - postgres
    environment:
      postgres_host: postgres
      postgres_user: graph-node
      postgres_pass: let-me-in
      postgres_db: graph-node
      ipfs: 'ipfs:5001'
      ethereum: ${ETHEREUM_NODE_PROVIDER_API}
      RUST_LOG: info
  ipfs:
    image: ipfs/go-ipfs:v0.4.23
    ports:
      - '5001:5001'
    volumes:
      - ./data/ipfs:/data/ipfs
  postgres:
    image: postgres
    ports:
      - '5432:5432'
    command: ['postgres', '-cshared_preload_libraries=pg_stat_statements']
    environment:
      POSTGRES_USER: graph-node
      POSTGRES_PASSWORD: let-me-in
      POSTGRES_DB: graph-node
    volumes:
      - ./data/postgres:/var/lib/postgresql/data

{% endcode %}

Start Ocean subgraph

docker-compose \
-f docker-compose.yml
--env-file .env \
-d \
up