Monitor running transports from your phone.
BARRY has a phone-sized companion page at /m that answers two questions at a glance: what is running right now, and has anything broken. Add it to your phone's home screen and it behaves like an app — including push notifications when a transport run fails.
It is intentionally small. It is not a second admin UI: you cannot create or edit transports, connections or settings there. That keeps it fast, safe and clear about what it is for — knowing, at 10 pm, whether you need to open a laptop.
https://<your-barry-host>/m in the browser.That is already enough to see everything. To get notifications, install it to the home screen (next section) — on iPhone that step is mandatory.
Tip for admins: the exact URL is shown under Settings → Mobile app, ready to share with your team.
Installing turns the page into a standalone app (its own icon, no browser chrome) and is what unlocks push notifications on iOS.
iPhone / iPad (Safari, iOS 16.4 or newer):
/m in Safari (not Chrome).Step 4 matters: iOS only allows web push in the installed app, never in a normal Safari tab. If the "Enable notifications" button seems to do nothing, you are almost certainly still in the browser tab.
Android (Chrome): open /m, then use the browser menu → Install app / Add to Home screen. Notifications also work in a plain browser tab on Android.
Open the app and tap Enable notifications, then allow the permission prompt. That's it — this device is now registered.
You will get a push whenever a transport run fails, is cancelled, or is stopped. Successful runs never notify you. Tapping the notification opens the app. Repeated failures of the same transport replace each other rather than piling up.
To stop them, tap Turn notifications off in the app.
Notifications are per device: registering your phone does not register your tablet. Everyone who enables notifications receives every failure.
If the button is missing or says push is disabled, an administrator has not enabled the feature yet (see For administrators below).
Importantly, the banner and counters always show the true state. They ignore any filter you set, so you can never accidentally filter your way to a green "All clear" while something is on fire.
When a lot goes wrong at once, the list gets long. Tap the funnel icon to open the filter sheet:
TIMEOUT, AUTH, CONNECTION, SCHEMA.Your selection is remembered on that device, even after closing the app.
Repeated failures of the same transport with the same cause are collapsed into one card with a counter (×7); tap it to expand the individual runs. A transport failing over and over is one line, not forty.
Whenever a filter is active you will see a badge on the funnel and a line such as 12 of 137 · 1 h · 2 filters, plus a Reset button — so a short list is never mistaken for a quiet system.
Shows every on-prem client, problems first (offline before online). Tap a client to expand it:
This tab matters more than it looks. If a client is offline, its runs simply sit in Queued — they do not fail immediately, so they produce no error and no notification until the server eventually times them out. An offline client is a silent outage, and this is where you see it. The tab therefore shows a red count of offline clients even while you are on the Runs tab.
For an offline client, the vitals shown are from the last heartbeat before it went away — they are labelled as such, so you don't read stale numbers as current.
Enable the feature under Settings → Mobile app:
/m page still opens but nobody can subscribe and nothing is delivered.)Push:VapidPublicKey and Push:VapidPrivateKey (as environment variables: Push__VapidPublicKey / Push__VapidPrivateKey), then restart the server. Keep the private key secret.Push is delivered only when the switch is on and both keys are set.
Two things worth knowing:
localhost). Browsers refuse service workers, and therefore push, on plain http:// — so a phone pointed at a dev machine over the LAN will not be able to install or subscribe.You are currently viewing a placeholder content from Vimeo. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from YouTube. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou need to load content from reCAPTCHA to submit the form. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from Vimeo. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from YouTube. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from Bunny Stream. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More InformationYou are currently viewing a placeholder content from Wistia. To access the actual content, click the button below. Please note that doing so will share data with third-party providers.
More Information