How it works
This workflow automates the process of checking for and applying updates to a self-hosted n8n instance running on Docker. It runs on a schedule, checks for new versions, summarizes the release notes with AI, and asks for your approval via Telegram before updating.
-
Scheduled Check: The workflow runs hourly, triggered by a
Schedule node.
-
Version Discovery:
- It first confirms it's running in a Docker environment.
- It uses SSH to connect to the host machine and inspects the running n8n container to find its current version tag (e.g.,
latest or next).
- It then queries the Docker Hub API to compare the image
digest (a unique ID for an image version) of the running version against the latest available version for that tag.
-
Update Detection: If the digests do not match, it means a new image has been pushed for your version tag (e.g., a new
latest image is available), and an update is needed.
-
AI-Powered Release Notes:
- It fetches the official release notes for the new version from the GitHub API.
- An AI model (LLM) summarizes these technical notes into a concise, human-readable overview of the key features and fixes.
-
Manual Approval: It sends a message to a Telegram chat with the AI-generated summary and two buttons: "✅ Update" and "❌ Ignore". The workflow then pauses and waits for your response.
-
Execute Update: If you approve the update, the workflow uses SSH to run a
docker compose command on your server, which pulls the new image, stops the old containers, and starts the new ones.
Set up steps
Setup time: ~5-10 minutes
-
SSH Credentials:
- Go to Credentials and create a new SSH credential with the username, host, and password/private key for the server where your n8n Docker instance is running.
- Select this credential in the
Get n8n Current Version and Update Docker nodes.
-
Telegram Bot Credentials:
- Create a Telegram Bot and get its API token.
- Go to Credentials and create a new Telegram credential with your bot's token.
- Select this credential in the
Send a text message node.
-
AI Model Credentials:
- Ensure you have credentials for an AI provider (like Google AI, OpenAI, etc.) set up.
- Select your desired credential in the
Google Gemini Chat Model node (or replace it with your preferred LLM node).
-
Configure Paths and Commands:
- Open the
Docker Path node. Set the docker_path to the absolute path of your docker-compose.yml file on the server (e.g., /root/n8n).
- If you use workers, adjust the
worker_command to include the correct --scale argument for your setup. If not, you can leave it blank.
-
Set Your Chat ID:
- Open the
Approve Update Telegram node and enter your personal Telegram Chat ID in the Chat ID field. This ensures the approval message is sent to you.
-
Activate the workflow. It will now check for updates every hour.
To enable fully automatic updates (without manual approval): Delete the nodes from Get n8n Releases to Approved ? and connect the Needs Update ? node directly to the Update Docker node.