← Back to Skills Marketplace
zaixi

NginxWebUI Manager

by liyj · GitHub ↗ · v1.2.0 · MIT-0
cross-platform ⚠ suspicious
26
Downloads
0
Stars
0
Active Installs
4
Versions
Install in OpenClaw
/install nginxwebui-manager
Description
Manage NginxWebUI reverse proxy rules via its REST API. List/create/delete servers and locations, reload nginx, manage upstreams. All calls through docker ex...
README (SKILL.md)

NginxWebUI Manager

Manage NginxWebUI via its built-in REST API. All API calls are made via docker exec into the running nginxwebui container (requires Docker socket access).

How it works

  • Authenticates via POST /token/getToken with username/password
  • Stores token in NGINXWEBUI_TOKEN env var (auto-refreshed via --mode login)
  • All subsequent calls use the token in the token header

Usage

Authentication

# First time — get token and save to .env
python3 {{SKILL_DIR}}/scripts/manage.py --mode login

Nginx operations

# Check nginx status
python3 {{SKILL_DIR}}/scripts/manage.py --mode status

# Validate config
python3 {{SKILL_DIR}}/scripts/manage.py --mode check

# Reload nginx
python3 {{SKILL_DIR}}/scripts/manage.py --mode reload

Server (reverse proxy) management

# List all servers
python3 {{SKILL_DIR}}/scripts/manage.py --mode list-servers

# Add a new reverse proxy
python3 {{SKILL_DIR}}/scripts/manage.py --mode add-server \
  --name "app.example.com" --listen 443 --ssl \
  --pem /path/to/cert.pem --key /path/to/key.pem \
  --descr "My app"

# Delete a server by ID prefix
python3 {{SKILL_DIR}}/scripts/manage.py --mode delete-server --id 12345abc

Location (reverse proxy rule) management

# List locations for a server
python3 {{SKILL_DIR}}/scripts/manage.py --mode list-locations --server-id 12345abc

# Add a location (path → target)
python3 {{SKILL_DIR}}/scripts/manage.py --mode add-location \
  --server-id 12345abc \
  --path /api/ \
  --target http://10.0.0.5:3000 \
  --descr "API backend"

# Add with websocket support
python3 {{SKILL_DIR}}/scripts/manage.py --mode add-location \
  --server-id 12345abc \
  --path /ws \
  --target http://10.0.0.5:3000 \
  --websocket

# Delete a location
python3 {{SKILL_DIR}}/scripts/manage.py --mode delete-location --id 67890def

Upstream (load balancer) management

# List upstreams
python3 {{SKILL_DIR}}/scripts/manage.py --mode list-upstreams

Environment variables

  • NGINXWEBUI_USER — required
  • NGINXWEBUI_PASS — required
  • NGINXWEBUI_TOKEN — auto-managed, stored in .env

Requirements

  • Docker socket accessible from the calling environment
  • Running nginxwebui container (name: nginxwebui)
  • Valid NginxWebUI admin credentials with API access enabled
Usage Guidance
Review this carefully before installing. It is not showing clear malicious behavior, but it is an infrastructure administration skill: only use it in a trusted workspace, with explicit approval for destructive operations, restricted Docker access, and a least-privileged or revocable NginxWebUI credential.
Capability Assessment
Purpose & Capability
The purpose and implementation are coherent, but the capability is high-impact: it can create/delete reverse proxy servers and locations and reload nginx, which can affect live traffic and availability.
Instruction Scope
The documented workflows include destructive and mutating operations without visible confirmation, rollback, allow-listing, or dry-run safeguards.
Install Mechanism
There is no install spec, but an included Python helper is intended to be run directly. Runtime needs Docker access and NginxWebUI credentials even though the registry requirement fields do not declare required binaries, env vars, or a primary credential.
Credentials
Docker socket access and NginxWebUI admin credentials are proportionate to this admin task, but they are broad privileges that should only be granted in a trusted, isolated environment.
Persistence & Privilege
The helper reads from and writes to a hard-coded workspace .env file and persists the NginxWebUI token there, leaving reusable authorization material outside a skill-scoped secret store.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install nginxwebui-manager
  3. After installation, invoke the skill by name or use /nginxwebui-manager
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.2.0
Auto-retry login on token expiry (401); unified auth check in main(); pretty-print for get-server; use urllib.parse consistently; remove redundant ensure_token() per function
v1.1.0
reload: validate config first, abort on failure to avoid breaking nginx
v1.0.1
Remove hardcoded default credentials; require NGINXWEBUI_USER / NGINXWEBUI_PASS from env
v1.0.0
Initial release: manage reverse proxy servers/locations, nginx reload, upstreams
Metadata
Slug nginxwebui-manager
Version 1.2.0
License MIT-0
All-time Installs 0
Active Installs 0
Total Versions 4
Frequently Asked Questions

What is NginxWebUI Manager?

Manage NginxWebUI reverse proxy rules via its REST API. List/create/delete servers and locations, reload nginx, manage upstreams. All calls through docker ex... It is an AI Agent Skill for Claude Code / OpenClaw, with 26 downloads so far.

How do I install NginxWebUI Manager?

Run "/install nginxwebui-manager" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is NginxWebUI Manager free?

Yes, NginxWebUI Manager is completely free, licensed under MIT-0. You can download, install and use it at no cost.

Which platforms does NginxWebUI Manager support?

NginxWebUI Manager is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created NginxWebUI Manager?

It is built and maintained by liyj (@zaixi); the current version is v1.2.0.

💬 Comments