Menu="Tasks:66" Type="xmenu" Tabs="false" Title="Podman" Icon="podman" --- .js module — so this file has no * business logic of its own and does not talk to PodmanClient directly. * See docs/ARCHITECTURE.md section 18 for the overall WebUI design and * webui/mockups/prototype.html for the approved visual reference this * page's markup mirrors (same structure, same CSS classes, real data * instead of static samples). */ /** * Cache-busts every static asset with its own on-disk mtime. Unraid's * webserver sends no explicit no-cache headers for /plugins/ static * files, so without this, browsers can keep serving a stale app.js/ * podman.css for a long time after a plugin update. * * Deliberately a hardcoded absolute path, NOT __DIR__ — Unraid's own * PageBuilder runs every .page file's PHP through eval() (see * webGui/include/DefaultPageLayout/evalContent.php: "eval($evalContent)"), * and __DIR__/__FILE__ inside eval()'d code resolve to the eval() CALL * SITE (that file's own directory), not to Podman.page's real location — * a standard PHP eval() gotcha. Confirmed live: this made * podman_asset_version() return '0' for every single asset, always, * completely independent of any browser or PHP-FPM caching (ruled both * out first: neither a hard-reload nor a php-fpm restart changed the * result) — the version query string was never actually cache-busting * anything all session; every "hard refresh fixed it" moment was the * browser's own Ctrl+Shift+R bypass, not this mechanism. The rest of * this codebase already hardcodes this same install path elsewhere * (e.g. include/Config.php's $bootDir, plugin/podman.plg's event hook * paths) — Unraid plugins always install to /usr/local/emhttp/plugins/ * , so this isn't a new class of fragility. */ function podman_asset_version(string $relPath): string { $full = '/usr/local/emhttp/plugins/podman' . $relPath; return is_file($full) ? (string) filemtime($full) : '0'; } ?>

Podman

Connecting…
Running
Stopped
Pods
Images
Volumes
Networks

Resource Usage

Live CPU, memory, swap, and storage from the Podman host.

Autostart Queue

/boot/config/plugins/podman/autostart
#ContainerDelayLast Result
Status Name Image CPU/Mem Ports Uptime
RepositoryTagImage IDSizeCreatedUsed By
NameDriverMountpointUsed By
App data mapped from Unraid shares (e.g. /mnt/user/appdata/…) is managed as bind mounts per-container and does not appear here.
NameDriverSubnetGatewayContainers

Live Terminal

Pick a running container and click "Open Terminal" — the same live, fully interactive terminal Unraid's own Docker "Console" button opens (arrow-key history, tab completion, vim, etc. all work).

Changes to storage/enabled/timeout need rc.podman restart to take effect.

Podman Service

Start, stop, restart, or check the podman.sock backend — no terminal needed.
Checking…
Stop/Restart first stop all running containers (each gets its own configured grace period) — not just the API service.

Storage

Where podman keeps images, containers and volumes on disk.
Cache pool or dedicated disk — never a path under /mnt/user (FUSE).
Formats an unused disk with XFS and mounts it, for a single-disk system with no cache pool set up yet.
GB
Overlay filesystem image size. Only applies the first time podman initializes storage at this path.

Autostart & Lifecycle

What runs when the array starts, and how containers shut down.
seconds
Grace period before a stop/restart escalates to SIGKILL.
#Container
Saved immediately on add/reorder/remove — no separate save step.

Installed Packages

Versions currently installed on this system.
' . "\n"; } ?>