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.