n8n-nodes-easypanel
v0.0.10
Published
n8n community node for Easypanel API - Manage projects, services, monitors and settings
Maintainers
Readme
n8n-nodes-easypanel 🚀
A comprehensive n8n community node for Easypanel with dynamic templates, service resource monitoring, and full API coverage.
Interact with Easypanel API to manage projects, services, monitors, settings, auth, licenses, and templates directly from n8n workflows.
✨ Features
- 📁 Projects Management: List, create, get, and delete projects with Return All / Limit support
- 🐳 Services Management: Create, deploy, enable/disable, expose, and configure services (27 operations)
- 🎨 Templates (Dynamic): List and fetch templates live from the official easypanel-io/templates repo — new templates appear automatically!
- 🛠️ Create from Template: Create a service based on an Easypanel template with custom variables
- 📊 Monitoring: Get system stats, Docker task stats, and container stats
- 📈 Service Resource Stats: Get CPU, memory, and network consumption per service
- ⚙️ Settings: Manage server settings, domains, GitHub tokens, and more
- 🔐 Auth: Get user info, logout
- 📜 License: Get license payload, activate license (Lemon Squeezy / Portal)
📦 Installation
Install via n8n UI
- Open your n8n instance
- Go to Settings → Community Nodes
- Click Install a community node
- Enter
n8n-nodes-easypanel - Click Install
Install via npm
npm install n8n-nodes-easypanel🔧 Credentials
Before using this node, configure your Easypanel credentials:
- Endpoint URL: Your Easypanel instance URL (e.g.,
https://panel.example.com) - API Token: Your Easypanel API token
Getting Your API Token
- Log in to your Easypanel instance
- Go to Settings → API Tokens
- Generate a new token
📖 Available Resources & Operations
Projects (6 operations)
| Operation | Description | | ------------------ | --------------------------------------------------------------- | | List | List all projects (with Return All / Limit) | | List with Services | List all projects with their services (with Return All / Limit) | | Get | Get details of a specific project | | Create | Create a new project | | Delete | Delete a project | | Can Create | Check if you can create a new project |
Services (27 operations)
| Operation | Description | | ---------------------------- | ------------------------------------------------------- | | Create | Create a new service | | Create from Template | Create a service from an Easypanel template | | Get | Get details of a service | | Get Stats | Get service resource consumption (CPU, memory, network) | | Delete | Delete a service | | Deploy | Deploy a service | | Enable / Disable | Enable or disable a service | | Expose Service | Expose a service on a port | | Get Logs | Get service logs | | Refresh Deploy Token | Refresh the deploy token | | Update Environment | Update environment variables | | Update Domains | Update domain configuration | | Update Ports | Update port mappings | | Update Mounts | Update volume mounts | | Update Resources | Update CPU and memory limits | | Update Build | Update build configuration | | Update Backup | Update backup configuration (enabled + cron schedule) | | Update Advanced | Update advanced config (capAdd, capDrop, sysctls) | | Update Redirects | Update redirect rules | | Update Basic Auth | Update basic auth users | | Update Source - Docker Image | Set Docker image source | | Update Source - Git | Set Git repository source | | Update Source - GitHub | Set GitHub repository source |
Templates (2 operations) — 🆕 Dynamic
| Operation | Description | | ------------------ | ---------------------------------------------------------------------------------------- | | List Templates | List all available templates (fetched live from GitHub with search + Return All / Limit) | | Get Template | Get a specific template's meta.yaml and index.ts source |
Templates are fetched dynamically from easypanel-io/templates, so any new templates added to the repo will appear automatically.
Monitors (4 operations)
| Operation | Description | | --------------------- | -------------------------------------------------- | | Get System Stats | Get system statistics (CPU, memory, disk, network) | | Get Advanced Stats | Get advanced statistics with time series data | | Get Docker Task Stats | Get Docker task statistics | | Get Container Stats | Get container statistics |
Settings (14 operations)
| Operation | Description | | ---------------------------------- | -------------------------------- | | Get / Refresh Server IP | Get or refresh server IP address | | Restart Easypanel / Traefik | Restart services | | Prune Docker Images / Builder | Clean up Docker resources | | Get / Set Panel Domain | Manage panel domain | | Get / Set GitHub Token | Manage GitHub token | | Get / Set Let's Encrypt Email | Manage Let's Encrypt email | | Get / Update Traefik Custom Config | Manage Traefik config |
Auth (2 operations)
| Operation | Description | | --------- | ----------------------------------- | | Get User | Get current authenticated user info | | Logout | Logout from Easypanel |
License (2 operations)
| Operation | Description | | ------------------- | ------------------------------------ | | Get License Payload | Get license payload (Lemon / Portal) | | Activate License | Activate license (Lemon / Portal) |
🏗️ Service Types
- App - Generic application service
- MySQL - MySQL database
- MariaDB - MariaDB database
- PostgreSQL - PostgreSQL database
- MongoDB - MongoDB database
- Redis - Redis cache
📝 Usage Examples
List Templates (Dynamic)
- Select Template as resource
- Select List Templates as operation
- Optionally enter a Search term to filter by name/tag
- Toggle Return All or set a Limit
Create a Service from a Template
- Select Service as resource
- Select Create from Template as operation
- Enter the Template Slug (e.g.,
wordpress,n8n,uptime-kuma) - Enter the Service Name for the new service
- Optionally provide Template Variables as JSON (e.g.,
{"appServiceImage": "wordpress:6.4"})
Get Service Resource Consumption
- Select Service as resource
- Select Get Stats as operation
- Choose service type
- Enter project name and service name
This returns CPU, memory, and network statistics for the specific service.
Deploy a Service
- Select Service as resource
- Select Deploy as operation
- Choose service type (e.g., App)
- Enter project name and service name
🔒 Security
- All API requests use HTTPS
- API tokens are stored securely in n8n credentials
- Tokens are never exposed in workflow logs
📋 Requirements
- n8n version 1.0.0 or higher
- Node.js 18 or higher
- An Easypanel instance with API access
🐛 Troubleshooting
Authentication Errors
- Verify your API token is correct
- Check that your endpoint URL is accessible
- Ensure your token has the necessary permissions
Connection Errors
- Verify your Easypanel instance is running
- Check network connectivity
- Verify the endpoint URL format (should include
https://)
📄 License
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📚 Resources
💬 Support
Made with ❤️ by the Easypanel Community
