easypanel

n8n community node for Easypanel API - Manage projects, services, monitors and settings

Package Information

Released: 3 mo ago
Downloads: 1,540 weekly / 1,540 monthly
Latest Version: 0.0.10
Author: Easypanel Community

Documentation

n8n-nodes-easypanel 🚀

npm version
npm downloads

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

  1. Open your n8n instance
  2. Go to Settings → Community Nodes
  3. Click Install a community node
  4. Enter n8n-nodes-easypanel
  5. Click Install

Install via npm

npm install n8n-nodes-easypanel

🔧 Credentials

Before using this node, configure your Easypanel credentials:

  1. Endpoint URL: Your Easypanel instance URL (e.g., https://panel.example.com)
  2. API Token: Your Easypanel API token

Getting Your API Token

  1. Log in to your Easypanel instance
  2. Go to Settings → API Tokens
  3. 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)

  1. Select Template as resource
  2. Select List Templates as operation
  3. Optionally enter a Search term to filter by name/tag
  4. Toggle Return All or set a Limit

Create a Service from a Template

  1. Select Service as resource
  2. Select Create from Template as operation
  3. Enter the Template Slug (e.g., wordpress, n8n, uptime-kuma)
  4. Enter the Service Name for the new service
  5. Optionally provide Template Variables as JSON (e.g., {"appServiceImage": "wordpress:6.4"})

Get Service Resource Consumption

  1. Select Service as resource
  2. Select Get Stats as operation
  3. Choose service type
  4. Enter project name and service name

This returns CPU, memory, and network statistics for the specific service.

Deploy a Service

  1. Select Service as resource
  2. Select Deploy as operation
  3. Choose service type (e.g., App)
  4. 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

MIT

🤝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

📚 Resources

💬 Support


Made with ❤️ by the Easypanel Community

Discussion