Skip to content

Commit 622fac1

Browse files
blegesse-wjstirnamanCopilot
authored
chore: upgrade guidance for non-root container change (#7048)
* chore: upgrade guidance for non-root container change * style(explorer): improve upgrade warning clarity and formatting Use semantic line feeds, replace bold text with heading in callouts, explain the root cause (root-owned volumes), and use standard callout syntax for the release notes upgrade notice. * Update content/influxdb3/explorer/install.md * chore: update port mappings for non-root container (80→8080, 443→8443) * fix: specific linux in heading * docs(explorer): simplify upgrade warning and link release notes Agent-Logs-Url: https://github.com/influxdata/docs-v2/sessions/7a4994d9-9c33-4957-9a95-7a7ce72459ab * docs(explorer): adjust upgrade permission wording Agent-Logs-Url: https://github.com/influxdata/docs-v2/sessions/7a4994d9-9c33-4957-9a95-7a7ce72459ab * docs(explorer): clarify warning impact and deep link install steps Agent-Logs-Url: https://github.com/influxdata/docs-v2/sessions/7a4994d9-9c33-4957-9a95-7a7ce72459ab * Update content/influxdb3/explorer/install.md * Update content/influxdb3/explorer/install.md --------- Co-authored-by: Jason Stirnaman <jstirnaman@influxdata.com> Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
1 parent bb195f3 commit 622fac1

2 files changed

Lines changed: 62 additions & 23 deletions

File tree

content/influxdb3/explorer/install.md

Lines changed: 55 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ Get {{% product-name %}} running in minutes:
3636
```bash
3737
docker run --detach \
3838
--name influxdb3-explorer \
39-
--publish 8888:80 \
39+
--publish 8888:8080 \
4040
influxdata/influxdb3-ui:{{% latest-patch %}}
4141
```
4242

@@ -71,7 +71,7 @@ Install [Docker](https://docs.docker.com/engine/) or [Docker Desktop](https://do
7171
```bash
7272
docker run --detach \
7373
--name influxdb3-explorer \
74-
--publish 8888:80 \
74+
--publish 8888:8080 \
7575
influxdata/influxdb3-ui:{{% latest-patch %}}
7676
```
7777
{{% /code-tab-content %}}
@@ -86,7 +86,7 @@ services:
8686
image: influxdata/influxdb3-ui:{{% latest-patch %}}
8787
container_name: influxdb3-explorer
8888
ports:
89-
- "8888:80"
89+
- "8888:8080"
9090
volumes:
9191
- ./config:/app-root/config:ro
9292
restart: unless-stopped
@@ -100,6 +100,7 @@ docker-compose up -d
100100
{{% /code-tab-content %}}
101101
{{< /code-tabs-wrapper >}}
102102
103+
103104
### Production setup
104105
105106
For production deployments with persistence, admin mode, and automatic image updates:
@@ -115,7 +116,7 @@ For production deployments with persistence, admin mode, and automatic image upd
115116
docker run --detach \
116117
--name influxdb3-explorer \
117118
--pull always \
118-
--publish 8888:80 \
119+
--publish 8888:8080 \
119120
--volume $(pwd)/db:/db:rw \
120121
--volume $(pwd)/config:/app-root/config:ro \
121122
--env SESSION_SECRET_KEY=$(openssl rand -hex 32) \
@@ -137,7 +138,7 @@ services:
137138
pull_policy: always
138139
command: ["--mode=admin"]
139140
ports:
140-
- "8888:80"
141+
- "8888:8080"
141142
volumes:
142143
- ./db:/db:rw
143144
- ./config:/app-root/config:ro
@@ -187,7 +188,7 @@ docker-compose up -d
187188
```bash
188189
docker run --detach \
189190
--name influxdb3-explorer \
190-
--publish 8888:80 \
191+
--publish 8888:8080 \
191192
--volume $(pwd)/db:/db:rw \
192193
influxdata/influxdb3-ui:{{% latest-patch %}}
193194
```
@@ -202,7 +203,7 @@ docker-compose up -d
202203
image: influxdata/influxdb3-ui:{{% latest-patch %}}
203204
container_name: influxdb3-explorer
204205
ports:
205-
- "8888:80"
206+
- "8888:8080"
206207
volumes:
207208
- ./db:/db:rw
208209
restart: unless-stopped
@@ -213,6 +214,38 @@ docker-compose up -d
213214
> [!Important]
214215
> Without a mounted `./db` directory, application data is lost when the container is deleted.
215216
217+
> [!Warning]
218+
> With v1.7.0+, the Explorer container runs as a non-root user.
219+
> If you're upgrading from v1.6.x or earlier with mounted volumes, update file
220+
> ownership before you start the container.
221+
> The container exits with an error if mounted volumes have incorrect ownership.
222+
223+
### Set file permissions for upgrades
224+
225+
In v1.7.0+, the Explorer container runs as a non-root user (`influxui`, uid
226+
1500) for improved security.
227+
Because earlier versions ran as root, existing mounted volumes are owned by
228+
root and the new non-root process can't access them.
229+
230+
If you start the upgraded container without updating file ownership, it exits
231+
with the following error:
232+
233+
```txt
234+
ERROR: Directory '/db' is owned by root and not accessible to the 'influxui' user.
235+
```
236+
237+
To prevent or resolve this error, change ownership of your mounted directories
238+
to uid 1500 before you start the container.
239+
For example:
240+
241+
```bash
242+
sudo chown -R 1500:1500 /path/to/your/db
243+
sudo chown -R 1500:1500 /path/to/your/config
244+
```
245+
246+
After you update ownership, restart the container.
247+
Fresh installations are unaffected.
248+
216249
### Pre-configure InfluxDB connections
217250
218251
Instead of configuring connections through the UI, you can pre-define connection settings using a `config.json` file. This is useful for:
@@ -269,7 +302,7 @@ Instead of configuring connections through the UI, you can pre-define connection
269302
```bash
270303
docker run --detach \
271304
--name influxdb3-explorer \
272-
--publish 8888:80 \
305+
--publish 8888:8080 \
273306
--volume $(pwd)/config:/app-root/config:ro \
274307
influxdata/influxdb3-ui:{{% latest-patch %}}
275308
```
@@ -284,7 +317,7 @@ Instead of configuring connections through the UI, you can pre-define connection
284317
image: influxdata/influxdb3-ui:{{% latest-patch %}}
285318
container_name: influxdb3-explorer
286319
ports:
287-
- "8888:80"
320+
- "8888:8080"
288321
volumes:
289322
- ./config:/app-root/config:ro
290323
restart: unless-stopped
@@ -321,7 +354,7 @@ To enable TLS/SSL for secure connections:
321354
```bash
322355
docker run --detach \
323356
--name influxdb3-explorer \
324-
--publish 8888:443 \
357+
--publish 8888:8443 \
325358
--volume $(pwd)/ssl:/etc/nginx/ssl:ro \
326359
influxdata/influxdb3-ui:{{% latest-patch %}}
327360
```
@@ -336,7 +369,7 @@ To enable TLS/SSL for secure connections:
336369
image: influxdata/influxdb3-ui:{{% latest-patch %}}
337370
container_name: influxdb3-explorer
338371
ports:
339-
- "8888:443"
372+
- "8888:8443"
340373
volumes:
341374
- ./ssl:/etc/nginx/ssl:ro
342375
restart: unless-stopped
@@ -402,7 +435,7 @@ To configure Explorer to trust self-signed or custom CA certificates when connec
402435
docker run --detach \
403436
--name influxdb3-explorer \
404437
--restart unless-stopped \
405-
--publish 8888:443 \
438+
--publish 8888:8443 \
406439
--volume $(pwd)/db:/db:rw \
407440
--volume $(pwd)/config:/app-root/config:ro \
408441
--volume $(pwd)/ssl:/etc/nginx/ssl:ro \
@@ -427,7 +460,7 @@ services:
427460
pull_policy: always
428461
command: ["--mode=admin"]
429462
ports:
430-
- "8888:443"
463+
- "8888:8443"
431464
volumes:
432465
- ./db:/db:rw
433466
- ./config:/app-root/config:ro
@@ -465,14 +498,14 @@ Set the mode using the `--mode` parameter:
465498
# Query mode (default)
466499
docker run --detach \
467500
--name influxdb3-explorer \
468-
--publish 8888:80 \
501+
--publish 8888:8080 \
469502
influxdata/influxdb3-ui:{{% latest-patch %}} \
470503
--mode=query
471504
472505
# Admin mode
473506
docker run --detach \
474507
--name influxdb3-explorer \
475-
--publish 8888:80 \
508+
--publish 8888:8080 \
476509
influxdata/influxdb3-ui:{{% latest-patch %}} \
477510
--mode=admin
478511
```
@@ -490,7 +523,7 @@ services:
490523
# For admin mode, add:
491524
command: ["--mode=admin"]
492525
ports:
493-
- "8888:80"
526+
- "8888:8080"
494527
restart: unless-stopped
495528
```
496529
{{% /code-tab-content %}}
@@ -532,8 +565,8 @@ services:
532565
533566
| Container Port | Protocol | Purpose | Common Host Mapping |
534567
|----------------|----------|---------|---------------------|
535-
| 80 | HTTP | Web UI (unencrypted) | 8888 |
536-
| 443 | HTTPS | Web UI (encrypted) | 8888 |
568+
| 8080 | HTTP | Web UI (unencrypted) | 8888 |
569+
| 8443 | HTTPS | Web UI (encrypted) | 8888 |
537570
538571
---
539572
@@ -570,7 +603,7 @@ EOF
570603
docker run --detach \
571604
--name influxdb3-explorer \
572605
--pull always \
573-
--publish 8888:443 \
606+
--publish 8888:8443 \
574607
--volume $(pwd)/db:/db:rw \
575608
--volume $(pwd)/config:/app-root/config:ro \
576609
--volume $(pwd)/ssl:/etc/nginx/ssl:ro \
@@ -593,7 +626,7 @@ services:
593626
pull_policy: always
594627
command: ["--mode=admin"]
595628
ports:
596-
- "8888:443"
629+
- "8888:8443"
597630
volumes:
598631
- ./db:/db:rw
599632
- ./config:/app-root/config:ro
@@ -629,7 +662,7 @@ docker-compose up -d
629662
```bash
630663
docker run --rm \
631664
--name influxdb3-explorer \
632-
--publish 8888:80 \
665+
--publish 8888:8080 \
633666
influxdata/influxdb3-ui:{{% latest-patch %}}
634667
```
635668
{{% /code-tab-content %}}
@@ -644,8 +677,7 @@ services:
644677
image: influxdata/influxdb3-ui:{{% latest-patch %}}
645678
container_name: influxdb3-explorer
646679
ports:
647-
- "8888:80"
680+
- "8888:8080"
648681
```
649682
{{% /code-tab-content %}}
650683
{{< /code-tabs-wrapper >}}
651-

content/influxdb3/explorer/release-notes/_index.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,12 @@ docker pull influxdata/influxdb3-ui
1818

1919
## v1.7.0 {date="2026-04-14"}
2020

21+
#### Breaking changes
22+
23+
- **Container user change**: The Docker container now runs as non-root user `influxui` (uid 1500) instead of root for improved security.
24+
- **Upgrade action**: See [Install InfluxDB 3 Explorer](/influxdb3/explorer/install/#set-file-permissions-for-upgrades)
25+
for upgrade file permission steps.
26+
2127
#### Features
2228

2329
- **Transform Data**: Rename tables (measurements), rename columns, transform values (such as unit conversions), and filter rows from a dedicated Transform Data page with dry-run testing.
@@ -28,6 +34,7 @@ docker pull influxdata/influxdb3-ui
2834
- **Line protocol validation**: Get clearer, inline validation when writing data with line protocol.
2935
- **TLS certificate management**: Generate and renew short-lived TLS certificates for IP-based deployments.
3036
- **Storage type display**: View the configured storage type for your InfluxDB instance in the metrics UI.
37+
- **Non-root container**: The container now runs as a non-root user (uid 1500) for improved security.
3138

3239
#### Bug fixes
3340

0 commit comments

Comments
 (0)