Install and run InfluxDB 3 Explorer
Use Docker to install and run InfluxDB 3 Explorer.
Quick start
Get InfluxDB 3 Explorer running in minutes:
Run the Explorer container:
docker run --detach \ --name influxdb3-explorer \ --publish 8888:80 \ influxdata/influxdb3-ui:1.4.0Access the Explorer UI at http://localhost:8888
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.4.0docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
ports:
- "8888:80"
volumes:
- ./config:/app-root/config:ro
restart: unless-stoppedStart the container:
docker-compose up -dProduction 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.4.0 \
--mode=admin# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.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-stoppedCreate a .env file that contains the following:
SESSION_SECRET_KEY=your_32_char_hex_string_hereStart the container:
docker-compose up -dConfiguration options
Persist data across restarts
InfluxDB 3 Explorer stores application data in a SQLite database. To persist this data across container restarts:
Create a local directory:
mkdir -m 700 ./dbMount the directory when running the container:
docker run --detach \ --name influxdb3-explorer \ --publish 8888:80 \ --volume $(pwd)/db:/db:rw \ influxdata/influxdb3-ui:1.4.0version: '3.8' services: explorer: image: influxdata/influxdb3-ui:1.4.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
Create a
config.jsonfile: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" } EOFCustomize the following properties for your InfluxDB 3 instance:
DEFAULT_INFLUX_SERVER: your InfluxDB 3 Core or Enterprise server URLDEFAULT_INFLUX_DATABASE: the name of your InfluxDB 3 Core or Enterprise databaseDEFAULT_API_TOKEN: your InfluxDB 3 Core or Enterprise authorization token with the necessary permissions to access your serverDEFAULT_SERVER_NAME: a display name (only used by Explorer) for your InfluxDB 3 Core or Enterprise server
When to use
host.docker.internalIf your InfluxDB 3 instance is running in Docker (not the same container as Explorer), use
host.docker.internalas your server host to allow the Explorer container to connect to the InfluxDB container on the host–for example:"DEFAULT_INFLUX_SERVER": "http://host.docker.internal:8181"- If both Explorer and InfluxDB are in the same Docker network, use the container name instead.
- If InfluxDB is running natively on your machine (not in Docker), use
localhost.
For more information, see the Docker networking documentation.
Mount the configuration directory:
docker run --detach \ --name influxdb3-explorer \ --publish 8888:80 \ --volume $(pwd)/config:/app-root/config:ro \ influxdata/influxdb3-ui:1.4.0version: '3.8' services: explorer: image: influxdata/influxdb3-ui:1.4.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:
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.crtorfullchain.pem - Private key:
server.key
- Certificate:
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.4.0version: '3.8' services: explorer: image: influxdata/influxdb3-ui:1.4.0 container_name: influxdb3-explorer ports: - "8888:443" volumes: - ./ssl:/etc/nginx/ssl:ro restart: unless-stoppedAccess 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.4.0 \
--mode=query
# Admin mode
docker run --detach \
--name influxdb3-explorer \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0 \
--mode=adminversion: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer
# For query mode (default), omit the command
# For admin mode, add:
command: ["--mode=admin"]
ports:
- "8888:80"
restart: unless-stoppedAdvanced configuration
Environment variables
| Variable | Default | Description |
|---|---|---|
SESSION_SECRET_KEY | (random) | Secret key for session management. Set this in production to persist sessions across restarts. |
DATABASE_URL | /db/sqlite.db | Path to SQLite database inside container |
SSL_CERT_PATH | /etc/nginx/ssl/cert.pem | Path to SSL certificate file |
SSL_KEY_PATH | /etc/nginx/ssl/key.pem | Path 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 32Volume reference
| Container Path | Purpose | Permissions | Required |
|---|---|---|---|
/db | SQLite database storage | 700 | No (but recommended) |
/app-root/config | Connection configuration | 755 | No |
/etc/nginx/ssl | TLS/SSL certificates | 755 | Only for HTTPS |
Port reference
| Container Port | Protocol | Purpose | Common Host Mapping |
|---|---|---|---|
| 80 | HTTP | Web UI (unencrypted) | 8888 |
| 443 | HTTPS | Web 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.4.0 \
--mode=admin# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.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-stoppedCreate a .env file that contains the following:
SESSION_SECRET_KEY=your_32_char_hex_string_hereStart the container:
docker-compose up -dDevelopment setup (minimal)
docker run --rm \
--name influxdb3-explorer-dev \
--publish 8888:80 \
influxdata/influxdb3-ui:1.4.0# docker-compose.yml
version: '3.8'
services:
explorer:
image: influxdata/influxdb3-ui:1.4.0
container_name: influxdb3-explorer-dev
ports:
- "8888:80"Was this page helpful?
Thank you for your feedback!
Support and feedback
Thank you for being part of our community! We welcome and encourage your feedback and bug reports for InfluxDB 3 Explorer and this documentation. To find support, use the following resources:
Customers with an annual or support contract can contact InfluxData Support.