Wheelhouse docs

Update check and restart#

You will end up knowing whether an app has a newer image, and able to restart it. Both of these are narrower than they sound, and the product says so rather than pretending otherwise.

Before you start#

  • The operator role and a licence.
  • The app installed and running.

Check for update#

Services → Apps → the app → Check for update.

It re-pulls the image — podman only downloads layers that changed — and compares the local image ID before and after. The answer is one of two things:

  • already current, or
  • a newer image is on the router but the running container still holds the old one — restart to pick it up.

A pull is not an upgrade. The running container keeps the image it started with until it is restarted. The page does not claim otherwise.

bash
R=https://<router>:8443
T=wh_...
curl -sk -X POST -H "Authorization: Bearer $T" -H 'Content-Type: application/json' \
  -d '{"name":"adguard"}' "$R/api/apps/update"

Restart#

Restart on the app's page. It is a two-commit bounce:

  1. Commit set container name <app> disable
  2. Commit the deletion of that node

That is the only restart the VyOS API can express — reset container is rejected and there is no restart operation. Both commits are audited.

Two behaviours follow from it and are worth knowing before you press the button:

  • A stopped app refuses with 409. There is nothing to bounce.
  • If the second commit fails, the app is down. The error says exactly that — the app is down — rather than "restart failed", because the difference matters at two in the morning.

Stop and start#

Stopping stages set container name <app> disable. Starting deletes that node. Both go through the Commit Bar like anything else, which means an app's running state is part of a revision: rolling back takes the apps with it.

Check it worked#

bash
show container

Apps → Installed shows declared beside running, which is the pair to look at: declared and not running is a container that failed to start, and its reason is in its logs.

bash
sudo podman logs adguard

Or the Logs tab on the app's detail page, which reads the same journal.

What is not here#

Undoing it#

A restart is not undoable; it happened. A stop is undone by starting, which deletes the disable node.

See also#


Checked against docs/apps.md · agent/apps.go · ui/src/pages/AppDetail.tsx

Updated 2026-09-02 apps containers updates