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 ### 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, an update is needed --- ### 5. SSH - **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 ### 1. Register the cron job with: ```bash crontab update_n8n.cron ``` ### 2. 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

Platform
n8n
Category
Development & IT
Price
$4.99
Creator
Weilun

How to import this workflow into n8n

  1. 1Purchase or download the workflow to get the n8n workflow JSON file.
  2. 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
  3. 3Open each node marked with a credential warning and connect your own accounts and API keys.
  4. 4Run the workflow once manually to verify the data flow, then toggle it to Active.

Related Development & IT workflows

Need this deployed? We'll set it up for you.

Our automation experts deploy this workflow in your stack, connect your accounts, and verify it works — or build a custom solution from scratch.