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
- if
- ssh
- httpRequest
- scheduleTrigger
How to import this workflow into n8n
- 1Purchase or download the workflow to get the n8n workflow JSON file.
- 2In your n8n instance, open Workflows and choose "Import from File" (or paste the JSON with Ctrl+V on the canvas).
- 3Open each node marked with a credential warning and connect your own accounts and API keys.
- 4Run the workflow once manually to verify the data flow, then toggle it to Active.
Related Development & IT workflows
- Create daily historical AI videos with Gemini, fal.ai, Telegram and YouTube$14.99
- Advanced multi-agent AI personal assistant with 250+ task capabilities (WhatsApp + GPT)$2.99
- Send Organized Security CVE Digests from NVD with AI-Polished Summaries to Gmail$4.99
- Learn n8n basics in 3 easy steps ✨$14.99
- Automated multi-platform sales agent with RAG, CRM & payment processing$2.99
- Version Control n8n Workflows in GitLab with Custom and Organization$14.99
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.