nginx-ui-swag

nginx-ui-swag

Docker app from Nginx UI's Repository

Overview

Official Nginx UI controller template for an existing LinuxServer SWAG container. The bundled Nginx instance is disabled. This template requires the Docker socket and a shared SWAG /config mount; review the security warning in the README before installing.

Nginx UI for Unraid

This directory is the source for the official Nginx UI Community Applications repository. Publish its contents at nginxui/unraid before submitting that public repository to Community Applications.

Templates

Nginx UI

The standard template runs the bundled Nginx instance. It persists the Nginx UI database and settings, Nginx configuration, and web root separately. Container updates are handled by Unraid, so the template deliberately disables Nginx UI's Docker-socket-dependent self-updater and does not mount the Docker socket.

Open the WebUI at http://<unraid-address>:8080 after installation. The first startup secret is stored in /mnt/user/appdata/nginx-ui/.install_secret by default.

Nginx UI (SWAG)

The SWAG template runs Nginx UI as a controller for an existing LinuxServer SWAG container. It disables the bundled Nginx and exposes the Nginx UI backend on port 9000.

Before installation:

  1. Keep the SWAG container name as swag, or change the template's SWAG container name value to the actual name.
  2. Set SWAG appdata to the same host directory that SWAG mounts at /config. The default is /mnt/user/appdata/swag.
  3. Keep the container target exactly /config. Nginx UI and SWAG must see the configuration and log files at identical paths.

The SWAG template mounts /var/run/docker.sock. Anyone who can control Nginx UI through that socket may gain root-equivalent control of the Unraid host. Restrict Nginx UI access, use a strong initial secret, and do not expose port 9000 directly to the internet.

The Nginx UI image does not use LinuxServer's PUID or PGID variables. They are intentionally absent from both templates; adding them does not change the container user and can reintroduce invalid bundled-Nginx assumptions.

Validation

Install xmllint, then run:

bash tests/validate.sh

After publishing the repository, also run Validate and Scan in the Community Applications submission flow.

Install nginx-ui-swag on Unraid in a few clicks.

Find nginx-ui-swag in Community Apps on your Unraid server, review the template, and click Install. Unraid handles the Docker app or plugin setup from the published template.

Open the Apps tab on your Unraid server Search Community Apps for nginx-ui-swag Review the template variables and paths Click Install

Requirements

An existing LinuxServer SWAG container. The Docker socket grants root-equivalent host control. The SWAG appdata directory must be mounted at /config in both containers.

Categories

Download Statistics

618,000
Total Downloads
41,774
This Month
48,577
Avg / Month

Total Downloads Over Time

Loading chart...

Related apps

Explore more like this

Explore all

Details

Repository
uozi/nginx-ui:latest
Last Updated2026-06-24
First Seen2024-12-14

Runtime arguments

Web UI
http://[IP]:[PORT:9000]
Network
bridge
Shell
bash
Privileged
false

Template configuration

WebUI portPorttcp

Direct Nginx UI backend port. Do not expose it to the internet.

Target
9000
Default
9000
Nginx UI appdataPathrw

Nginx UI database, settings, and startup secret.

Target
/etc/nginx-ui
Default
/mnt/user/appdata/nginx-ui-swag
SWAG appdataPathrw

Use the same host directory SWAG mounts at /config. The container target must remain /config.

Target
/config
Default
/mnt/user/appdata/swag
Docker socketPathrw

Required to test, reload, and restart Nginx in SWAG. Grants root-equivalent host control.

Target
/var/run/docker.sock
Default
/var/run/docker.sock
TimezoneVariable

IANA timezone, for example Europe/Berlin.

Target
TZ
Default
Etc/UTC
Disable bundled NginxVariable

Run Nginx UI only and leave the bundled Nginx service idle.

Target
NGINX_UI_DISABLE_BUNDLED_NGINX
Default
true
SWAG container nameVariable

Exact Docker container name of the existing SWAG instance.

Target
NGINX_UI_NGINX_CONTAINER_NAME
Default
swag
Nginx configuration directoryVariable

SWAG Nginx configuration directory in the shared mount.

Target
NGINX_UI_NGINX_CONFIG_DIR
Default
/config/nginx
Nginx configuration fileVariable

SWAG main Nginx configuration file in the shared mount.

Target
NGINX_UI_NGINX_CONFIG_PATH
Default
/config/nginx/nginx.conf
Nginx access logVariable

SWAG access log in the shared mount.

Target
NGINX_UI_NGINX_ACCESS_LOG_PATH
Default
/config/log/nginx/access.log
Nginx error logVariable

SWAG error log in the shared mount.

Target
NGINX_UI_NGINX_ERROR_LOG_PATH
Default
/config/log/nginx/error.log
Nginx log allowlistVariable

Directory Nginx UI may read for log analysis.

Target
NGINX_UI_NGINX_LOG_DIR_WHITE_LIST
Default
/config/log/nginx