> ## Documentation Index
> Fetch the complete documentation index at: https://docs.blockscout.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Separate Indexer, Web App, And API

Blockscout supports several modes which run in a single all-in-one application by default.

**Modes**

* [Indexer](/setup/information-and-settings/separate-indexer-web-app-and-api#indexer-mode)

* [Web UI](/setup/information-and-settings/separate-indexer-web-app-and-api#web-application-mode)

* [API](/setup/information-and-settings/separate-indexer-web-app-and-api#api-mode)

* All-in-one (default)

It is possible to run modes separately or in different combinations. For example, you may want to run the `indexer mode + API` to create an indexed db with programmatic access and no UI, or `indexer mode + UI` to leverage Blockscout as a read-only explorer.

Note that the application is limited to 1 running indexer per 1 Blockscout instance. However, the indexer automatically reruns child processes within the Elixir architecture, making it quite fault-tolerant.

To run these modes separately, adjust ENV variables as follows:

<Info>
  After extending the set of environment variables for the instance, recompile the application (or rebuilt the docker image, if this is Docker version) to enable mode settings.
</Info>

## Indexer mode

To run Blockscout in indexer mode, disable the web application and API:

```javascript theme={null}
export DISABLE_WEBAPP=true
export API_V1_READ_METHODS_DISABLED=true
export API_V1_WRITE_METHODS_DISABLED=true
```

## Web application mode

To run Blockscout in web application mode only, disable the indexer and API read methods (API write functionality is not disabled to support smart contracts verification in the UI).

```javascript theme={null}
export DISABLE_INDEXER=true
export API_V1_READ_METHODS_DISABLED=true
```

<Info>
  If you have a separate web application and indexer and they are connected to the same database (via DATABASE\_URL), you will see new incoming items on the web UI like in the all-in-one mode. This configuration allows you to scale the web UI separately from indexer.
</Info>

## API mode

To run in API mode, disable the indexer and webapp.

```javascript theme={null}
export DISABLE_INDEXER=true
export DISABLE_WEBAPP=true
```

<Info>
  In API mode the web UI will show the API docs page at the default path (/). In the default all-in-one mode, it is located on the /api-docs page.
</Info>

## Web UI + API mode

```javascript theme={null}
export DISABLE_INDEXER=true
```
