Skip to content

Upgrading from 0.2.x

Erik Pauli edited this page Oct 18, 2026 · 1 revision

The version after 0.2.1 brings the Start, Status and History app and the E65/E80 GbS support. Until it is released, that is the nightly image; see Which version.

Everything you set up is kept, as long as you keep the same data volume: integrations added in the app and the recipes on the grinder. Back up the volume first, as described under Update an installation.

Upgrade with Docker

  1. Note how you started the container, including its environment variables. docker inspect gbs-anywhere shows them.

  2. Get the new image and start the container again with the same command and the same volume. If your command names a version, such as :0.2, use the new one instead. Until the next release, that is :nightly; an image name without a tag still gives 0.2.1.

    docker pull ghcr.io/skamba/gbs-anywhere:nightly
    docker stop gbs-anywhere
    docker rm gbs-anywhere
    docker run -d --name gbs-anywhere --restart unless-stopped -p 80:80 -v gbs-anywhere:/data ghcr.io/skamba/gbs-anywhere:nightly

    Add your -e … options before the image name and your flags after it, as before.

  3. Reload the app on your phone. The Start, Status and History tabs replace the single page; the green + for integrations is now under Status → Machine integrations. See the App guide.

With Compose, change the tag in the image: line of compose.yaml the same way, then run sudo docker compose pull and sudo docker compose up -d. On a NAS, change the image tag in the project and recreate it with the existing volume.

Upgrade from source

Run git pull and cargo build --release, then start gbs-anywhere with the same --config file as before.

After the upgrade

Nothing here is required; your setup keeps working as before.

  • Integrations set with flags or environment variables, such as LM_USERNAME and LM_PASSWORD, show "From the start settings". To change one in the app, open its card's ⋮ menu, tap Edit and confirm Move into the app. Its settings, password included, are taken over, so there is nothing to type again. This needs a settings file: the Docker image has one in /data; from source, start gbs-anywhere with --config.

    From the next start on, its flags or variables are ignored for as long as the integration is in the app. The log says so at each start, with a warning when they differ from the app's. Remove them from your docker run command or environment file whenever it suits you. If you delete the integration in the app later, they start it again at the next start, if they are still set.

  • The shot window now shows in the app as Time to pull the shot, under Status → Settings. A value set with --brew-timeout-s stays until you pick another one in the app.

  • The history starts with the first shot after the upgrade.

  • The update check asks GitHub once a day for the latest release; see Turn the update check on or off. Turn it off under Status → Settings, or with -e UPDATE_CHECK=off.

Go back to 0.2.1

0.2.1 supports the E64 WS only; it cannot pair with an E65/E80 GbS. Start the container as above with the tag :0.2.1 and the same volume. Two things to know:

  • 0.2.1 rewrites the settings file when it starts. That drops the settings changed in the app and the mark that an integration was moved into the app.
  • If the old flags or variables of such an integration are still set, it then runs twice: on 0.2.1, and again after the next upgrade. Remove the flags or variables, or delete the integration in the app.

Clone this wiki locally