How to stop supervisor auto-update?

I don’t think I’ve ever seen a good explanation of what exactly the supervisor does.

Can anyone give me an informative but “readers digest” version of that?

https://developers.home-assistant.io/docs/en/architecture_hassio.html

1 Like

It’s especially annoying when you run hassio supervisor on something like unraid, as it stops the container and basically does nothing, making the home assistant non functional until I manually update to the newest version, also using the :latest tag never works as they don’t update it properly.

is there any working solution?

You can “disable” supervisor auto-updates by editing this file inside the supervisor docker container:
/usr/src/supervisor/supervisor/misc/tasks.py

In my case I am running hassio docker and supervisor on an ubuntu server:

docker exec -it hassio_supervisor sed -i 's/^RUN_UPDATE_SUPERVISOR = .*/RUN_UPDATE_SUPERVISOR = 2592000/g' /usr/src/supervisor/supervisor/misc/tasks.py

This extends the auto-update interval from 29100 sec (8 hrs and 5 min) to 2592000 sec (30 days).

you could also just delete the schedule for the auto-update task, in the same file mentioned above look for:

        self.jobs.add(
            self.sys_scheduler.register_task(
                self._update_supervisor, RUN_UPDATE_SUPERVISOR
            )
        )

You’ll still be able to update manually from the supervisor panel in home-assistant.
You’ll probably have execute the command again after supervisor updates.

2 Likes

I tried to talk to some people on the discord to shine some light on this “issue”.
So I share the log from the conversation here.
You can also find it on the discord channel Home Assistant -> #homeassistant_supervised

discord log

johnjohnToday at 3:07 PM
What is the reason for auto-update of the supervisor is mandatory?
What goes wrong if the update is blocked when everything else is being kept at the same version? (By blocked I mean by some kind of intervention from me)

cogneatoToday at 3:09 PM
Supervisor is managing which versions of what things as far as the ecosystem goes. So blocking it will prevent update notifications for HA, addons, the OS (only HA OS)
You can block it.

johnjohnToday at 3:11 PM
@cogneato Ok, but it won’t be a problem blocking the auto-update of hypervisor when I don’t want to update anything else?

cogneatoToday at 3:12 PM
It won’t be a problem if you keep yourself informed
Everything will work as is

johnjohnToday at 3:15 PM
Ok, than why is this not an easy option to stop the auto-update (with a notice that this causes a stop in all update notifications)? The reason I ask is that some informed people don’t want to have to troubleshoot the updated hypervisor when they are away or don’t want to be trouble by it. (And this is of course only when the auto-update fails or creates another problem with the newly installed hypervisor)

TinkererToday at 3:17 PM
Probably because too many folks would disable it, then complain later when things no longer worked…

johnjohnToday at 3:19 PM
But the only thing that stops working is the:
Supervisor is managing which versions of what things as far as the ecosystem goes. So blocking it will prevent update notifications for HA, addons, the OS (only HA OS)
@cogneato
If I understood correctly

johnjohnToday at 3:27 PM
I’m just thinking about that more and more systems are getting more important in a home, so an option to disable a auto-update in a “production-system” is a very normal thing to do. Or maybe a warning that one should use a different system, like @Frenck mentioned, docker. (But that is a different story)
Cause bad updates happen.

These are just my thoughts.

johnjohnToday at 4:04 PM
@cogneato @Tinkerer
I will leave the question about auto-update. But thank you for the replies you gave! (Not sarcastic, I understand some things are difficult/not worth (or whatever reason) to explain to a “noob”)

TinkererToday at 4:04 PM
I don’t run this method myself, so all my knowledge is Nth hand :wink:

cogneatoToday at 4:05 PM
@johnjohn an option to stop auto-updates is something that is “on the list”

LudeeusToday at 4:06 PM
really?

cogneatoToday at 4:06 PM
well…not a high priority list

LudeeusToday at 4:06 PM
can we remove it?

cogneatoToday at 4:06 PM
just something to be considered as far as I can tell

LudeeusToday at 4:06 PM
I vote :thumbsdown:

johnjohnToday at 4:07 PM
@Ludeeus what are your reasons?

LudeeusToday at 4:07 PM
That is what ensure that the system is up to spec

johnjohnToday at 4:07 PM
After you read what wrote

TinkererToday at 4:07 PM
If you want full control, don’t use #homeassistant or #homeassistant_supervised
Use #homeassistant_container or #homeassistant_core

