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
Restore your workflows from GitHub
This workflow restores all n8n instance workflows from GitHub backups using the n8n API node. It complements the Backup ...
Build a Restaurant Voice Assistant with VAPI and PostgreSQL for Bookings & Orders
This n8n template demonstrates how to create a comprehensive voice-powered restaurant assistant that handles table reser...
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...
๐ Please log in to import templates to n8n and favorite templates
Workflow Visualization
Loading...
Preparing workflow renderer
Comments (0)
Login to post comments