Environment Variables¶
AppConfig¶
AppConfig General settings for all applications.
APP_ENV(default:production) - The environment in which the application is running (e.g., production, staging, development).HEALTH_PORT(default:0) - Port for the health check endpoint.LOG_LEVEL(default:info) - Logging level. Possible values: trace, debug, info, warn, error, fatal, panic, disabled.LOG_PRETTY(default:true) - Whether logs should be pretty-printed.PROMETHEUS_PORT(default:0) - Port for Prometheus metrics endpoint.SENTRY_DSN- Sentry DSN for error monitoring.OPEN_TELEMETRY_DSN(default:localhost:8126) -OPEN_TELEMETRY_DEBUG(default:false) -
Shared¶
Shared Configuration that is used in different services.
NETWORK- Optionally, set network for all workersNODE_RPC_URL(required, non-empty) - RPC endpoint URL for the node. Example: > NODE_RPC_URL=https://bsc-dataseed1.binance.org/NODE_WS_URL(required, non-empty) - WebSocket endpoint URL for the node. Example: > NODE_WS_URL=wss://bsc-rpc.publicnode.comPOSTGRES_URL(required, non-empty) - Connection URL for PostgreSQL. Example: > POSTGRES_URL=postgres://postgres:password@localhost:5432/blockberry_dev?sslmode=disablePOSTGRES_LOG_LEVEL(default:none) - Logging level for PostgreSQL driver. Possible values: trace, debug, info, warn, error, none.REDIS_URL(required, non-empty) - Connection URL for Redis. Example: > REDIS_URL=redis://localhost:6379REDIS_STREAMS_URL(required, non-empty) - Connection URL for Redis Streams. Example: > REDIS_STREAMS_URL=redis://localhost:6379S3_ACCESS_KEY_ID(required, non-empty) - AWS S3 access key ID. Example: > S3_ACCESS_KEY_ID=adminS3_BUCKET_NAME(required, non-empty) - Name of the S3 bucket. Example: > S3_BUCKET_NAME=blockberryS3_ENDPOINT(required, non-empty) - S3 endpoint URL. Example: > S3_ENDPOINT=localhost:9000S3_SSL(required, non-empty) - Whether to use SSL for the S3 connection. Example: > S3_SSL=falseS3_SECRET_ACCESS_KEY(required, non-empty) - AWS S3 secret access key. Example: > S3_SECRET_ACCESS_KEY=password
FetcherConfig¶
FetcherConfig Configuration for Fetcher worker.
FETCHER_CONFIRM_DEPTH(required, non-empty) - ConfirmDepth represents the number of blocks that must pass before a block is considered confirmed by the fetcher. Example: > FETCHER_CONFIRM_DEPTH=50FETCHER_INDEXER_STREAM(required, non-empty) - Stream name for the indexer. Example: > FETCHER_INDEXER_STREAM=confirmed_datasetFETCHER_MAX_GOROUTINES(required, non-empty) - Maximum number of goroutines for parallel tasks. Example: > FETCHER_MAX_GOROUTINES=20FETCHER_NETWORK(required, expand, non-empty, default:${NETWORK}) - Network identifier for the fetcher. Example: > FETCHER_NETWORK=binance
IndexerConfig¶
IndexerConfig Configuration for Indexer worker.
INDEXER_NETWORK(required, expand, non-empty, default:${NETWORK}) - Network identifier for the indexer. Example: > INDEXER_NETWORK=binanceINDEXER_PULL_STREAM(required, non-empty) - Stream name for pulling data in the indexer. Example: > INDEXER_PULL_STREAM=confirmed_dataset
IndexerSyncConfig¶
IndexerSyncConfig Configuration for IndexerSync worker.
INDEXER_SYNC_NETWORK(required, expand, non-empty, default:${NETWORK}) - Network identifier for the indexer synchronization. Example: > INDEXER_SYNC_NETWORK=binanceINDEXER_SYNC_MAX_GOROUTINES(required, non-empty) - Maximum number of goroutines for synchronization tasks. Example: > INDEXER_SYNC_MAX_GOROUTINES=50
WebserverConfig¶
WebserverConfig Configuration for Webserver.
WEBSERVER_GRPC_PORT(required, non-empty) - Port for the gRPC server. Example: > WEBSERVER_GRPC_PORT=8002WEBSERVER_HTTP_PORT(required, non-empty) - Port for the HTTP server. Example: > WEBSERVER_HTTP_PORT=8001WEBSERVER_NODE_RPC_URLS(required, non-empty) - RPC URLs for each network used by the webserver. Example: > WEBSERVER_NODE_RPC_URLS="ethereum::https://ethereum-rpc.publicnode.com,binance::https://bsc-rpc.publicnode.com"