LudeeusToday at 4:08 PM
:point_up: :white_check_mark:

TinkererToday at 4:08 PM
You’re trying to turn something intended to self manage, and break that part…

johnjohnToday at 4:09 PM
Then it comes back to the information given when choosing a installation. Since the homepage is saying “Open source home automation that puts local control and privacy first.”
And it has been stated that pausing/blocking the auto-update does not break anything.

cogneatoToday at 4:14 PM
@johnjohn it doesn’t instantly break anything

cogneatoToday at 4:15 PM
local control is in reference to controlling smart devices locally. There are all sorts of excepetions there and completely dependent on what you choose to use

johnjohnToday at 4:17 PM
Yeah I understand the statement on the homepage is not something I can “use” for good effect, just wanted to push that angle.
I understand it doesn’t break something instantly.
Maybe it could be that when you pause the auto-update and then choose to un-pause and update 3 months later that could require some more logic that could cause something to break?
If not, then I don’t see why this could be an option like joining the beta channel. No sane normal-user would do that.

TinkererToday at 4:19 PM
You say that…
Spend more time here, you’ll soon reset what sane people do :stuck_out_tongue:

johnjohnToday at 4:20 PM
In good hope, but then you at least have a troubleshooting question to help.

TinkererToday at 4:20 PM
As I said, this is not the method if you want full control of it

LudeeusToday at 4:20 PM
If it is a option, there will be YT vids and “guides” that instruct you to disable it.
Then the user does it, have no idea why, other than “some guy said it”, and have no clue as to why stuff are not working/breaking

TinkererToday at 4:20 PM
And that is why this method was deprecated
Because too many guides written by uninformed folks helped others build broken systems

johnjohnToday at 4:22 PM
I think that is a weak argument looking at other solutions and where guides tell this and that.
But that is just my though!
I think it is enough for now about this topic. Thank you all for your replies!

3 Likes

On my install the file is actually /usr/src/supervisor/supervisor/misc/tasks.py

jep, on my installation too… seems like they changed the directory
thx, I edited the original post

I’m assuming that any changes I made as you suggested would be overwritten when I actually install a supervisor update. As such I’ll need to redo the changes after the update. Is this correct?

At least you tried.

The whole “if you let people have control of their own system they will break it and then ask for help” is starting get tedious.

So you have to completely forego all of the (claimed) benefits of a supervised version of HA just because you want to have the option to decide when you update the supervisor. :roll_eyes:

Even Microsoft and Apple aren’t that dictatorial. At least they ask you first and/or give you a bit of a warning before they do an update.

Maybe you should throw that out on Discord as an alternative option to the “silent middle of the night update that might break things” issue.

5 Likes

Thank you for your feedback.

I totally agree with you.

I’m done with this topic for now, at least on that channel with those people (nothing wrong but I have hit a wall there for now). But if someone else has a different channel to other people it would be nice if they could get that information to them.

I don’t understand how block these file, and what means “block”?

Don’t worry about it then.

Finally, the ability to disable auto-updates was added in Supervisor 2022.08.4

2 Likes

Where is this documented? How do I find the interface that allows m to do this? The automatic updates have made it incredibly difficult to simply keep the functionality that I spent so much time building, working as is. If it’s not broken, I don’t want it fixed.

Thanks

You know what’s amazing? There are multiple “flavors” of Home Assistant that don’t even have Supervisor, but you can’t stop updating it on the flavor that does - even though nothing but add-ons seem to require it - and you can disable all those other updates, so literally nothing needs a supervisor update.

But the response you’ll get all the time is: you have to update supervisor because then something else can break, blah blah… No, it won’t because if you’re turning off updates, nothing is going to change.

Don’t get me wrong, Home Assistant is great, but it’s a hobby solution for tinkerers. It is not suitable for commercial deployment or to deploy in an un-managed setting.

There is no interface. The option is only available in the cli

ha supervisor options --auto-update=false

Yes you can

2 Likes

the command completed successfully on my system. I’d like to ensure all updates are done manually as well. I’ll have to wait to see if supervisor stops updating - I have a supported configuration at this moment.
Thanks @CentralCommand

I’m talking via the UI. You know, an official/easy toggle. Read all the “sky is falling” messages about this in so many threads.

Changes of this nature - that change the way the system is intended to work - are extremely unlikely to be added to the UI. The understanding is that if you know what you are doing you can change it but for people who don’t know it needs to be relatively inaccessible. Like a child proof bottle.

2 Likes