Koenkk / zigbee2mqtt

Zigbee 🐝 to MQTT bridge 🌉, get rid of your proprietary Zigbee bridges 🔨
https://www.zigbee2mqtt.io
GNU General Public License v3.0
11.79k stars 1.64k forks source link

EROFS: read-only file system, open '/app/data/configuration.yaml' even though no write is necessary #23589

Open Barsonax opened 1 month ago

Barsonax commented 1 month ago

What happened?

Whenever I try to rename or change a setting of a device I get: EROFS: read-only file system, open '/app/data/configuration.yaml' even though I have these in the config:

devices: devices.yml
groups: groups.yml 

Even though I get the error I do see devices.yml get updated when I for instance rename a device. However the device is not properly renamed in homeassistant

What did you expect to happen?

I would not expect any writes to configuration.yaml and the homeassistant device name to be updated (if the Update Home Assistant entity ID switch is on)

How to reproduce it (minimal and precise)

Zigbee2MQTT version

1.39.1

Adapter firmware version

20210708

Adapter

zStack3x0

Setup

kubernetes, x86

Debug log

error 2024-08-11 12:31:32z2m: Request 'zigbee2mqtt/bridge/request/device/rename' failed with error: 'EROFS: read-only file system, open '/app/data/configuration.yaml''
info 2024-08-11 12:31:32z2m:mqtt: MQTT publish: topic 'zigbee2mqtt/bridge/response/device/rename', payload '{"data":{},"error":"EROFS: read-only file system, open '/app/data/configuration.yaml'","status":"error","transaction":"09hqt-2"}'
ruifung commented 1 month ago

In the meantime, my workaround is to specify all manual configuration via environment variables, and let it write to configuration.yaml

Barsonax commented 1 month ago

Another workaround would be using an init container to copy the config file to its destination so it's not readonly anymore.

ruifung commented 1 month ago

Well, that would be suboptimal since if z2m writes anything to the file it's lost on pod restart.

Barsonax commented 4 weeks ago

True but z2m shouldn't write anything to the config file in the situation I described though.