Documentation

Install and run InfluxDB 3 Explorer

Use Docker to install and run InfluxDB 3 Explorer.

Run the InfluxDB 3 Explorer Docker container

  1. Install Docker

    If you haven’t already, install Docker or Docker Desktop.

  2. Pull the InfluxDB 3 Explorer Docker image

    influxdata/influxdb3-ui:1.2.0
  3. Create local directories (optional)

    InfluxDB 3 Explorer can mount the following directories on your local machine:

    DirectoryDescriptionPermissions
    ./dbStores InfluxDB 3 Explorer application data700
    ./configStores pre-configured InfluxDB connection settings755
    ./sslStores TLS/SSL certificates (Required when using TLS/SSL)755

    If you don’t create and mount a local ./db directory, InfluxDB 3 Explorer stores application data in the container’s file system. This data will be lost when the container is deleted.

    To create these directories with the appropriate permissions, run the following commands from your current working directory:

    mkdir -m 700 ./db
    mkdir -m 755 ./config
    mkdir -m 755 ./ssl
  4. Run the InfluxDB 3 Explorer container

    Use the docker run command to start the InfluxDB 3 Explorer container. Include the following:

    • Port mappings:

      • 8888 to 80 (or 443 if using TLS/SSL)
      • 8889 to 8888
    • Mounted volumes:

      • $(pwd)/db:/db:rw
      • $(pwd)/config:/app-root/config:ro
      • $(pwd)/ssl:/etc/nginx/ssl:ro
    • Any of the available environment variables

      To persist sessions across container restarts, see the detailed instructions on setting the SESSION_SECRET_KEY environment variable.

    docker run --detach \
      --name influxdb3-explorer \
      --publish 8888:80 \
      --publish 8889:8888 \
      --volume $(pwd)/config:/app-root/config:ro \
      --volume $(pwd)/db:/db:rw \
      --volume $(pwd)/ssl:/etc/nginx/ssl:ro \
      influxdata/influxdb3-ui:1.2.0 \
      --mode=admin
  5. Access the InfluxDB 3 Explorer user interface (UI) at http://localhost:8888.


Enable TLS/SSL (HTTPS)

To enable TLS/SSL, mount valid certificate and key files into the container:

  1. Place your TLS/SSL certificate files your local ./ssl directory

    Required files:

    • Certificate: server.crt or fullchain.pem
    • Private key: server.key
  2. When running your container, mount the SSL directory and map port 443 to port 8888

    Include the following options when running your Docker container:

    --volume $(pwd)/ssl:/etc/nginx/ssl:ro \
    --publish 8888:443

The nginx web server automatically uses certificate files when they are present in the mounted path.

You can use a custom location for certificate and key files. Use the SSL_CERT_PATH and SSL_KEY_PATH environment variables to identify the custom location. Also update the SSL directory volume mount path inside the container.


Pre-configure InfluxDB connection settings

You can predefine InfluxDB connection settings using a config.json file.

  1. Create a config.json file in your local ./config directory

    {
      "DEFAULT_INFLUX_SERVER": "
    INFLUXDB3_HOST
    "
    ,
    "DEFAULT_INFLUX_DATABASE": "
    INFLUXDB_DATABASE_NAME
    "
    ,
    "DEFAULT_API_TOKEN": "
    INFLUXDB3_AUTH_TOKEN
    "
    ,
    "DEFAULT_SERVER_NAME": "
    INFLUXDB3_SERVER_NAME
    "
    }

    If connecting to an InfluxDB 3 Core or Enterprise instance running on localhost (outside of the container), use the internal Docker network to in your InfluxDB 3 host value–for example:

    http://host.docker.internal:8181
  2. Mount the configuration directory

    Include the following option when running your Docker container:

    --volume $(pwd)/config:/app-root/config:ro

These settings will be used as defaults when the container starts.


Run in query or admin mode

InfluxDB 3 Explorer has the following operational modes:

  • Query mode (default): Read-only UI and query interface
  • Admin mode: Full UI and API access for administrators

You can control the operational mode using the --mode= option in your docker run command (after the image name).

Run in query mode

docker run \
  ...
  --mode=query

Run in admin mode

docker run \
  ...
  --mode=admin

If --mode is not set, the container defaults to query mode.


Environment Variables

Use the following environment variables to customize InfluxDB 3 Explorer settings in your container.

DATABASE_URL

Path to SQLite DB inside container. The default is /db/sqlite.db.

View DATABASE_URL example

SESSION_SECRET_KEY

Specifies the secret key for session management. If none is provided, Explorer uses a random 32-byte hex string as the session secret key.

View SESSION_SECRET_KEY example

Always set SESSION_SECRET_KEY in production

When you restart the container, InfluxDB 3 Explorer generates a new key if not explicitly set. For production use cases, always set the SESSION_SECRET_KEY environment variable to persist sessions across restarts.

SSL_CERT_PATH

Defines the path to the SSL certificate file inside the container. Default is /etc/nginx/ssl/cert.pem.

View SSL_CERT_PATH example

SSL_KEY_PATH

Defines the path to the SSL private key file inside the container. Default is /etc/nginx/ssl/key.pem.

View SSL_KEY_PATH example

Volume Reference

Container PathPurposeHost Example
/dbSQLite DB storage./db
/app-root/configJSON config for defaults./config
/etc/nginx/sslSSL certs for HTTPS./ssl

Exposed Ports

PortProtocolPurpose
80HTTPWeb access (unencrypted)
443HTTPSWeb access (encrypted)

Custom port mapping

# Map ports to custom host values
--publish 8888:80 --publish 8443:443

Was this page helpful?

Thank you for your feedback!


The future of Flux

Flux is going into maintenance mode. You can continue using it as you currently are without any changes to your code.

Read more

New in InfluxDB 3.4

Key enhancements in InfluxDB 3.4 and the InfluxDB 3 Explorer 1.2.

See the Blog Post

InfluxDB 3.4 is now available for both Core and Enterprise, which introduces offline token generation for use in automated deployments and configurable license type selection that lets you bypass the interactive license prompt. InfluxDB 3 Explorer 1.2 is also available, which includes InfluxDB cache management and other new features.

For more information, check out: