Configuration
A list of configuration options for deploying an RSS3 Node.
Options
The following is a list of configuration options for deploying an RSS3 Node.
You may use the configuration file config.yaml
, or via environment variables (with a NODE_
prefix) to define them.
environment
- Name:
NODE_ENVIRONMENT
- Default:
development
- Description: Environment of the Node, possible values are
development
andproduction
. This enables the level of logging for debugging.
discovery
This section includes configuration options for the discovery service, which is used for registering and verifying the Node.
-
discovery.operator.evm_address
- Name:
NODE_DISCOVERY_OPERATOR_EVM_ADDRESS
- Description: Operator's wallet address used during the registration.
- Name:
-
discovery.operator.signature
- Name:
NODE_DISCOVERY_OPERATOR_SIGNATURE
- Description:
- The signature obtained during registration.
- Used to verify your ownership of this Node.
- You MUST NOT share the signature with anyone.
- Name:
-
discovery.server.endpoint
- Name:
NODE_DISCOVERY_SERVER_ENDPOINT
- Description:
- Endpoint is how Global Indexers access your Node.
- You can use a domain or an IP address with a port number.
- Name:
-
discovery.server.global_indexer_endpoint
- Name:
NODE_DISCOVERY_SERVER_GLOBAL_INDEXER_ENDPOINT
- Default:
https://gi.rss3.io
- Description:
- If your Node is registered on the VSL Testnet, use
https://gi.rss3.dev
. - Otherwise, DO NOT change this value.
- If your Node is registered on the VSL Testnet, use
- Name:
-
discovery.server.access_token
- Name:
NODE_DISCOVERY_SERVER_ACCESS_TOKEN
- Description:
- Access token used to gate certain APIs provided by your Node.
- This token is shared with Global Indexers to access your Node.
- This token can be supplied by you or auto-generated by automated deployer.
- Name:
database
This section includes configuration options for the database, which is used for storing indexed data.
-
database.coverage_period
- Name:
NODE_DATABASE_COVERAGE_PERIOD
- Default:
3
- Description:
- Number of months that the Node will retain indexed data for.
- After this period, the data will be automatically trimmed to save storage space.
- The minimum value is
3
.
- Name:
-
database.uri
- Name:
NODE_DATABASE_URI
- Default:
postgres://postgres@localhost:5432/postgres
- Description: Database connection URI.
- Name:
redis
This section includes configuration options for Redis, which is used for improving performance.
-
redis.endpoint
- Name:
NODE_REDIS_ENDPOINT
- Default:
localhost:6379
- Description: Redis server endpoint.
- Name:
-
redis.username
- Name:
NODE_REDIS_USERNAME
- Description: Redis username.
- Name:
-
redis.password
- Name:
NODE_REDIS_PASSWORD
- Description: Redis password.
- Name:
-
redis.tls.enabled
- Name:
NODE_REDIS_TLS_ENABLED
- Default:
false
- Description: Whether to enable TLS for Redis connection.
- Name:
-
redis.tls.ca_file
- Name:
NODE_REDIS_TLS_CA_FILE
- Description: Path to CA file for Redis TLS.
- Name:
-
redis.tls.cert_file
- Name:
NODE_REDIS_TLS_CERT_FILE
- Description: Path to certificate file for Redis TLS.
- Name:
-
redis.tls.key_file
- Name:
NODE_REDIS_TLS_KEY_FILE
- Description: Path to key file for Redis TLS.
- Name:
stream
This section includes configuration options for streaming, for faster data processing.
-
stream.enable
- Name:
NODE_STREAM_ENABLE
- Default:
false
- Description: Whether to enable streaming.
- Name:
-
stream.uri
- Name:
NODE_STREAM_URI
- Default:
localhost:9092
- Description: Stream connection URI.
- Name:
observability
This section includes configuration options for observability, for enabling OpenTelemetry metrics and traces.
-
observability.opentelemetry.metrics.enable
- Name:
NODE_OBSERVABILITY_OPENTELEMETRY_METRICS_ENABLE
- Default:
false
- Description: Whether to enable OpenTelemetry metrics.
- Name:
-
observability.opentelemetry.metrics.endpoint
- Name:
NODE_OBSERVABILITY_OPENTELEMETRY_METRICS_ENDPOINT
- Default:
0.0.0.0:9090
- Description: Endpoint for OpenTelemetry metrics.
- Name:
-
observability.opentelemetry.traces.enable
- Name:
NODE_OBSERVABILITY_OPENTELEMETRY_TRACES_ENABLE
- Default:
false
- Description: Whether to enable OpenTelemetry traces.
- Name:
-
observability.opentelemetry.traces.insecure
- Name:
NODE_OBSERVABILITY_OPENTELEMETRY_TRACES_INSECURE
- Default:
false
- Description: Whether to use insecure connection for OpenTelemetry traces.
- Name:
-
observability.opentelemetry.traces.endpoint
- Name:
NODE_OBSERVABILITY_OPENTELEMETRY_TRACES_ENDPOINT
- Default:
0.0.0.0:4318
- Description: Endpoint for OpenTelemetry traces.
- Name:
endpoints
This section includes configuration options for each endpoint, which can be referenced by workers in the component section below.
-
endpoints.*.url
- Name:
NODE_ENDPOINTS_{NAME}_URL
- Description: URL for each defined endpoint.
- Name:
-
endpoints.*.http_headers
- Name:
NODE_ENDPOINTS_{NAME}_HTTP_HEADERS
- Description: HTTP headers for each defined endpoint.
- Name:
-
endpoints.*.http2_disabled
- Name:
NODE_ENDPOINTS_{NAME}_HTTP2_DISABLED
- Default:
false
- Description: Whether HTTP/2 is disabled for the endpoint.
- Name:
component
This section includes configuration options for each component, which includes specific configurations for individual workers.
RSS
-
component.rss.id
- Name:
NODE_COMPONENT_RSS_ID
- Description: Unique identifier for RSS component.
- Name:
-
component.rss.network
- Name:
NODE_COMPONENT_RSS_NETWORK
- Description: Network type for RSS component.
- Name:
-
component.rss.worker
- Name:
NODE_COMPONENT_RSS_WORKER
- Description:
- Actual worker that processes the RSS data
- View the list of available workers
- Name:
-
component.rss.endpoint
- Name:
NODE_COMPONENT_RSS_ENDPOINT
- Description: Endpoint for RSS worker
- Name:
-
component.rss.parameters
- Name:
NODE_COMPONENT_RSS_PARAMETERS
- Description: Additional parameters for RSS component
- Name:
Decentralized
-
component.decentralized[].id
- Description: Unique identifier for each decentralized component
-
component.decentralized[].network
- Description: Network type for each decentralized component
-
component.decentralized[].endpoint
- Description:
- Data access endpoint used by the worker
- You can reference the endpoint defined above in the endpoints section
- You can also use a direct URL, such as
https://rpc.rss3.io
- Description:
-
component.decentralized[].worker
- Description:
- Actual worker that processes the data
- View the list of available workers
- Description:
-
component.decentralized[].ipfs_gateways
- Description:
- Description: IPFS gateways used by the worker supplying multiple gateways may improve the indexing performance and reliability
- Default:
["https://ipfs.rss3.page/" , "https://ipfs.io/" , "https://cloudflare-ipfs.com/" , "https://4everland.io/"]
- Description:
-
component.decentralized[].parameters
- Description: Additional parameters for each decentralized component
- For Ethereum and Arweave:
BlockStart
: Block number/height that the worker should start fromBlockTarget
: Block number/height that the worker should stop atConcurrentBlockRequests
: Number of blocks to request concurrently
- For EVM-based Worker only:
BlockBatchSize
: Number of blocks to fetch in a single batch.ReceiptsBatchSize
: Number of receipts to fetch in a single batch.BlockReceiptsBatchSize
: Number of block receipts to fetch in a single batch.
- For Farcaster:
APIKey
: API key for Farcaster Hubble.TimestampStart
: The Farcaster seconds timestamp that the worker should start from.
- For Ethereum and Arweave:
- Description: Additional parameters for each decentralized component
Federated
-
component.federated[].id
- Description: Unique identifier for each federated component
-
component.federated[].network
- Description: Network type for each federated component (e.g., Mastodon)
-
component.federated[].endpoint
- Description:
- Public URL endpoint used by the federated worker
- This endpoint should forward requests to a local port specified in the
parameters.port
setting (or the default port).
- Description:
-
component.federated[].worker
- Description:
- The specific worker that processes data from federated sources.
- Available workers can be found in the list of supported workers.
- Description:
-
component.federated[].parameters
- Description: Additional parameters for each federated component.
- For Mastodon:
relay_url_list
:- Description: List of Mastodon relay URLs used by the worker.
- Default:
["https://relay.toot.io/inbox", "https://relay.infosec.exchange/inbox", "https://relay.intahnet.co.uk/inbox", "https://relay.fedi.buzz/instance/mas.to", "https://relay.fedi.buzz/instance/mastodon.online"]
port
:- Description: Local port where the mastodon client listens for requests from the mastodon public URL.
- Default:
8181
- For Mastodon:
- Description: Additional parameters for each federated component.