Deploying to Subsquid Cloud
Warning
This page may and likely is out of date. Please refer to the Subsquid Cloud documentation for the most accurate information.To deploy DipDup indexer to Subsquid Cloud, you need to create two files, squid.yaml
project manifest for sqd
tool and a separate config configs/dipdup.squid-cloud.yaml
.
squid.yaml
manifestVersion: subsquid.io/v0.1
name: dipdup_indexer
version: 1
description: A blockchain indexer built with DipDup
build:
deploy:
env:
HASURA_GRAPHQL_ADMIN_SECRET: "${{ secrets.HASURA_SECRET }}"
HASURA_GRAPHQL_UNAUTHORIZED_ROLE: user
HASURA_GRAPHQL_STRINGIFY_NUMERIC_TYPES: "true"
# SENTRY_DSN: "${{ secrets.SENTRY_DSN }}"
# NODE_API_KEY: "${{ secrets.NODE_API_KEY }}"
#
# Only for free tier:
DIPDUP_LOW_MEMORY: "1"
addons:
postgres:
hasura:
processor:
cmd: ["dipdup", "-C", "squid-cloud", "run"]
init:
cmd: ["echo", "dipdup"]
configs/dipdup.squid-cloud.yaml
database:
kind: postgres
host: ${DB_HOST:-db}
port: ${DB_PORT}
user: ${DB_USER:-dipdup}
password: ${DB_PASS}
database: ${DB_NAME:-dipdup}
hasura:
url: http://${HASURA_HOST:-hasura}:8080
admin_secret: ${HASURA_GRAPHQL_ADMIN_SECRET}
allow_aggregations: ${HASURA_ALLOW_AGGREGATIONS:-true}
select_limit: ${HASURA_SELECT_LIMIT:-10000}
camel_case: ${HASURA_CAMEL_CASE:-true}
sentry:
dsn: ${SENTRY_DSN:-''}
environment: ${SENTRY_ENVIRONMENT:-''}
prometheus:
host: 0.0.0.0
port: 3000
api:
host: 0.0.0.0
Pay attention to paths and environment variables. Run the following command to create envfile with default values:
dipdup -C squid-cloud config env -o envfile.env
Proceed to Deployment workflow guide in Subsquid docs skipping the "Edit the squid.yaml file" section.
Help and tips -> Join our Discord
Ideas or suggestions -> Issue Tracker
GraphQL IDE -> Open Playground