Awesome-openclaw-skills npm-proxy
Manage Nginx Proxy Manager (NPM) hosts, certificates, and access lists. Use when the user wants to add a new domain, point a domain to a server/port, enable SSL, or check the status of proxy hosts.
install
source · Clone the upstream repo
git clone https://github.com/sundial-org/awesome-openclaw-skills
Claude Code · Install into ~/.claude/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.claude/skills && cp -r "$T/skills/npm-proxy" ~/.claude/skills/sundial-org-awesome-openclaw-skills-npm-proxy && rm -rf "$T"
OpenClaw · Install into ~/.openclaw/skills/
T=$(mktemp -d) && git clone --depth=1 https://github.com/sundial-org/awesome-openclaw-skills "$T" && mkdir -p ~/.openclaw/skills && cp -r "$T/skills/npm-proxy" ~/.openclaw/skills/sundial-org-awesome-openclaw-skills-npm-proxy && rm -rf "$T"
manifest:
skills/npm-proxy/SKILL.mdsource content
NPM Proxy Skill
Manage Nginx Proxy Manager (NPM) via its REST API.
Configuration
Set the following environment variables:
: The URL of your NPM instance (e.g.,NPM_URL
)https://npm.example.com
: Your NPM admin emailNPM_EMAIL
: Your NPM admin passwordNPM_PASSWORD
Usage
# List all proxy hosts python scripts/npm_client.py hosts # Get details for a specific host python scripts/npm_client.py host <host_id> # Enable/Disable a host python scripts/npm_client.py enable <host_id> python scripts/npm_client.py disable <host_id> # Delete a host python scripts/npm_client.py delete <host_id> # List certificates python scripts/npm_client.py certs
Workflows
Adding a new Proxy Host
To add a new host, use
curl directly (the script is currently minimal).
Example payload for POST /api/nginx/proxy-hosts:
{ "domain_names": ["sub.example.com"], "forward_scheme": "http", "forward_host": "192.168.1.10", "forward_port": 8080, "access_list_id": 0, "certificate_id": 0, "ssl_forced": false, "meta": { "letsencrypt_email": "", "letsencrypt_agree": false, "dns_challenge": false }, "advanced_config": "", "locations": [], "block_exploits": true, "caching_enabled": false, "allow_websocket_upgrade": true, "http2_support": true, "hsts_enabled": false, "hsts_subdomains": false }
Enabling SSL (Let's Encrypt)
- List certs with
to see if one exists.certs - Update the host with
andcertificate_id
.ssl_forced: true