Desk Apps
The Monitor’s web panel is a desk with
apps in windows. Besides its own apps, you can install third-party apps from .fsba packages. These are different from
Monitor Apps, which deploy Docker Compose
services on the server.
An installed app runs in a sandboxed frame of the panel. It has no network
access and cannot use the Monitor’s API. It reaches the desk only through what
its permissions allow: its window, notifications, and storage of its own. An
app of the wasm kind also has a backend that the Monitor runs, which can read
the server’s status, run programs, or run scripts as root when its
permissions allow. Before anything runs as root the desk shows its own dialog,
naming the app and what it says it does, and asks for sudo’s password; the
password goes to the Monitor with that request, never to the app.
Install an app
Section titled “Install an app”The App Store lists the desk apps the Monitor offers, those ServerBox signed marked ServerBox and others Unknown publisher. Install shows what the app asks for and installs and approves it with your password.
A package from elsewhere:
- Open Settings → Apps in the panel.
- Under Installed, select Install… and choose the
.fsbapackage. The Monitor checks the package and refuses it when the check fails, for example a manifest with an unknown field or an entry outside the package. - The app is listed as Waiting. Select Approve, read what it asks for, and enter your password.
After approval the app appears in All Apps. Other open desks see it the next time they start.
Every new package waits for approval again, including a newer version of an approved app, even when it asks for the same permissions. The row shows the version and the first characters of the package’s SHA-256, so you can compare it with what the publisher lists.
Permissions
Section titled “Permissions”| Permission | Allows |
|---|---|
notifications |
Showing notifications on the desk |
background |
Running while its window is hidden |
status |
wasm only: reading the server’s status |
process |
wasm only: running programs as the Monitor’s system account |
root |
wasm only: running scripts as root, each time after you confirm in the desk’s dialog with sudo’s password (it can be remembered for 15 minutes) |
What a backend may do is bounded by the permissions the app was approved with
and by the Monitor’s transport rule: process and root need HTTPS or a
caller on the same host, as the rest of the Monitor does. They reach what the
system account the Monitor runs as can reach; see
Access.
An approved app can read whatever its permissions allow. The sandbox blocks its network requests, but it cannot stop an app from sending what it has read elsewhere by navigating its frame. Install apps only from publishers you trust.
Use and remove an app
Section titled “Use and remove an app”Each app has a page under Settings → Apps → All apps: whether it is in the
dock, whether it keeps running while hidden (when it has the background
permission), and the permissions it was approved with.
Remove under Installed removes the app, together with what was stored in it.
Build an app
Section titled “Build an app”See Developing Desk Apps.