Automatically update n8n version
๐ n8n Workflow: Check and Update n8n Version
This workflow automatically checks if the local n8n version is outdated and, if so, creates a file to signal an update is needed.
๐ฅ๏ธ Working Environment
Operating System:** Ubuntu 24.04
n8n Installation:** Docker container
๐ Project Directory Structure n8n/ โโโ check_update.txt โโโ check-update.sh โโโ compose.yml โโโ update_n8n.cron
๐งพ File Descriptions
check_update.txt
Contains a single word:
true: Update is needed
false: No update required
check-update.sh
#!/bin/bash PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
if grep -q "true" /home/sysadmin/n8n/check_update.txt; then Place your update logic here echo "Update needed - please insert update logic" echo true > /home/sysadmin/n8n/check_update.txt fi Purpose:
Checks the contents of check_update.txt If it contains true, executes update logic (currently a placeholder) Resets check_update.txt to true update_n8n.cron
SHELL=/bin/sh 10 5 * * * /bin/sh /home/sysadmin/n8n/check-update.sh Purpose:
Runs the check-update.sh script daily at 5:10 AM Uses /bin/sh as the shell environment
๐งฉ n8n Workflow Breakdown
-
Schedule Trigger ๐ Purpose:** Triggers the workflow every day at 5:00 AM
Node Type:** Schedule Trigger -
Get the latest n8n version ๐ Purpose:** Fetches the latest version of n8n from npm
Endpoint:** https://registry.npmjs.org/n8n/latest
Node Type:** HTTP Request -
Get Local n8n version ๐ฅ๏ธ Purpose:** Retrieves the currently running n8n version
Endpoint:** http://192.168.100.18:5678/rest/settings
Node Type:** HTTP Request -
If ๐ Purpose:** Compares the local and latest versions
Condition:** If not equal โ update is needed -
SSH1 ๐งพ Purpose:** Writes the result to a file on the host via SSH
Logic:**
echo "{{ $('If').params.conditions ? 'false' : 'true' }}" > check_update.txt Effect: Updates check_update.txt with "true" if an update is needed, "false" otherwise.
๐ ๏ธ Setting up Crontab on Ubuntu
- Register the cron job with: crontab update_n8n.cron
- Verify that your cron job is registered: crontab -l โ Result
5:00 AM** โ n8n workflow checks versions and writes result to check_update.txt
5:10 AM** โ Cron runs check-update.sh to respond to update flag
Related Templates
Extract Named Entities from Web Pages with Google Natural Language API
Who is this for? Content strategists analyzing web page semantic content SEO professionals conducting entity-based anal...
Add product ideas to Notion via a Slack command
Use Case In most companies, employees have a lot of great ideas. That was the same for us at n8n. We wanted to make it a...
Automate Daily Keyword Research with Google Sheets, Suggest API & Custom Search
Who's it for This workflow is perfect for SEO specialists, marketers, bloggers, and content creators who want to automa...
๐ Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments