Documentation

Install and run InfluxDB 3 Explorer

Use Docker to install and run InfluxDB 3 Explorer.

Quick start

Get InfluxDB 3 Explorer running in minutes:

  1. Run the Explorer container:

    docker run --detach \
      --name influxdb3-explorer \
      --publish 8888:80 \
      influxdata/influxdb3-ui:1.2.0
  2. Access the Explorer UI at http://localhost:8888

  3. Configure your InfluxDB connection in the UI


Installation methods

Prerequisites

Install Docker or Docker Desktop if you haven’t already.

Basic setup

To get the latest updates, run the following command before starting the container:

docker pull influxdata/influxdb3-ui:1.2.0
docker run --detach \
  --name influxdb3-explorer \
  --publish 8888:80 \
  influxdata/influxdb3-ui:1.2.0
# docker-compose.yml
version: '3.8'

services:
  explorer:
    image: influxdata/influxdb3-ui:1.2.0
    container_name: influxdb3-explorer
    ports:
      - "8888:80"
    volumes:
      - ./config:/app-root/config:ro
    restart: unless-stopped

Start the container:

docker-compose up -d

Production setup

For production deployments with persistence, admin mode, and automatic image updates:

docker run --detach \
  --name influxdb3-explorer \
  --pull always \
  --publish 8888:80 \
  --volume $(pwd)/db:/db:rw \
  --volume $(pwd)/config:/app-root/config:ro \
  --env SESSION_SECRET_KEY=$(openssl rand -hex 32) \
  --restart unless-stopped \
  influxdata/influxdb3-ui:1.2.0 \
  --mode=admin
# docker-compose.yml
version: '3.8'

services:
  explorer:
    image: influxdata/influxdb3-ui:1.2.0
    container_name: influxdb3-explorer
    pull_policy: always
    command: ["--mode=admin"]
    ports:
      - "8888:80"
    volumes:
      - ./db:/db:rw
      - ./config:/app-root/config:ro
      - ./ssl:/etc/nginx/ssl:ro
    environment:
      SESSION_SECRET_KEY: ${SESSION_SECRET_KEY:-changeme123456789012345678901234}
    restart: unless-stopped

Create a .env file that contains the following:

SESSION_SECRET_KEY=your_32_char_hex_string_here

Start the container:

docker-compose up -d

Configuration options

Persist data across restarts

InfluxDB 3 Explorer stores application data in a SQLite database. To persist this data across container restarts:

  1. Create a local directory:

    mkdir -m 700 ./db
  2. Mount the directory when running the container:

    docker run --detach \
      --name influxdb3-explorer \
      --publish 8888:80 \
      --volume $(pwd)/db:/db:rw \
      influxdata/influxdb3-ui:1.2.0
    version: '3.8'
    
    services:
      explorer:
        image: influxdata/influxdb3-ui:1.2.0
        container_name: influxdb3-explorer
        ports:
          - "8888:80"
        volumes:
          - ./db:/db:rw
        restart: unless-stopped

Without a mounted ./db directory, application data is lost when the container is deleted.

Pre-configure InfluxDB connections

Instead of configuring connections through the UI, you can pre-define connection settings using a config.json file. This is useful for:

  • Automated deployments
  • Shared team configurations
  • Quick setup for known environments
  1. Create a config.json file:

    mkdir -p config
    cat > config/config.json << 'EOF'
    {
      "DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181",
      "DEFAULT_INFLUX_DATABASE": "mydb",
      "DEFAULT_API_TOKEN": "your-token-here",
      "DEFAULT_SERVER_NAME": "Local InfluxDB 3"
    }
    EOF

    Customize the following properties for your InfluxDB 3 instance:

    If connecting to a local, non-Docker instance, use host.docker.internal as your server host–for example:

    "DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181"

    host.docker.internal allows the Docker container to connect to services running on your host machine. For more information, see the Docker documentation.

  2. Mount the configuration directory:

    docker run --detach \
      --name influxdb3-explorer \
      --publish 8888:80 \
      --volume $(pwd)/config:/app-root/config:ro \
      influxdata/influxdb3-ui:1.2.0
    version: '3.8'
    
    services:
      explorer:
        image: influxdata/influxdb3-ui:1.2.0
        container_name: influxdb3-explorer
        ports:
          - "8888:80"
        volumes:
          - ./config:/app-root/config:ro
        restart: unless-stopped

Enable TLS/SSL (HTTPS)

