๐ 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 bash !/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 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: bash 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: bash crontab update_n8n.cron Verify that your cron job is registered: bash 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