Cannot update config.yaml manually

What is the problem?
When updating ~/.octoprint/config.yaml manually, it applies the changes when I restart octoprint service and the changes work correctly. However, when I reboot, it resets all the changes and brings back the previous config.yaml file
What did you already try to solve it?
Tried different changes to the config.yaml file but they all got reset after reboot.
Same happens when I use plugins such as "Custom Control Editor" - I can see the changes but they don't survive reboot.
Logs (octoprint.log, serial.log or output on terminal tab, browser error console ...)
Not sure which logs are needed. I looked at octoprint.log but it has no relevant information.
Additional information about your setup (OctoPrint version, OctoPi version, printer, firmware, browser, operating system, ...)
I'm running OctoPrint 1.3.11 via OctoPi 0.16.0 on a Raspberry PI 3 model.

Have you tried it in safe mode?

No. I will try and update.

Thanks.

Safe mode didnt help. same behavior.

As a workaround you could try to make the config read only

Make sure you change permissions on the file. By default you can't edit config.yaml and octoprint reverts because it doesn't even have write permissions on the file

I changed it to 777 and still it didnt help.

@5ft24 that certainly is news to me :face_with_raised_eyebrow:

So far every version I have installed sets the config.yaml as read only. Change settings and all is good until you reboot then it reverts back to the default settings again.

Please file a big report, that certainly is not what should happen. It will set chmod to I think 664 for the user OctoPrint is running under, but that shouldn't make it revert or read only for OctoPrint.

that's not read only - that's everyone can do everything with the file.
444 is read only

If it were me, I think I would...

  1. Edit the file manually
  2. using ls -l ~/.octoprint/config.yaml note the timestamp
  3. run a cat ~/.octoprint/config.yaml to confirm that my changes were there
  4. wait three minutes then reboot
  5. repeat that ls command from before and note the timestamp to see if it's different
1 Like

I ended up replacing my SD card and reinstalling OctoPi. I suspect it has started to malfunction as I started to notice additional weird stuff.
Now everything works as it should.

Thanks for all the suggestions!

just did a fresh install of octoprint on my Pi4. Went thru the initial config, setting up username etc. all good. restarted the server, and it starts me thru the whole thing again. did it 3 times. It shows as rw for pi user, rear only for all others.
changed to 666 from 644, and this time it saved the data.
this is after 3 attempts of restarting the server after going thru the settings each time
It was doing this on the Pi3 as well.

1 Like

I note that your prompt indicates that you're logged in as root. I personally don't spend any significant time in my system as root, to be honest.

From what you're describing, it's as if OctoPrint is running as a user who isn't pi.

With OctoPi or manual?

644 is definitely correct and works flawlessly on all my systems. A wrong permission should also not cause the file to revert itself after save, it should cause a write error.

This amnesia is definitely not normal and nothing I've ever seen (and I go through a LOT of initial setups during my testing). Have you tried a different SD card?

I'm having the exact same issue. I've updated the config.yaml file, verified the changes are still there after saving and closing, and after a reboot the file is back to "normal". I've even tried making permissions read-only for everyone, and when I restart it's back to RW for owner and RO for everyone else, and it's back to the stock file.

Pi 4, originally installed with a nightly OctoPi image. No other issues with anything else.