Icon LinkStarting the Fuel Indexer

Icon LinkUsing CLI options

Standalone binary for the fuel indexer service.

USAGE:
    fuel-indexer run [OPTIONS]

OPTIONS:
        --accept-sql-queries
            Allow the web API to accept raw SQL queries.

        --auth-enabled
            Require users to authenticate for some operations.

        --auth-strategy <AUTH_STRATEGY>
            Authentication scheme used.

        --block-page-size <BLOCK_PAGE_SIZE>
            Amount of blocks to return in a request to a Fuel node. [default: 10]

    -c, --config <FILE>
            Indexer service config file.

        --database <DATABASE>
            Database type. [default: postgres] [possible values: postgres]

        --embedded-database
            Automatically create and start database using provided options or defaults.

        --fuel-node-host <FUEL_NODE_HOST>
            Host of the running Fuel node. [default: localhost]

        --fuel-node-port <FUEL_NODE_PORT>
            Listening port of the running Fuel node. [default: 4000]

    -h, --help
            Print help information

        --indexer-net-config
            Allow network configuration via indexer manifests.

        --jwt-expiry <JWT_EXPIRY>
            Amount of time (seconds) before expiring token (if JWT scheme is specified).

        --jwt-issuer <JWT_ISSUER>
            Issuer of JWT claims (if JWT scheme is specified).

        --jwt-secret <JWT_SECRET>
            Secret used for JWT scheme (if JWT scheme is specified).

        --local-fuel-node
            Start a local Fuel node.

        --log-level <LOG_LEVEL>
            Log level passed to the Fuel Indexer service. [default: info] [possible values: info,
            debug, error, warn]

    -m, --manifest <FILE>
            Indexer config file.

        --max-body-size <MAX_BODY_SIZE>
            Max body size for web API requests. [default: 5242880]

        --metering-points <METERING_POINTS>
            The number of WASM opcodes after which the indexer's event handler will stop execution.
            [default: 30000000000]

        --metrics
            Use Prometheus metrics reporting.

        --postgres-database <POSTGRES_DATABASE>
            Postgres database.

        --postgres-host <POSTGRES_HOST>
            Postgres host.

        --postgres-password <POSTGRES_PASSWORD>
            Postgres password.

        --postgres-port <POSTGRES_PORT>
            Postgres port.

        --postgres-user <POSTGRES_USER>
            Postgres username.

        --rate-limit
            Enable rate limiting.

        --rate-limit-request-count <RATE_LIMIT_REQUEST_COUNT>
            Maximum number of requests to allow over --rate-limit-window..

        --rate-limit-window-size <RATE_LIMIT_WINDOW_SIZE>
            Number of seconds over which to allow --rate-limit-rps.

        --replace-indexer
            Whether to allow replacing an existing indexer. If not specified, an attempt to deploy
            over an existing indexer results in an error.

        --run-migrations
            Run database migrations before starting service.

        --stop-idle-indexers
            Prevent indexers from running without handling any blocks.

    -v, --verbose
            Enable verbose logging.

    -V, --version
            Print version information

        --web-api-host <WEB_API_HOST>
            Web API host. [default: localhost]

        --web-api-port <WEB_API_PORT>
            Web API port. [default: 29987]

Icon LinkUsing a configuration file

# The following is an example Fuel indexer configuration file.
#
# This configuration spec is intended to be used for a single instance
# of a Fuel indexer node or service.
#
# For more info on how the Fuel indexer works, read the book: https://fuellabs.github.io/fuel-indexer/master/
# or specifically read up on these configuration options: https://fuellabs.github.io/fuel-indexer/master/getting-started/configuration.html

# Whether to allow replacing an indexer.
#
# If this is disabled, then an HTTP 409 Conflict will be returned if an indexer with the same name already exists.
replace_indexer: false

# Log level passed to the Fuel Indexer service.
log_level: info

# Use Prometheus metrics reporting.
metrics: true

# Prevent indexers from running without handling any blocks.
stop_idle_indexers: false

# Run database migrations before starting service.
run_migrations: true

# Enable verbose logging.
verbose: false

# Start a local Fuel node.
local_fuel_node: false

# Allow network configuration via indexer manifests.
indexer_net_config: false

# The number of WASM opcodes after which the indexer will stop execution.
metering_points: 30000000000

# Allow the web API to accept raw SQL queries.
accept_sql_queries: false

# Amount of blocks to return in a request to a Fuel node.
block_page_size: 20

# ***********************
# Fuel Node configuration
# ************************

fuel_node:

  # Host of the running Fuel node.
  host: localhost

  # Listening port of the running Fuel node.
  port: 4000

# *************************
# Web API configuration
# *************************

web_api:
  # Web API host.
  host: localhost

  # Web API port.
  port: 29987

  # Max body size for web API requests.
  max_body_size: "5242880"

# ******************************
# Database configuration options
# ******************************

database:

  postgres:
    # Postgres username.
    user: postgres

    # Postgres database.
    database: postgres

    # Postgres password.
    password: postgres

    # Postgres host.
    host: localhost

    # Postgres port.
    port: 5432

# ******************************
# Indexer service authentication
# ******************************

authentication:
  # Require users to authenticate for some operations.
  enabled: false

  # Which authentication scheme to use.
  strategy: jwt

  # Secret used if JWT authentication is specified.
  jwt_secret: abcdefghijklmnopqrstuvwxyz1234567890

  # JWT issuer if JWT authentication is specified.
  jwt_issuer: FuelLabs

  # Amount of time (seconds) before expiring token if JWT authentication is specified.
  jwt_expiry: 2592000

# ********************************
# Rate limit configuration options
# ********************************

rate_limit:
  # Enable rate limiting.
  enabled: false

  # Maximum number of requests to allow over --rate-limit-window..
  request_count: 10

  # Number of seconds over which to allow --rate-limit-rps.
  window_size: 5

Was this page helpful?

Icon ListDetailsOn this page