[GH-ISSUE #5354] Client: Warning corrupts JSON output when executed in read-only container #11091

Open
opened 2026-08-05 01:28:27 -04:00 by saavagebueno · 0 comments
Owner

Originally created by @mtdcr on GitHub (Feb 16, 2026).
Original GitHub issue: https://github.com/netbirdio/netbird/issues/5354

Describe the problem

Running docker.io/netbirdio/netbird in read-only mode yields the following warning whenever netbird gets executed:

client/internal/profilemanager/profilemanager.go:92: failed to get config directory: mkdir /root/.config: read-only file system

This doesn't stop the client from working. However, running netbird status --json, for example, doesn't produce a valid JSON file because of the warning.

To Reproduce

  1. podman run --rm -it --read-only -v dummy:/var/lib/netbird --tmpfs /var/log/netbird docker.io/netbirdio/netbird:0.65.1
  2. Let it initialize
  3. Ctrl-C
  4. podman run --rm -it --read-only -v dummy:/var/lib/netbird --tmpfs /var/log/netbird docker.io/netbirdio/netbird:0.65.1
  5. Observe cited warning after some seconds

Expected behavior

netbird shouldn't display a warning about a directory it can't create if it doesn't need to create a file inside it.

If the folder is important, it should be created when building the image.

NetBird version

0.65.1

Have you tried these troubleshooting steps?

  • Reviewed client troubleshooting (if applicable)
  • Checked for newer NetBird versions
  • Searched for similar issues on GitHub (including closed ones)
  • Restarted the NetBird client
  • Disabled other VPN software
  • Checked firewall settings
Originally created by @mtdcr on GitHub (Feb 16, 2026). Original GitHub issue: https://github.com/netbirdio/netbird/issues/5354 **Describe the problem** Running `docker.io/netbirdio/netbird` in read-only mode yields the following warning whenever `netbird` gets executed: ``` client/internal/profilemanager/profilemanager.go:92: failed to get config directory: mkdir /root/.config: read-only file system ``` This doesn't stop the client from working. However, running `netbird status --json`, for example, doesn't produce a valid JSON file because of the warning. **To Reproduce** 1. `podman run --rm -it --read-only -v dummy:/var/lib/netbird --tmpfs /var/log/netbird docker.io/netbirdio/netbird:0.65.1` 2. Let it initialize 3. Ctrl-C 4. `podman run --rm -it --read-only -v dummy:/var/lib/netbird --tmpfs /var/log/netbird docker.io/netbirdio/netbird:0.65.1` 5. Observe cited warning after some seconds **Expected behavior** `netbird` shouldn't display a warning about a directory it can't create if it doesn't need to create a file inside it. If the folder is important, it should be created when building the image. **NetBird version** 0.65.1 **Have you tried these troubleshooting steps?** - [ ] Reviewed [client troubleshooting](https://docs.netbird.io/how-to/troubleshooting-client) (if applicable) - [ ] Checked for newer NetBird versions - [x] Searched for similar issues on GitHub (including closed ones) - [ ] Restarted the NetBird client - [ ] Disabled other VPN software - [ ] Checked firewall settings
saavagebueno added the triage-needed label 2026-08-05 01:28:27 -04:00
Sign in to join this conversation.
No Label triage-needed
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: DYNR/netbird#11091