Automatically update n8n version
Ready for 3.0Ready for 3.0. This template uses no nodes that n8n 3.0 removes. No removed nodes, versions or helpers found. Static check, last run 2026-10-19.
Nodes used (4)
- HTTP Request
n8n-nodes-base.httpRequest - Schedule Trigger
n8n-nodes-base.scheduleTrigger - SSH
n8n-nodes-base.ssh - If
n8n-nodes-base.if
What it does
π 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/ βββ checkupdate.txt βββ check-update.sh βββ compose.yml βββ updaten8n.cron --- π§Ύ File Descriptions checkupdate.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/checkupdate.txt; then Place your update logic here echo "Update needed - please insert update logic" echo true > /home/sysadmin/n8n/checkupdate.txt fi Purpose: - Checks the contents of checkupdate.txt - If it contains true, executes update logic (currently a placeholder) - Resets checkupdate.txt to true --- updaten8n.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 1. Schedule Trigger π - Purpose: Triggers the workflow every day at 5:00 AM - Node Type: Schedule Trigger --- 2. 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 --- 3. Get Local n8n version π₯οΈ - Purpose: Retrieves the currently running n8n version - Endpoint: http://192.168.100.18:5678/rest/settings - Node Type: HTTP Request --- 4. If π - Purpose: Compares the local and latest versions - Condition: If not equal β update is needed --- 5. SSH1 π§Ύ - Purpose: Writes the result to a file on the host via SSH - Logic: bash echo "{{ $('If').params.conditions ? 'false' : 'true' }}" > checkupdate.txt Effect: Updates checkupdate.txt with "true" if an update is needed, "false" otherwise. π οΈ Setting up Crontab on Ubuntu 1. Register the cron job with: bash crontab updaten8n.cron 2. Verify that your cron job is registered: bash crontab -l β
Result - 5:00 AM β n8n workflow checks versions and writes result to checkupdate.txt - 5:10 AM β Cron runs check-update.sh to respond to update flag