---
title: InfluxDB file system layout
description: The InfluxDB file system layout depends on the operating system, package manager, or containerization platform used to install InfluxDB.
url: https://docs.influxdata.com/influxdb/v2/reference/internals/file-system-layout/
estimated_tokens: 4400
product: InfluxDB OSS v2
version: v2
---

# InfluxDB file system layout

This page documents an earlier version of InfluxDB OSS. [InfluxDB 3 Core](/influxdb3/core/) is the latest stable version.

#### API token hashing is enabled by default in InfluxDB OSS 2.9.0

Stronger token security: tokens are stored as hashes on disk, so a copy of the database file doesn’t expose usable tokens. Existing tokens are hashed on first startup and the original strings can’t be recovered afterward — **capture any plaintext tokens you still need before you upgrade**.

For more information, see [Token hashing](/influxdb/v2/admin/tokens/#token-hashing).

The InfluxDB file system layout depends on the operating system, installation method, or containerization platform used to install InfluxDB.

-   [InfluxDB file structure](#influxdb-file-structure)
    -   [Engine path](#engine-path)
    -   [Bolt path](#bolt-path)
    -   [SQLite path](#sqlite-path)
    -   [Configs path](#configs-path)
    -   [InfluxDB configuration files](#influxdb-configuration-files)
-   [File system layout](#file-system-layout)
    -   [Installed as a standalone binary](#installed-as-a-standalone-binary)
    -   [Installed as a package](#installed-as-a-package)
    -   [Docker Hub](#docker-hub)
    -   [Quay.io](#quayio)

## InfluxDB file structure

The InfluxDB file structure includes the following:

### Engine path

Directory path to the [storage engine](/influxdb/v2/reference/internals/storage-engine/), where InfluxDB stores time series data, includes the following directories:

-   **data**: Stores time-structured merge tree (TSM) files. For more information about the structure of the `data` directory, see [TSM directories and files layout](#tsm-directories-and-files-layout).
-   **replicationq**: Store the replication queue for the [InfluxDB replication service](/influxdb/v2/write-data/replication/).
-   **wal**: Stores write-ahead log (WAL) files. For more information about the structure of the `wal` directory, see [WAL directories and files layout](#wal-directories-and-files-layout).

To customize this path, use the [engine-path](/influxdb/v2/reference/config-options/#engine-path) configuration option.

### Bolt path

File path to the [Boltdb](https://github.com/boltdb/bolt) database, a file-based key-value store for non-time series data, such as InfluxDB users, dashboards, and tasks. To customize this path, use the [bolt-path](/influxdb/v2/reference/config-options/#bolt-path) configuration option.

### SQLite path

File path to the [SQLite](https://www.sqlite.org/) database, an SQL database for non-time series data, such as InfluxDB notebooks and annotations. To customize this path, use the [sqlite-path](/influxdb/v2/reference/config-options/#sqlite-path) configuration option.

### Configs path

File path to [`influx` CLI connection configurations](/influxdb/v2/reference/cli/influx/config/) (configs).

To use a custom path, pass the `--configs-path` flag with `influx` CLI commands.

### InfluxDB configuration files

Some operating systems and package managers store a default InfluxDB (`influxd`) configuration file on disk. For more information about using InfluxDB configuration files, see [Configuration options](/influxdb/v2/reference/config-options/).

## File system layout

<!-- Tabbed content: Select one of the following options -->

**macOS:**

#### macOS default paths

| Path | Default |
| --- | --- |
| Engine path | ~/.influxdbv2/engine/ |
| Bolt path | ~/.influxdbv2/influxd.bolt |
| SQLite path | ~/.influxdbv2/influxd.sqlite |
| Configs path | ~/.influxdbv2/configs |

#### macOS file system overview

-   ~/.influxdbv2/
    -   engine/
        -   data/
            -   *TSM directories and files*
        -   wal/
            -   *WAL directories and files*
    -   configs
    -   influxd.bolt
    -   influxd.sqlite

**Linux:**

When installing InfluxDB on Linux, you can download and install the `influxd` binary, or you can use a package manager. Which installation method you use determines the file system layout.

-   [InfluxDB file structure](#influxdb-file-structure)
-   [File system layout](#file-system-layout)
    -   [Installed as a standalone binary](#installed-as-a-standalone-binary)
    -   [Installed as a package](#installed-as-a-package)
    -   [Docker Hub](#docker-hub)
    -   [Quay.io](#quayio)

### Installed as a standalone binary

#### Linux default paths (standalone binary)

| Path | Default |
| --- | --- |
| Engine path | ~/.influxdbv2/engine/ |
| Bolt path | ~/.influxdbv2/influxd.bolt |
| SQLite path | ~/.influxdbv2/influxd.sqlite |
| Configs path | ~/.influxdbv2/configs |

#### Linux file system overview (standalone binary)

-   ~/.influxdbv2/
    -   engine/
        -   data/
            -   *TSM directories and files*
        -   wal/
            -   *WAL directories and files*
    -   configs
    -   influxd.bolt
    -   influxd.sqlite

### Installed as a package

InfluxDB 2.9 supports **.deb-** and **.rpm-based** Linux package managers. The file system layout is the same with each.

#### Linux default paths (package)

| Path | Default |
| --- | --- |
| Engine path | /var/lib/influxdb/engine/ |
| Bolt path | /var/lib/influxdb/influxd.bolt |
| SQLite path | /var/lib/influxdb/influxd.sqlite |
| Configs path | /var/lib/influxdb/configs |
| Default config file path | /etc/influxdb/config.toml |

#### Linux file system overview (package)

-   /var/lib/influxdb/
    -   engine/
        -   data/
            -   *TSM directories and files*
        -   wal/
            -   *WAL directories and files*
    -   configs
    -   influxd.bolt
    -   influxd.sqlite
-   /etc/influxdb/
    -   config.toml *(influxd configuration file)*

**Windows:**

#### Windows default paths

| Path | Default |
| --- | --- |
| Engine path | %USERPROFILE%\.influxdbv2\engine\ |
| Bolt path | %USERPROFILE%\.influxdbv2\influxd.bolt |
| SQLite path | %USERPROFILE%\.influxdbv2\influxd.sqlite |
| Configs path | %USERPROFILE%\.influxdbv2\configs |

#### Windows file system overview

-   %USERPROFILE%\\.influxdbv2\\
    -   engine\\
        -   data\\
            -   *TSM directories and files*
        -   wal\\
            -   *WAL directories and files*
    -   configs
    -   influxd.bolt
    -   influxd.sqlite

**Docker:**

InfluxDB Docker images are available from both [Docker Hub](https://hub.docker.com/_/influxdb) and [Quay.io](https://quay.io/repository/influxdb/influxdb?tab=tags). Each has a unique InfluxDB file system layout.

-   [Docker Hub](#docker-hub)
-   [Quay.io](#quayio)

### Docker Hub

For InfluxDB v2, the InfluxDB Docker Hub image uses `/var/lib/influxdb2` instead of `/var/lib/influxdb` so you can easily mount separate volumes for InfluxDB 1.x and 2.x data during the [upgrade process](/influxdb/v2/upgrade/v1-to-v2/docker/).

#### Docker Hub default paths

| Path | Default |
| --- | --- |
| Engine path | /var/lib/influxdb2/engine/ |
| Bolt path | /var/lib/influxdb2/influxd.bolt |
| SQLite path | /var/lib/influxdb2/influxd.sqlite |
| Configs path | /etc/influxdb2/influx-configs if InfluxDB is set up using automated setup mode or influx setup from within the container; /etc/influxdb2/configs otherwise. |

#### Docker Hub file system overview

-   /var/lib/influxdb2/
    -   engine/
        -   data/
            -   *TSM directories and files*
        -   wal/
            -   *WAL directories and files*
    -   influxd.bolt
    -   influxd.sqlite
-   /etc/influxdb2/
    -   configs
    -   influx-configs

### Quay.io

#### Quay default paths

| Path | Default |
| --- | --- |
| Engine path | /root/.influxdbv2/engine/ |
| Bolt path | /root/.influxdbv2/influxd.bolt |
| SQLite path | /root/.influxdbv2/influxd.sqlite |
| Configs path | /root/.influxdbv2/configs |

#### Quay file system overview

-   /root/.influxdbv2/
    -   engine/
        -   data/
            -   *TSM directories and files*
        -   wal/
            -   *WAL directories and files*
    -   configs
    -   influxd.bolt
    -   influxd.sqlite

**Kubernetes:**

#### Kubernetes default paths

| Path | Default |
| --- | --- |
| Engine path | /var/lib/influxdb2/engine/ |
| Bolt path | /var/lib/influxdb2/influxd.bolt |
| SQLite path | /var/lib/influxdb2/influxd.sqlite |
| Configs path | /etc/influxdb2/configs |

#### Kubernetes file system overview

-   /var/lib/influxdb2/
    -   engine/
        -   data/
            -   *TSM directories and files* [+](#tsm-directories-and-files-layout)
        -   wal/
            -   *WAL directories and files*
    -   influxd.bolt
    -   influxd.sqlite
-   /etc/influxdb2/
    -   configs

<!-- End tabbed content -->

#### TSM directories and files layout

TSM directories and files are stored in the `data` directory inside the [engine path](#engine-path). The diagram below is **relative to the [engine path](#file-system-layout)**.

-   …/data/
    -   000xX00xxXx000x0/ *(bucket ID)*
        -   \_series/ *(series directory)*
            -   00/ *(internal shard index)*
                -   0000 *(internal shard index file)*
        -   autogen
            -   0123/ *(shard ID)*
                -   index *(index directory)*
                    -   L0-00000001.tsl *(write-ahead log for the TSI index)*
                    -   L0-00000001.tsi *(series index)*
                    -   MANIFEST *(index manifest)*

#### WAL directories and files layout

WAL directories and files are stored in the `data` directory inside the [engine path](#engine-path). The diagram below is **relative to the [engine path](#file-system-layout)**.

-   …/wal/
    -   000xX00xxXx000x0/ *(bucket ID)*
        -   autogen/
            -   0123/ *(shard ID)*
                -   \_01234.wal *(WAL file)*

#### Related

-   [Manage InfluxDB internal systems](/influxdb/v2/admin/internals/)

[storage](/influxdb/v2/tags/storage/) [internals](/influxdb/v2/tags/internals/)
