Skip to content

Instantly share code, notes, and snippets.

@winder
Last active April 23, 2024 06:39
Show Gist options
  • Save winder/3b0e3a6464da9a6d9d84bde6b4c35076 to your computer and use it in GitHub Desktop.
Save winder/3b0e3a6464da9a6d9d84bde6b4c35076 to your computer and use it in GitHub Desktop.
Indexer API: algod follower, conduit, postgres, indexer-api
# Log verbosity: PANIC, FATAL, ERROR, WARN, INFO, DEBUG, TRACE
log-level: INFO
# If no log file is provided logs are written to stdout.
#log-file:
# Number of retries to perform after a pipeline plugin error.
retry-count: 10
# Time duration to wait between retry attempts.
retry-delay: "1s"
# Optional filepath to use for pidfile.
#pid-filepath: /path/to/pidfile
# Whether or not to print the conduit banner on startup.
hide-banner: false
# When enabled prometheus metrics are available on '/metrics'
metrics:
mode: OFF
addr: ":9999"
prefix: "conduit"
# The importer is typically an algod follower node.
importer:
name: algod
config:
# The mode of operation, either "archival" or "follower".
# * archival mode allows you to start processing on any round but does not
# contain the ledger state delta objects required for the postgres writer.
# * follower mode allows you to use a lightweight non-archival node as the
# data source. In addition, it will provide ledger state delta objects to
# the processors and exporter.
mode: "follower"
# Algod API address.
netaddr: "http://algod:8080"
# Algod API token.
token: "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
# Algod catchpoint catchup arguments
catchup-config:
# The catchpoint to use when running fast catchup. Select an appropriate catchpoint for your deployment.
# They are published in the following locations:
# mainnet: https://algorand-catchpoints.s3.us-east-2.amazonaws.com/consolidated/mainnet_catchpoints.txt
# betanet: https://algorand-catchpoints.s3.us-east-2.amazonaws.com/consolidated/betanet_catchpoints.txt
# testnet: https://algorand-catchpoints.s3.us-east-2.amazonaws.com/consolidated/testnet_catchpoints.txt
catchpoint: ""
# Algod Admin API Token
admin-token: ""
# Zero or more processors may be defined to manipulate what data
# reaches the exporter.
processors:
# An exporter is defined to do something with the data.
exporter:
name: postgresql
config:
# Pgsql connection string
# See https://github.com/jackc/pgconn for more details
connection-string: "host=db port=5432 user=algorand password=algorand dbname=conduitdb"
# Maximum connection number for connection pool
# This means the total number of active queries that can be running
# concurrently can never be more than this
max-conn: 20
# The delete task prunes old transactions according to its configuration.
# By default transactions are not deleted.
delete-task:
# Interval used to prune the data. The values can be -1 to run at startup,
# 0 to disable, or N to run every N rounds.
interval: 0
# Rounds to keep
rounds: 100000
version: '3'
services:
algod:
image: "algorand/algod:nightly"
ports:
- 4001:8080
- 4002:7833
environment:
NETWORK: mainnet
TOKEN: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
ADMIN_TOKEN: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
PROFILE: conduit
conduit:
image: "algorand/conduit:latest"
restart: unless-stopped
volumes:
- type: bind
source: $PWD/conduit.yml
target: /etc/algorand/conduit.yml
depends_on:
- db
- algod
db:
image: "postgres:13-alpine"
environment:
POSTGRES_USER: algorand
POSTGRES_PASSWORD: algorand
POSTGRES_DB: conduitdb
indexer:
image: makerxau/algorand-indexer-dev:latest
ports:
- "8980:8980"
restart: unless-stopped
command: /tmp/algorand-indexer daemon
environment:
INDEXER_POSTGRES_CONNECTION_STRING: "host=db port=5432 user=algorand password=algorand dbname=conduitdb sslmode=disable"
INDEXER_NO_ALGOD: 1
depends_on:
- db
@winder
Copy link
Author

winder commented May 19, 2023

More concise mount syntax:

    volumes:
      - ./conduit.yml:/etc/algorand/conduit.yml

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment