Back to Catalog
Weilun

Weilun

Total Views1,955
Templates1

Templates by Weilun

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 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

WeilunBy Weilun
1955
All templates loaded