jseet You should be able to run n8n natively without podman. Here are some steps that worked for one of our customers:
- Create a new Node.js app and make a note of the app's port number: https://docs.opalstack.com/topic-guides/nodejs/#installation
- Attach the app to a site: https://docs.opalstack.com/user-guide/sites/
- Log in to SSH as your app's shell user: https://docs.opalstack.com/user-guide/server-access/#ssh-access
- Navigate into the app's project directory with the cd command, eg cd ~/apps/name_of_app/myproject
- Edit package.json to change the contents to the following (replace XXXXX with your app's port number):
{
"name": "my-n8n",
"version": "1.0.0",
"description": "My n8n site",
"scripts": {
"start": "PORT=XXXXX n8n start",
"stop": "PORT=XXXXX n8n stop"
},
"dependencies": {
"n8n": "^1.106.3",
"sqlite3": "^5.1.7"
}
}
- Execute the following command to install n8n and its dependencies:
npm config set python /usr/local/bin/python3.10
scl enable nodejs20 devtoolset-11 -- npm install --build-from-source
Once you have completed the above steps, your n8n instance should be fully installed. You may see some warnings during the build process, but I believe they can be safely ignored.
Next, you must edit the existing "start" script in ~/apps/name_of_app/ and add the following lines to it:
export N8N_PORT=XXXXXX # Replace XXXXX with your app's port number
export WEBHOOK_URL=https://n8n.sparklerminds.opalstacked.com/ # Replace with the actual URL you wantto use
Once you've updated the "start" script, you can start the n8n instance like so:
~/apps/name_of_app/stop # Run this first to stop the app if it's already running
~/apps/name_of_app/start # Run this to start your n8n instance
After completing all the steps above, you should be able to access your new n8n site at the URL you've chosen.