Files
op-packages/luci-app-podman

OpenWrt OpenWrt GitHub Release GitHub Downloads (all assets, all releases) GitHub Issues or Pull Requests

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 podman firewall 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
Overview Container List Container Info
Live Logs Image List Network Create
Logs Images Network OpenWrt

Requirements

  • OpenWrt 25.12 / 24.10
  • Dependencies:
    • podman
    • luci-base
    • rpcd
    • rpcd-mod-ucode
    • ucode-mod-socket / -struct / -uloop / -fs / -html / -uci
    • liblucihttp-ucode
    • coreutils-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.conf with /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

  1. Go to Podman → Overview
  2. Click "Check for Updates" in the System Maintenance section
  3. The system compares image digests without pulling (no bandwidth used until update)
  4. Select which containers to update
  5. 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: