LuCI App Podman
Modern and feature rich LuCI web interface for managing Podman on OpenWrt. Some ideas which may come in one of the next version(s) can you find in the todo's file. Also feel free to open a ticket or send me a mail if you have suggestions, ideas or problems 🙂
Navigation
Features
- Container Management: Start, stop, restart, create, remove containers
- Live Streaming: Real-time logs, stats, and process list streamed directly via a dedicated ucode controller
- Container Auto-Update: Check for image updates and recreate containers with latest images (see Auto-Update)
- Auto-start Support: Automatic init script generation for containers with restart policies
- Image Management: Pull, remove, inspect images with streaming progress
- Volume Management: Create, delete, export/import volumes with tar backups
- Network Management: Bridge, macvlan, ipvlan with VLAN support and optional OpenWrt integration (auto-creates bridge devices, network interfaces, dnsmasq exclusion, and shared
podmanfirewall zone with DNS access rules) - Pod Management: Create pods with shared namespaces, lifecycle actions (start/stop/restart/pause/unpause), and add containers to existing pods directly from the create form
- Secret Management: Encrypted storage for sensitive data
- System Overview: Resource usage, system-wide cleanup
- Multilingual: de, es, fr, nl, ru, zh_Hans, zh_Hant
Screenshots
| Overview | Container List | Container Info |
|---|---|---|
![]() |
![]() |
![]() |
| Live Logs | Image List | Network Create |
|---|---|---|
![]() |
![]() |
![]() |
Requirements
- OpenWrt 25.12 / 24.10
- Dependencies:
podmanluci-baserpcdrpcd-mod-ucodeucode-mod-socket / -struct / -uloop / -fs / -html / -uciliblucihttp-ucodecoreutils-timeout
- Sufficient storage for images/containers
Installation
From Package Feed
You can setup this package feed to install and update it with apk/opkg:
https://github.com/Zerogiven-OpenWRT-Packages/package-feed
From Package
OpenWrt 25.12 (apk):
wget https://github.com/Zerogiven-OpenWRT-Packages/luci-app-podman/releases/download/v2.3.4/luci-app-podman_2.3.4-r1_all.apk
apk update && apk add --allow-untrusted luci-app-podman_2.3.4-r1_all.apk
OpenWrt 24.10 (opkg):
wget https://github.com/Zerogiven-OpenWRT-Packages/luci-app-podman/releases/download/v2.3.4/luci-app-podman_2.3.4-r1_all.ipk
opkg update && opkg install luci-app-podman_2.3.4-r1_all.ipk
From Source
git clone https://github.com/Zerogiven-OpenWRT-Packages/luci-app-podman.git package/luci-app-podman
make menuconfig # Navigate to: LuCI → Applications → luci-app-podman,Utilities → podman
make package/luci-app-podman/compile V=s
Usage
Access via Podman in LuCI, or directly at:
http://your-router-ip/cgi-bin/luci/admin/podman
If encountering socket errors:
/etc/init.d/podman start
/etc/init.d/podman enable
Container Auto-Start
You can generate a startup script which respects the restart policy set in the container.
Tip
If you want save startup scripts during an upgrade you have to config your
/etc/sysupgrade.confwith/etc/init.d/podman-container-*.echo "/etc/init.d/podman-container-*" >> /etc/sysupgrade.conf
Container Auto-Update
The auto-update feature checks for newer container images and recreates containers with the updated images while preserving all configuration.
Setup
To enable auto-update for a container, add the label when creating it:
podman run -d --name mycontainer \
--label io.containers.autoupdate=registry \
nginx:latest
Or add via the LuCI interface in the container creation form under "Labels".
How to Update
- Go to Podman → Overview
- Click "Check for Updates" in the System Maintenance section
- The system compares image digests without pulling (no bandwidth used until update)
- Select which containers to update
- Click "Update Selected" to pull new images and recreate containers
Container names and init scripts are preserved - no manual reconfiguration needed.
Configuration
The app stores its settings in /etc/config/luci-podman:
| Option | Default | Description |
|---|---|---|
init_start_priority |
99 |
procd start priority for container init scripts (max 99: procd sorts rc.d symlinks as strings, so 100+ breaks ordering) |
socket_path |
/run/podman/podman.sock |
Path to the Podman API socket |
Credits
Inspired by:
- openwrt-podman - Podman on OpenWrt
- openwrt/luci-app-dockerman - Docker LuCI design patterns
- lisaac/luci-app-dockerman - Docker LuCI design patterns
- OpenWrt Podman Guide - Official documentation





