All apps · 0 apps
port-light
Docker app from StepaniaH's Repository
Overview
Readme
View on GitHubUnraid template
port-light.xml installs a pinned release of the published stepaniah/port-light image. It uses bridge networking, exposes the Web UI on port 2100, and stores settings and history under /mnt/user/appdata/port-light.
Installation
Review the template, then load it through Docker → Add Container. For local template installation before catalog submission, follow the installation checks.
The default installation scans host listeners and Docker containers (PORT_LIGHT_SCANNERS=listen,docker). Compose files are not required. Check these mappings before applying:
| Setting | Container target | Host value | Access |
|---|---|---|---|
| WebUI | 2100/tcp |
An available host port; default 2100 |
TCP |
| Docker socket | /var/run/docker.sock |
/var/run/docker.sock |
Read-only mount |
| Host proc | /host/proc |
/proc |
Read-only |
| Appdata | /data |
/mnt/user/appdata/port-light, or another dedicated directory |
Read-write |
Keep bridge networking and privileged mode off. If host port 2100 is occupied, change only the host port; leave the container port at 2100. The WebUI shortcut follows the mapping.
The Docker socket grants Docker API access even with a read-only filesystem mount. See the socket proxy option to restrict API access. Appdata must be writable by the container and may contain credentials; keep backups private.
Optional Compose scanning
In Advanced View, set Compose stacks to a readable host directory containing Compose projects. Leave the container path as /compose and access as read-only. An empty host path is omitted from the container mounts.
Apply the container change, then enable Compose in Port-Light → Settings → Machines & scanning. For a new appdata directory, setting Enabled scanners to listen,docker,compose before installation also enables it. Saved scanner choices in Port-Light take precedence over this environment default.
To stop scanning Compose, disable it in Port-Light Settings before removing the mount. Do not enable a source that the installation cannot read: unavailable enabled sources suspend free-port suggestions and reservations.
Optional HTTP Basic Auth
Authentication is off by default. Use the default installation only on a trusted network, or put it behind an authenticated proxy. Public access requires HTTPS and access control.
To enable Basic Auth, edit the container and use Add another Path, Port, Variable, Label or Device to add both entries before applying:
| Config Type | Name / Key | Value | Password Mask |
|---|---|---|---|
| Variable | AUTH_USER |
Your non-empty username | No |
| Variable | AUTH_PASSWORD |
Your non-empty password | Yes |
Do not save credentials in the public XML template. Unraid passes empty variable entries to the container; an empty username or password causes Port-Light to return 503 authentication_misconfigured. This also happens when only one variable is present. The default template therefore omits both entries.
To disable Basic Auth, remove both variable entries and apply the change. Clearing their values is not sufficient. Leave working credentials intact when upgrading. HIDDEN_UNLOCK_PASSWORD controls hidden-port access and AGENT_TOKEN controls allocation requests; neither replaces Basic Auth for the dashboard.
Upgrades and existing installations
The template pins a v* image tag for reproducibility. Unraid updates the image referenced in the container's saved configuration; Update or Force Update does not select a newer version tag. Changes to the public template do not migrate an existing installation's paths, variables, or image tag. See Unraid's saved template documentation and container update implementation.
For an image upgrade:
- Read the target release's notes and record the current Repository value and container settings privately.
- Stop Port-Light and back up its entire appdata directory, including SQLite files and CLI state. Keep the original host path mapped to
/data. - Edit Repository to the desired published tag, such as
stepaniah/port-light:vX.Y.Zwith an actual release number, and apply. Preserve the port mapping, mounts, and any configured credentials. - Open the WebUI, check the version, run Doctor, and verify settings, manual entries, reservations, and history. Container health alone only confirms HTTP availability;
/api/healthshould also reportoccupancy.ready: trueafter scanning.
If rollback is needed, stop the container, restore the pre-upgrade appdata backup, and restore its matching image tag. Do not assume an older version can read data written by a newer version.
For installations created from an older template, review the existing configuration instead of overwriting its saved XML:
- If Basic Auth is not intended, remove both empty
AUTH_USERandAUTH_PASSWORDentries. If it is intended, keep both entries with non-empty values. - If Compose is unused, select only Listen and Docker in Port-Light Settings, set
PORT_LIGHT_SCANNERS=listen,dockerin the container, and remove an unused Compose mount. If Compose is used, keep its mount and explicitly enable all required sources in Port-Light Settings. - Replace the old
THEMEvariable withTHEME_MODE(system,dark, orlight) and, for a named palette,THEME_PALETTE. Appearance can also be set in Port-Light Settings.
Template-only corrections can be applied to the existing image. They do not require publishing or rebuilding it.
Verification
Follow installation and upgrade checks on an Unraid host. Local automated tests verify the template's application configuration; they do not replace Docker Manager installation and upgrade checks.
Community Applications submission
The repository contains the application template, root ca_profile.xml, MIT license, icon, project URL, and issue tracker URL required for review. It is not yet listed in Community Applications.
After these files are available on the public main branch:
- Sign in at the Community Apps submission portal.
- Select
https://github.com/StepaniaH/port-lightas the repository. - Run Validate and Scan. Check that
deploy/unraid/port-light.xmlis the application entry andca_profile.xmlsupplies the repository profile. - Review the preview, complete the installation and upgrade checks on an Unraid host, and submit it for review.
The portal’s submission guide, template format, and repository profile format describe the current requirements. A local XML check cannot verify an Unraid installation or guarantee catalog acceptance.
Requirements
Categories
Download Statistics
Related apps
Explore more like this
Explore allDetails
stepaniah/port-light:v0.8.5Runtime arguments
- Web UI
http://[IP]:[PORT:2100]/- Network
bridge- Shell
sh- Privileged
- false
Template configuration
Port-Light web UI
- Target
- 2100
- Default
- 2100
- Value
- 2100
Optional folder of Compose projects (read-only). Leave empty if unused. After mapping a folder, enable Compose in Port-Light Settings - Machines & scanning.
- Target
- /compose
Docker API socket; a read-only mount does not restrict Docker API permissions
- Target
- /var/run/docker.sock
- Default
- /var/run/docker.sock
- Value
- /var/run/docker.sock
Host /proc for listen detection (read-only)
- Target
- /host/proc
- Default
- /proc
- Value
- /proc
Settings, reservations, manual entries, CLI credentials, and SQLite history
- Target
- /data
- Default
- /mnt/user/appdata/port-light
- Value
- /mnt/user/appdata/port-light
Default sources: listen,docker. Add compose only after mapping Compose stacks. Saved scanner choices in Port-Light Settings take precedence.
- Target
- PORT_LIGHT_SCANNERS
- Default
- listen,docker
- Value
- listen,docker
Optional password to reveal hidden ports in the API
Optional token required for allocation and recovery requests
In-container compose scan path
- Default
- /compose
- Value
- /compose
Hostname for guessed http(s) links (optional)
system, dark, or light
- Default
- system
- Value
- system
Optional named palette (gruvbox, catppuccin, nord, …); empty uses the built-in colors
auto, en, fr, de, es, zh-CN, zh-TW, or ja
- Default
- auto
- Value
- auto