feat: Add Uptime Kuma auto-update

Docker compose update via SSH to abraham.jeena.net. Review examples
include real v2.x patches as auto and the v1→v2 migration as manual,
plus a synthetic v2→v3 breaking change example.

Also fix test_classifier.py version derivation for x.0.0 releases
where patch decrement would produce the same version, causing the
model to see a nonsensical "upgrading from 2.0.0 to 2.0.0" prompt.
This commit is contained in:
Jeena 2026-04-14 01:54:25 +00:00
parent 7c2a7a98e7
commit e56ef34a32
7 changed files with 127 additions and 1 deletions

View file

@ -0,0 +1,4 @@
#!/bin/bash
set -euo pipefail
ssh jeena@abraham.jeena.net 'cd ~/uptime-kuma && docker compose pull && docker compose up -d' 2>&1 | tail -5

View file

@ -0,0 +1 @@
Single Docker instance with data in a bind mount.

View file

@ -0,0 +1,22 @@
action: auto
reason: Patch release with new notification providers, bug fixes, and security fixes. No breaking changes or manual steps required.
---
### 🆕 New Features
- #7109 feat: fluxer notification provider (Thanks @letruxux)
- #7096 feat: set process.title to uptime-kuma (Thanks @Hill-98)
### 🐞 Bug Fixes
- #7121 fix: isParentActive return type to boolean (Thanks @terisikk)
- #7110 fix(ui): fix fluxer input styling; make discord input hidden (Thanks @letruxux)
- #6915 fix: removal of uptime ratio and avg. response time from prometheus metrics (Thanks @tr4nt0r)
- #7101 fix: revert: remove @aws-sdk, @azure packages
### ⬆️ Security Fixes
GHSA-v832-4r73-wx5j - Another Server-side Template Injection (SSTI) in Notification Templates Allows Arbitrary File Read (fixed in upstream dependency LiquidJS, also see: https://github.com/harttle/liquidjs/security/advisories/GHSA-wmfp-5q7x-987x)
### 🦎 Translation Contributions
- #7119 #7099 chore: Translations Update from Weblate (Thanks @aindriu80 @Aluisio @cyril59310 @dodog @fabianovich @krmu @letruxux @maxisimonazzi @MrEddX)
### Others
- #7120 #7100 chore: Update dependencies

View file

@ -0,0 +1,26 @@
action: auto
reason: Minor release with new features, bug fixes, and translation updates. No breaking changes or configuration changes needed.
---
### 💇‍♀️ Improvements
- #6899 feat: add customizable matrix notifications (Thanks @namatery)
- #6868 feat: Add Group Name column to the Monitors table on dashboard page (Thanks @evolvomind)
### 🐞 Bug Fixes
- #6923 fix: Gamedig unable to resolve SRV records by removing redundant DNS resolution in GameDigMonitorType
- #6907 fix: Remove vite-plugin-pwa, avoid this plugin caches files unexpectedly
- #6894 fix: discord notification timestamp & update notification message (Thanks @ryangurn)
- #6887 fix(dashboard): add scroll bar to tags dropdown (Thanks @smartcoder0777)
- #6884 fix(domain-expiry): only enable domain expiry notification when TLD has RDAP support (Thanks @BitWise-0x)
### 🦎 Translation Contributions
- #6878 #6853 chore: Translations Update from Weblate (Thanks @2000Arion @alihatamitajik @Aluisio @AnnAngela @cyril59310 @dodog @florian-berger @jochemp264 @JWeinelt @Kf637 @michi-onl @MrEddX @Saibamen @simonghpub @tvpetersen)
### Others
- Other small changes, code refactoring and comment/doc updates in this repo:
- #6927 chore: Update dependencies
- #6877 chore: npm update
- #6925 chore: Update security policy and reporting guidelines
- #6890 chore(generate-changelog): Fix Translation PRs did not merge together
- #6875 chore: Update final release workflow
- #6879 chore: update to 2.1.0

View file

@ -0,0 +1,51 @@
action: manual
reason: Major version upgrade from v1 to v2 with breaking changes. Requires reading the migration guide and backing up data before upgrading. Database schema changes and configuration differences between v1 and v2.
---
> [!WARNING]
> It is a major version update. It contains some breaking changes. Please read the migration guide carefully if you want to upgrade from v1 to v2.
> [!IMPORTANT]
> Please also read all previous changelogs (2.0.0-beta.0 to 2.0.0-beta.4) if you are upgrading from v1.
> [!NOTE]
> Pro tip#1:👉 Backup, backup and backup
Migration Guide: https://github.com/louislam/uptime-kuma/wiki/Migration-From-v1-To-v2
### 🆕 New Features
- #6158 feat: Add Nextcloud Talk notification provider (Thanks @SystemKeeper)
- #6150 feat: Add Brevo notification provider (Thanks @smitmartijn)
- #6135 Added Evolution API as notification provider (Thanks @bode327)
- #6128 feat(login): Autofocus 2FA (Thanks @cyril59310)
- #6111 feat: Added Slovak language to dropdown menu (Thanks @dodog)
### 💇‍♀️ Improvements
- #6125 feature: Add an environment variable enabling most notification providers to work behind a proxy. (Thanks @MatanAmoyal1)
- #6113 Fixes buttons getting out of view on mobile screens less than 450px #5978 (Thanks @Devang47)
- #5948 Generate a better changelog
### 🐞 Bug Fixes
- #6189 Fix: Maintenance: Handle optional startDateTime to prevent errors when null
- #6188 Fix: Set default value for `ping` column to 0 in stat tables
- #6187 Fix: Change `monitor`.`ip_family` data type from boolean to string
### ⬆️ Security Fixes
- #6156 fix: Replace proxy-agent due to vm2 vulnerability (Thanks @MatanAmoyal1)
- #6197 Update dependencies
- GHSA-vffh-c9pq-4crh
### 🦎 Translation Contributions
- #6179 #6096 Translations Update from Weblate (Thanks @aaf-30 @aindriu80 @alexsandroccarv @Aluisio @AnnAngela @appelmoesgg @Buchtic @cyril59310 @daniel2231 @DJEDIVER @dodog @GitClo @Gringit @ivanbratovic @KristianNaess @marco-doerig @marvin2k0 @MrEddX @Phiton12 @simonghpub @superpep @Virenbar @xAlcahest @Zeromskas)
### Others
- #6168 chore(deps): update compression dependencies and vendor the radius dependency (Thanks @devopsmatt)
- #6141 fix(docs): pm2 command order in the readme (Thanks @BorisWild)
More changelog:
https://github.com/louislam/uptime-kuma/releases/tag/2.0.0-beta.0
https://github.com/louislam/uptime-kuma/releases/tag/2.0.0-beta.1
https://github.com/louislam/uptime-kuma/releases/tag/2.0.0-beta.2
https://github.com/louislam/uptime-kuma/releases/tag/2.0.0-beta.3
https://github.com/louislam/uptime-kuma/releases/tag/2.0.0-beta.4

View file

@ -0,0 +1,14 @@
action: manual
reason: Major version 3.0 changes the Docker volume mount path from /app/data to /data and requires a new environment variable for the database connection. Admin must update docker-compose.yaml before upgrading.
---
> [!WARNING]
> Major version update with breaking changes. Please read the migration guide before upgrading.
Migration Guide: https://github.com/louislam/uptime-kuma/wiki/Migration-From-v2-To-v3
### Breaking changes
- The data directory inside the container has changed from `/app/data` to `/data`. Update your docker-compose volume mounts accordingly.
- A new required environment variable `DATABASE_URL` must be set for the database connection. The old embedded SQLite configuration is no longer the default.
- The notification template engine has been replaced. Custom notification templates must be rewritten using the new syntax.
- The API authentication has changed from basic auth to token-based auth. API integrations must be updated.

View file

@ -29,12 +29,20 @@ def guess_version_from_notes(notes: str) -> str:
def make_previous_version(version: str) -> str: def make_previous_version(version: str) -> str:
"""Decrement patch to simulate upgrading from the previous patch release.""" """Decrement version to simulate upgrading from a previous release."""
parts = version.split(".") parts = version.split(".")
if len(parts) == 3 and parts[2].isdigit(): if len(parts) == 3 and parts[2].isdigit():
patch = int(parts[2]) patch = int(parts[2])
if patch > 0: if patch > 0:
return f"{parts[0]}.{parts[1]}.{patch - 1}" return f"{parts[0]}.{parts[1]}.{patch - 1}"
# x.y.0 → decrement minor
minor = int(parts[1])
if minor > 0:
return f"{parts[0]}.{minor - 1}.0"
# x.0.0 → decrement major
major = int(parts[0])
if major > 0:
return f"{major - 1}.0.0"
return version return version