To enable TLS/SSL for secure connections:

  1. Create SSL directory and add certificate files:

    mkdir -m 755 ./ssl
    # Copy your certificate files to the ssl directory
    cp /path/to/server.crt ./ssl/
    cp /path/to/server.key ./ssl/

    Required files:

    • Certificate: server.crt or fullchain.pem
    • Private key: server.key
  2. Run the container with SSL enabled:

    docker run --detach \
      --name influxdb3-explorer \
      --publish 8888:443 \
      --volume $(pwd)/ssl:/etc/nginx/ssl:ro \
      influxdata/influxdb3-ui:1.2.0
    version: '3.8'
    
    services:
      explorer:
        image: influxdata/influxdb3-ui:1.2.0
        container_name: influxdb3-explorer
        ports:
          - "8888:443"
        volumes:
          - ./ssl:/etc/nginx/ssl:ro
        restart: unless-stopped
  3. Access the Explorer UI at https://localhost:8888

The nginx web server automatically detects and uses certificate files in the mounted path.

Choose operational mode

InfluxDB 3 Explorer supports two operational modes:

  • Query mode (default): Read-only UI for querying data
  • Admin mode: Full UI with administrative capabilities

Set the mode using the --mode parameter:

# Query mode (default)
docker run --detach \
  --name influxdb3-explorer \
  --publish 8888:80 \
  influxdata/influxdb3-ui:1.2.0 \
  --mode=query

# Admin mode
docker run --detach \
  --name influxdb3-explorer \
  --publish 8888:80 \
  influxdata/influxdb3-ui:1.2.0 \
  --mode=admin
version: '3.8'

services:
  explorer:
    image: influxdata/influxdb3-ui:1.2.0
    container_name: influxdb3-explorer
    # For query mode (default), omit the command
    # For admin mode, add:
    command: ["--mode=admin"]
    ports:
      - "8888:80"
    restart: unless-stopped

Advanced configuration

Environment variables

VariableDefaultDescription
SESSION_SECRET_KEY(random)Secret key for session management. Set this in production to persist sessions across restarts.
DATABASE_URL/db/sqlite.dbPath to SQLite database inside container
SSL_CERT_PATH/etc/nginx/ssl/cert.pemPath to SSL certificate file
SSL_KEY_PATH/etc/nginx/ssl/key.pemPath to SSL private key file

Always set SESSION_SECRET_KEY in production to persist user sessions across container restarts. Enter the following command to generate a secure key:

openssl rand -hex 32

Volume reference

Container PathPurposePermissionsRequired
/dbSQLite database storage700No (but recommended)
/app-root/configConnection configuration755No
/etc/nginx/sslTLS/SSL certificates755Only for HTTPS

Port reference

Container PortProtocolPurposeCommon Host Mapping
80HTTPWeb UI (unencrypted)8888
443HTTPSWeb UI (encrypted)8888

Complete examples

Production setup with all features

# Create required directories
mkdir -m 700 ./db
mkdir -m 755 ./config ./ssl

# Generate session secret
export SESSION_SECRET=$(openssl rand -hex 32)

# Create configuration
cat > config/config.json << 'EOF'
{
  "DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181",
  "DEFAULT_INFLUX_DATABASE": "production",
  "DEFAULT_API_TOKEN": "your-production-token",
  "DEFAULT_SERVER_NAME": "Production InfluxDB 3"
}
EOF

# Run Explorer with all features
docker run --detach \
  --name influxdb3-explorer \
  --pull always \
  --publish 8888:443 \
  --volume $(pwd)/db:/db:rw \
  --volume $(pwd)/config:/app-root/config:ro \
  --volume $(pwd)/ssl:/etc/nginx/ssl:ro \
  --env SESSION_SECRET_KEY=$SESSION_SECRET \
  --restart unless-stopped \
  influxdata/influxdb3-ui:1.2.0 \
  --mode=admin
# docker-compose.yml
version: '3.8'

services:
  explorer:
    image: influxdata/influxdb3-ui:1.2.0
    container_name: influxdb3-explorer
    pull_policy: always
    command: ["--mode=admin"]
    ports:
      - "8888:443"
    volumes:
      - ./db:/db:rw
      - ./config:/app-root/config:ro
      - ./ssl:/etc/nginx/ssl:ro
    environment:
      SESSION_SECRET_KEY: ${SESSION_SECRET_KEY}
    restart: unless-stopped

Create a .env file that contains the following:

SESSION_SECRET_KEY=your_32_char_hex_string_here

Start the container:

docker-compose up -d

Development setup (minimal)

docker run --rm \
  --name influxdb3-explorer-dev \
  --publish 8888:80 \
  influxdata/influxdb3-ui:1.2.0
# docker-compose.yml
version: '3.8'

services:
  explorer:
    image: influxdata/influxdb3-ui:1.2.0
    container_name: influxdb3-explorer-dev
    ports:
      - "8888:80"

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: