@pdkkid/n8n-nodes-nginx-proxy-manager
v1.0.7
Published
N8N nodes for Nginx Proxy Manager API integration
Maintainers
Readme
Nginx Proxy Manager - N8N Integration
This package provides N8N nodes for interacting with the Nginx Proxy Manager API, allowing you to automate proxy host management, user administration, and system monitoring directly from N8N workflows.
Features
- Proxy Host Management: Create, read, update, and delete proxy hosts
- User Management: Manage users, permissions, and authentication
- Settings Management: Get and update system settings
- Health Monitoring: Check API health status
- Reporting: Get statistics about hosted services
- Token Management: Automatic token handling with refresh support
Installation
Copy this directory to your N8N custom nodes folder:
cp -r n8n-nodes-nginx-proxy-manager ~/.n8n/nodes/Rebuild N8N:
npm rebuildRestart N8N
Setup
1. Add Credentials
- In N8N, go to Credentials
- Click New and select Nginx Proxy Manager API
- Fill in the following:
- API URL: Your Nginx Proxy Manager API base URL
- Email: Your NPM login email
- Password: Your NPM login password
- Access Token (optional): If you already have a valid token, paste it here to skip credential-based auth
2. Use in Workflows
Add the "Nginx Proxy Manager" node to any workflow and select from the available operations.
Available Operations
Health
- Get Status: Check if the API is healthy
Proxy Hosts
- Get All: Retrieve all proxy hosts (supports expansion of related data)
- Get: Retrieve a specific proxy host by ID
- Create: Create a new proxy host
- Update: Update an existing proxy host
- Delete: Delete a proxy host
Proxy Host Fields:
- Domain Names (required)
- Forward Host (required) - IP or hostname
- Forward Port (required)
- Forward Scheme - HTTP or HTTPS
- SSL Forced
- Caching Enabled
- Block Exploits
- Allow Websocket Upgrade
- HTTP/2 Support
- HSTS Enabled
- HSTS Subdomains
- Advanced Nginx Config
Users
- Get All: Retrieve all users (with optional permissions expansion)
- Get: Get a specific user
- Create: Create a new user
- Update: Update user details
- Delete: Delete a user
- Update Auth: Change user password
- Update Permissions: Set user permissions for different resources
Permission Levels:
hidden- User cannot see the resourceview- User can view but not modifymanage- User has full control
Visibility Levels:
all- User can see all itemsuser- User can only see their own items
Settings
- Get All: Retrieve all system settings
- Get: Get a specific setting
- Update: Update a setting value
Common Settings:
default-site- What to show for unknown hosts
Reports
- Get Hosts Report: Get statistics about proxy hosts, redirections, streams, and dead hosts
Tokens
- Get New Token: Request a new access token from credentials
- Refresh Token: Refresh an existing token
Examples
Create a Proxy Host
{
"resource": "proxyHost",
"operation": "create",
"domainNames": "example.com,www.example.com",
"forwardHost": "192.168.1.100",
"forwardPort": 8080,
"forwardScheme": "http",
"enabled": true,
"sslForced": false,
"blockExploits": true
}Get All Proxy Hosts with Details
{
"resource": "proxyHost",
"operation": "getAll",
"expand": "owner"
}Create a New User
{
"resource": "user",
"operation": "create",
"email": "[email protected]",
"name": "New User",
"nickname": "New",
"roles": ["user"]
}Update User Permissions
{
"resource": "user",
"operation": "updatePermissions",
"userId": 2,
"visibility": "all",
"proxyHostsPermission": "manage"
}Check System Health
{
"resource": "health",
"operation": "getStatus"
}Get Statistics
{
"resource": "report",
"operation": "getHostsReport"
}API Expansion Options
Some operations support expanding related data:
access_list- Include access list informationowner- Include owner/user informationcertificate- Include SSL certificate informationpermissions- Include user permission details
Error Handling
The nodes will return detailed error messages from the API. Common errors include:
- 401 Unauthorized: Invalid credentials or expired token
- 404 Not Found: Resource doesn't exist
- 400 Bad Request: Invalid parameters
- 409 Conflict: Resource conflict (e.g., duplicate domain)
Rate Limiting
The Nginx Proxy Manager API doesn't have explicit rate limits, but it's recommended to add delays between requests if making bulk operations.
Troubleshooting
"No credentials provided"
Make sure you've added the Nginx Proxy Manager API credentials and selected them in the node.
"401 Unauthorized"
Verify your email and password are correct. The token may have expired - try refreshing or re-authenticating.
"Domain already in use"
The domain name is already configured for another proxy host. Remove it from the existing host first.
"Nginx configuration error"
Check your advanced configuration syntax. Invalid Nginx directives will prevent the host from being enabled.
Support
For issues with the integration, check:
License
MIT
Changelog
v1.0.0
- Initial release
- Full support for proxy hosts, users, settings, and tokens
- Health monitoring and reporting endpoints
