FYI: Docker v29 update breaking Brewblox components

If you have recently updated your system and are now seeing a ‘404 not found’ error on the brewblox UI page, follow these steps as discussed on the Brewblox discord:

  1. Run sudo systemctl edit docker.service to add an override file to the Docker service
  2. Above the line that reads “### Edits below this comment will be discarded”, paste the following lines:
[Service]
  Environment=DOCKER_MIN_API_VERSION=1.24
  1. Save the file (ctrl+x followed by enter if using the default nano editor)
  2. Restart docker service sudo systemctl restart docker.service

This should resolve the issue. If not, reboot the system running Brewblox software.

This issue was caused by an update to Docker that is having ripple effects across other major software as well. Once the underlying issue is resolved, I will add a post to this thread detailing how to undo this band-aid.

Thank you to @Elco for the assist on Discord.

3 Likes

Traefik released a fix last night. I have updated brewblox-ctl. It will now install traefik 3.6.1 instead of 2.10 and update the configuration.

Just run brewblox-ctl update and everything should work. You can remove the version pin. Let me know if you run into any issues. Discord is quickest.

I’m running Brewblox on a Pi 3B and after a brewblox-ctl update Traefik is still at 2.10 in the docker-compose.shared.yml file.

Changing to traefik:3.6.1 in docker-compose.shared.yml and a brewblox-ctl restart results in a working UI.

I think brewblox-ctl might not be updating to the latest version.


--extra-index-url=https://www.piwheels
.org/simple --index-strategy=unsafe-best-match
git+https://github.com/brewblox/brewblox
-ctl@edge

should force the update and the correct version of traefik.

While running that it would output that it was using the commit with the Traefic version update, the Jinja template in the venv site-packages still wasn’t updating.

Updated https://github.com/brewblox/brewblox-ctl (f0312d9)

I went looking through your tests code and ran a --force-reinstall:

uv pip install --force-reinstall git+https://github.com/brewblox/brewblox-ctl@edge

I did have the venv activated, but uv pip show brewblox_ctl was the same globally anyway.

This instead output:

- brewblox-ctl==1.0.0 (from git+https://github.com/brewblox/brewblox-ctl@1cb109c23a80335a5d5b0bafac11e2c48dc2ca16)
 + brewblox-ctl==1.0.0 (from git+https://github.com/brewblox/brewblox-ctl@f0312d9d47b519282c6904727addd54d07796d02)

and I confirmed by manually regenerated the docker-compose.shared.yml with

from brewblox_ctl import actions, click_helpers, const, migration, utils
actions.make_shared_compose()

and a brewblox-ctl update which updated uv and a bunch of other packages, so I guess I was stuck on an ancient brewblox-ctl.

Thanks for the help.

Ah part of the command was lost in my reply, good that you found the correct command yourself.

I meant to post:

uv pip install --upgrade --force-reinstall

--extra-index-url=https://www.piwheels
.org/simple --index-strategy=unsafe-best-match
git+https://github.com/brewblox/brewblox
-ctl@edge
1 Like