logo
. . .

How to Install n8n in CWP User Panel (No SSH Required)

n8n is a powerful workflow automation platform that lets you connect apps, APIs, and logic visually. If you’re hosting on CentOS Web Panel (CWP) and want to deploy n8n entirely from the User Panel — without touching the terminal — this guide walks you through a clean, modular setup using the built‑in Node.js App Manager.


🧩 Why Follow This Guide?

  • ✅ No SSH or terminal access required
  • ✅ Fully compatible with CWP’s Node.js App Manager
  • ✅ Tested with Node.js v24.x.x for modern syntax and stability
  • ✅ Includes ready‑to‑use package.json and .env examples

1. Upload package.json

In your app directory (main domain root or subdomain root), create a file named package.json with the following content:

{
  "name": "n8n-hosted",
  "version": "1.0.0",
  "description": "Self-hosted n8n via CWP Node.js Apps",
  "main": "node_modules/n8n/bin/n8n",
  "scripts": {
    "start": "n8n"
  },
  "dependencies": {
    "n8n": "latest"
  }
}

This installs a stable version of n8n compatible with Node.js v24.x and includes a post‑install script to fix executable permissions. You can change “dependencies” version to any older or newer but select your desire Node.js version as well that match the n8n version.


2. Create a Node.js App in CWP User Panel

  • → Navigate to User Panel → Domains → Node.js Apps
  • → Select Node.js version v24.x.x (tested; versions above 20.x.x may also work)
  • → Enter a descriptive name (e.g., n8n)
  • → Choose Application Mode: Development, if you set Production then maybe you get “connection lost” warning in workflows page & need to adjust .env
  • → Set your app path (e.g., /home/youruser/automation.example.com)
  • → Startup file: n8n
  • → Bind to your domain or subdomain (Make sure your domain has SSL installed)

Add Environment Variables

Example configuration (Key: N8N_PORT & Value: 50001):

N8N_PORT=50001
N8N_HOST=0.0.0.0
N8N_PROTOCOL=https
N8N_LISTEN_ADDRESS=127.0.0.1
N8N_WORKER_SERVER_ADDRESS=127.0.0.1
N8N_BASIC_AUTH_ACTIVE=true
N8N_BASIC_AUTH_USER=clientuser
N8N_BASIC_AUTH_PASSWORD=Securepass@2014%
N8N_ENFORCE_SETTINGS_FILE_PERMISSIONS=true
WEBHOOK_URL=https://automation.example.com
WEBHOOK_TUNNEL_URL=https://automation.example.com
VUE_APP_URL_BASE_API=https://automation.example.com
N8N_WORKER_BASE_URL=https://automation.example.com
N8N_SECURE_COOKIE=true
N8N_PUSH_BACKEND=sse
N8N_RELEASE_TYPE=stable
N8N_GIT_NODE_DISABLE_BARE_REPOS=true
N8N_BLOCK_ENV_ACCESS_IN_NODE=false

Replace automation.example.com with your actual domain/subdomain. Update N8N_PORT once you know the assigned port. Use a strong username and password for authentication.

Click Save and note the port assigned to your app.


3. Install Dependencies via CWP Panel

  • → Go to Node.js Apps → Edit Application
  • → Click NPM Install and wait for completion
  • → Update the app path to: /home/youruser/automation.example.com/node_modules/n8n/bin
  • → Update N8N_PORT with the actual port assigned in Step 2
  • → Save changes again

4. Start the Application

  • → If the port in your .env matches the app’s assigned port, click Start Application
  • → If not, go to Edit Application, hit Save, then click Start Application
  • → Now, from “File Management--→Fix Account Issues--→ Fix Selected Issues" to fix the file permissions issues.

 

Finally, visit your subdomain (e.g., https://automation.example.com), register an account, and sign in. Setup page can take up to 1- 5 minutes to complete the sing up process, so wait until it's finished. 🎉 You now have a fully running n8n instance on your CWP shared hosting or CWP reseller hosting — no SSH required. Remember, you can deploy 1 n8n instance with per hosting account. If incase deploy multiple instances, still the database & configuration will remain same, but the URL will be only different.


How to Upgrade to the Latest Version?

 

Kindly follow this simple step to upgrade your existing n8n instance to latest version:

  • → Stop your NodeJS app first & click “Edit application” option & set Path to (root folder of your domain): /home/youruser/automation.example.com/ & hit save.
  • → Go to your n8n domain root folder & delete “node_modules & package-lock.json” folder & file.
  • → If you can see folder or files own by root, then go to File Management→Fix Account Issues→Fix Selected Issues. Go back & delete them.
  • → Now come back to Nodejs App page & click “Edit application” then hit “NPM Install” button & wait, until it finishes.
  • → Once installation done, set your App Path to: /home/youruser/automation.example.com/node_modules/n8n/bin & hit save.
  • → Again, go to File Management→Fix Account Issues→Fix Selected Issues.
  • → Go back to Nodejs App page & if your n8n given port & Nodejs showed port are same then hit start button. Congratulations, you're done. Your n8n has been upgraded.
  • → However, if your n8n given port & apps showing port does not match before hit start button, just click “Edit application” & resave without any changes.
  • → Now it will be same port both one, so finally hit start button & you're done. Visit your n8n instance & check the version!
  • → If you are facing any issues then you can contact us anytime. However, if you're our client then it will be free of charge else you need to pay for it.

🌐 Hosting Options

Looking to host your own n8n instance with ease?


Please rate this article to help us improve our Knowledge Base.

4 0