Skip to content

Respect user-overridden Core image for install and update - #7092

Draft
agners wants to merge 1 commit into
mainfrom
override-image-install-update
Draft

Respect user-overridden Core image for install and update#7092
agners wants to merge 1 commit into
mainfrom
override-image-install-update

Conversation

@agners

@agners agners commented Jul 27, 2026

Copy link
Copy Markdown
Member

Proposed change

The override_image setting (set when a user configures a custom Core image via /core/options) was only honored by load(). The landingpage install, the initial Core install and Core updates always passed image=self.sys_updater.image_homeassistant to the Docker layer and wrote that image back to the Home Assistant config afterwards, discarding the user override on the next install or update.

This adds a HomeAssistant.install_image property that returns the user-overridden image when override_image is set, and the image from the update information otherwise. The landingpage install, Core install and Core update paths now use it for the image pull and persist that same image afterwards, so the override survives installs and updates. Version resolution is unchanged and still comes from the update information.

Behavior note: with an override set, a fresh install now pulls <image>:landingpage from the overridden image as well (previously the official landingpage image was used). An overridden image therefore needs a landingpage tag on the registry or a matching preinstalled local image for the fresh install flow. Since override_image is an explicit opt-in, the override is applied consistently to all image pulls.

Type of change

  • Dependency upgrade
  • Bugfix (non-breaking change which fixes an issue)
  • New feature (which adds functionality to the supervisor)
  • Breaking change (fix/feature causing existing functionality to break)
  • Code quality improvements to existing code or addition of tests

Additional information

  • This PR fixes or closes issue: fixes #
  • This PR is related to issue:
  • Link to documentation pull request:
  • Link to cli pull request:
  • Link to client library pull request:

Checklist

  • The code change is tested and works locally.
  • Local tests pass. Your PR cannot be merged unless tests pass
  • There is no commented out code in this PR.
  • I have followed the development checklist
  • The code has been formatted using Ruff (ruff format supervisor tests)
  • Tests have been added to verify that the new code works.

If API endpoints or add-on configuration are added/changed:

The override_image setting was only honored by load(): the landingpage
install, the initial Core install and Core updates always pulled the
image from the update information and wrote it back to the Home
Assistant config afterwards, discarding the user override on the next
install or update.

Add a HomeAssistant.install_image property that returns the
user-overridden image if set and the image from the update information
otherwise. Use it in the landingpage install, Core install and Core
update paths, and persist that same image afterwards so the override
is kept. Version resolution is unchanged. With an override set, a
fresh install now pulls <image>:landingpage from the overridden image
as well.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@agners

agners commented Jul 27, 2026

Copy link
Copy Markdown
Member Author

The current override_image does not seem very useful to me, but then this is hacky too since it forces an alternative image source to create releases in lockstep with our release cadence 🤷 .

@agners

agners commented Jul 28, 2026

Copy link
Copy Markdown
Member Author

This essentially makes it easier to run your own fork. You'll have to make sure the release is in lockstep with Core (rather easy if you track beta/stable).

We probably want to know if a user runs a Core fork. So yes, let's do this, but mark the system unsupported (which we should have probably done anyways if it is set even without the updateable wrinkle).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant