48 Commits

Author SHA1 Message Date
3b2a3fc5e9 chore: publish 3.0.0+2.2.1 release 2026-04-02 15:02:04 +02:00
e59db61344 Revert "chore: publish 2.1.0+2.2.1 release"
This reverts commit 4be91e3fe6.
2026-04-02 14:47:37 +02:00
4be91e3fe6 chore: publish 2.1.0+2.2.1 release 2026-04-01 18:38:13 +02:00
b21ab2c07e Revert "chore: publish 2.1.0+2.2.1 release"
This reverts commit 4493f6ad6c.
2026-04-01 18:37:11 +02:00
ba9e059039 increase entrypoint version 2026-04-01 18:29:38 +02:00
4493f6ad6c chore: publish 2.1.0+2.2.1 release 2026-04-01 18:25:05 +02:00
ce907a3c4a Revert "chore: publish 2.1.0+2.2.1 release"
This reverts commit 69a0443f6e.
2026-04-01 18:24:15 +02:00
5fc90c6386 Revert "Revert "rework recipe and upgrade kuma version""
This reverts commit 7897cae890.
2026-04-01 18:14:58 +02:00
69a0443f6e chore: publish 2.1.0+2.2.1 release 2026-04-01 17:35:02 +02:00
31a4e77938 Merge pull request 'setup maintenance for repo' (#9) from maintainer into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/uptime-kuma/pulls/9
2026-04-01 15:08:41 +00:00
ea9e14c357 add standard reviewer 2026-04-01 14:53:28 +00:00
1876e3555d added recipe linting 2026-04-01 06:33:57 +00:00
564441ab06 add pull request template 2026-03-31 18:47:09 +02:00
7897cae890 Revert "rework recipe and upgrade kuma version"
This reverts commit 773fdeb412.
2026-03-31 18:06:19 +02:00
f41d89d320 adding information for maintainership 2026-03-31 17:58:55 +02:00
773fdeb412 rework recipe and upgrade kuma version 2026-03-31 17:42:37 +02:00
59ed487328 upgrade to latest version 2.2.1 2026-03-31 16:25:12 +02:00
ca67375a56 chore: update image tags 2026-03-27 18:00:24 +01:00
b51e8f8f45 Merge pull request 'Added backup flags to compose.yml' (#4) from bb2-backups into main
Reviewed-on: https://git.coopcloud.tech/coop-cloud/uptime-kuma/pulls/4
2025-06-05 15:26:01 +00:00
436014726c Added mariadb bb2 labels to compose.yml 2025-04-01 18:00:39 +01:00
cc408eb56a Set backups to YES in README 2025-04-01 17:58:36 +01:00
65e0407ed7 Added backup flags to compose.yml 2025-04-01 17:55:31 +01:00
a2fc13d45b feat: add command to list all monitored urls 2025-03-04 20:57:04 +01:00
185e2f4fe8 chore: publish 2.0.0+2.0.0-beta.1 release 2025-02-26 17:00:14 +01:00
61d122b455 feat: switch to upstream image (#3)
Reviewed-on: https://git.coopcloud.tech/coop-cloud/uptime-kuma/pulls/3
Reviewed-by: yksflip <flip@yksflip.de>
Co-authored-by: p4u1 <p4u1_f4u1@riseup.net>
Co-committed-by: p4u1 <p4u1_f4u1@riseup.net>
2025-02-26 15:57:07 +00:00
769b0bdf2b Update .drone.yml 2025-01-08 10:09:13 -08:00
83b4479bb6 chore: publish 1.0.2+latest release 2024-11-14 14:18:24 +01:00
fbecd487bd chore: publish 1.0.1+latest release 2024-11-14 14:13:04 +01:00
80334f05f3 chore: publish 1.0.0+latest release 2024-11-14 13:42:48 +01:00
616b87296d Merge branch 'mariadb' 2024-11-14 13:34:50 +01:00
a8930db62c fix: change image 2024-10-11 11:52:02 +02:00
e927d30f74 feat: fully working mariadb 2024-10-10 18:03:24 +02:00
f82019e24b chore: bump entrypoint version 2024-10-08 14:41:17 +02:00
a443813998 fix: invalid secret name 2024-10-08 14:41:17 +02:00
9ab54dbf8d add mariadb support 2024-10-08 14:41:16 +02:00
0d32e289b3 dirty commit for mariadb 2024-10-01 15:51:04 +02:00
c755e8e0e2 chore: bump entrypoint version 2024-07-09 16:21:04 +02:00
3wc
96faa55289 Add db volume 2024-07-02 13:54:04 -04:00
3wc
1b7a48d51d chore: publish 0.5.1+1.23.11-alpine release 2024-07-02 13:04:01 -04:00
6dd9c27970 fix: invalid secret name 2024-06-20 15:37:31 +02:00
eb848af0ad add mariadb support 2024-06-20 15:36:08 +02:00
3wc
99fdef2393 chore: publish 0.5.0+1.23.11 release 2024-03-04 13:23:52 -03:00
3wc
53b7cf592c Add healthcheck, start-first 2024-03-04 13:22:18 -03:00
3wc
f0e68ba1d5 chore: publish 0.4.2+1.23.11 release 2024-03-04 13:02:10 -03:00
3wc
16928754ad chore: publish 0.4.1+1.23.3 release 2023-11-06 11:52:22 +00:00
fe7adca480 chore: publish 0.4.0+1.23.0 release 2023-11-06 11:51:00 +00:00
804f37db8a chore: publish 0.3.0+1.22.1 release 2023-07-17 13:18:33 +01:00
9d07c214aa chore: publish 0.2.1+1.21.3 release 2023-05-22 12:13:49 +02:00
14 changed files with 224 additions and 17 deletions

View File

@ -32,7 +32,7 @@ steps:
from_secret: drone_abra-bot_token
fork: true
repositories:
- coop-cloud/auto-recipes-catalogue-json
- toolshed/auto-recipes-catalogue-json
trigger:
event: tag

View File

@ -1,8 +1,17 @@
TYPE=uptime-kuma
COMPOSE_FILE="compose.yml"
LETS_ENCRYPT_ENV=production
DOMAIN=uptime-kuma.example.com
## Domain aliases
#EXTRA_DOMAINS=', `www.uptime-kuma.example.com`'
LETS_ENCRYPT_ENV=production
SECRET_DB_PASSWORD_VERSION=v1
SECRET_DB_ROOT_PASSWORD_VERSION=v1
## Enable mariadb, otherwise sqlite will be used
#COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml"
# only for testing branches of uptime-kuma
#UPTIME_KUMA_GH_REPO=<branch name>

View File

@ -0,0 +1,17 @@
---
name: "Uptime Kuma pull request template"
about: "Uptime Kuma pull request template"
---
<!--
Thank you for doing recipe maintenance work!
Please mark all checklist items which are relevant for your changes.
Please remove the checklist items which are not relevant for your changes.
Feel free to remove this comment.
-->
* [ ] I have deployed and tested my changes
* [ ] I have [updated relevant versions in `abra.sh`](https://docs.coopcloud.tech/maintainers/upgrade/#updating-versions-in-the-abrash)
* [ ] I have made my environment variable changes [backwards compatible](https://docs.coopcloud.tech/maintainers/upgrade/#backwards-compatible-environment-variable-changes)
* [ ] I ran `abra recipe lint uptime-kuma --chaos` on the PR's branch and fixed the warnings.
* [ ] I have added a [release note entry](https://docs.coopcloud.tech/maintainers/upgrade/#creating-new-release-notes)

0
MAINTENANCE.md Normal file
View File

View File

@ -1,14 +1,19 @@
# uptime-kuma
> One line description of the recipe
[![Build Status](https://build.coopcloud.tech/api/badges/coop-cloud/uptime-kuma/status.svg)](https://build.coopcloud.tech/coop-cloud/uptime-kuma)
> A fancy self-hosted monitoring tool
<!-- metadata -->
* **Category**: Apps
* **Status**: 0
* **Maintainer**: [@stevensting](https://git.coopcloud.tech/stevensting)
* **Status**: `stable`
* **Category**: Utilities
* **Features**: ?
* **Image**: [`uptime-kuma`](https://hub.docker.com/r/uptime-kuma), 4, upstream
* **Healthcheck**: No
* **Backups**: No
* **Healthcheck**: Yes
* **Backups**: Yes
* **Email**: No
* **Tests**: No
* **SSO**: No
@ -22,3 +27,10 @@
* `abra app deploy <app-name>`
For more, see [`docs.coopcloud.tech`](https://docs.coopcloud.tech).
## MariaDB
By default uptime-kuma uses a sqlite database. It is possible to switch to a mariadb by:
```
#COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml"
```

5
abra.sh Normal file
View File

@ -0,0 +1,5 @@
export APP_ENTRYPOINT_VERSION=v3
get_all_urls() {
echo "select url from monitor" | mariadb -u kuma -p$(cat /run/secrets/db_password) -D kuma | sed 's|https://||' | sed 's|/.*||' | sort
}

59
compose.mariadb.yml Normal file
View File

@ -0,0 +1,59 @@
---
version: "3.8"
services:
app:
secrets:
- db_password
networks:
- internal
environment:
- UPTIME_KUMA_DB_TYPE=mariadb
- UPTIME_KUMA_DB_HOSTNAME=db
- UPTIME_KUMA_DB_PORT=3306
- UPTIME_KUMA_DB_NAME=kuma
- UPTIME_KUMA_DB_USERNAME=kuma
- UPTIME_KUMA_DB_PASSWORD_FILE=/run/secrets/db_password
depends_on:
- db
db:
image: mariadb:11.8
environment:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
- MYSQL_PASSWORD_FILE=/run/secrets/db_password
- MYSQL_USER=kuma
- MYSQL_DATABASE=kuma
volumes:
- mariadb:/var/lib/mysql
networks:
- internal
secrets:
- db_password
- db_root_password
deploy:
labels:
backupbot.backup: "${ENABLE_BACKUPS:-true}"
backupbot.backup.pre-hook: "mariadb-dump --single-transaction -u root -p\"$$(cat /run/secrets/db_root_password)\" kuma | gzip > /var/lib/mysql/dump.sql.gz"
backupbot.backup.volumes.mariadb.path: "dump.sql.gz"
backupbot.restore.post-hook: "gzip -d /var/lib/mysql/dump.sql.gz && mariadb -u root -p\"$$(cat /run/secrets/db_root_password)\" kuma < /var/lib/mysql/dump.sql && rm -f /var/lib/mysql/dump.sql"
healthcheck:
test: ["CMD-SHELL", 'mariadb-admin -p"$$(cat $MYSQL_ROOT_PASSWORD_FILE)" ping']
interval: 30s
timeout: 10s
retries: 10
start_period: 1m
volumes:
mariadb:
networks:
internal:
secrets:
db_password:
external: true
name: ${STACK_NAME}_db_password_${SECRET_DB_PASSWORD_VERSION}
db_root_password:
external: true
name: ${STACK_NAME}_db_root_password_${SECRET_DB_ROOT_PASSWORD_VERSION}

View File

@ -3,14 +3,20 @@ version: "3.8"
services:
app:
image: louislam/uptime-kuma:1.21.2
image: louislam/uptime-kuma:2.2.1
volumes:
- data:/app/data
networks:
- proxy
environment:
- UPTIME_KUMA_GH_REPO
- UPTIME_KUMA_DB_TYPE=sqlite
configs:
- source: app_entrypoint
target: /docker-entrypoint.sh
mode: 0555
entrypoint: /docker-entrypoint.sh
deploy:
# restart_policy:
# condition: on-failure
labels:
- "traefik.enable=true"
- "traefik.http.services.${STACK_NAME}.loadbalancer.server.port=3001"
@ -21,13 +27,14 @@ services:
#- "traefik.http.routers.${STACK_NAME}.middlewares=${STACK_NAME}-redirect"
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLForceHost=true"
#- "traefik.http.middlewares.${STACK_NAME}-redirect.headers.SSLHost=${DOMAIN}"
- "coop-cloud.${STACK_NAME}.version=0.2.0+1.21.2"
# healthcheck:
# test: ["CMD-SHELL", 'curl localhost:3001']
# interval: 30s
# timeout: 10s
# retries: 5
# start_period: 2m
- "coop-cloud.${STACK_NAME}.version=3.0.0+2.2.1"
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
healthcheck:
test: "curl -L localhost:3001"
interval: 30s
timeout: 10s
retries: 5
start_period: 2m
volumes:
data:
@ -35,3 +42,9 @@ volumes:
networks:
proxy:
external: true
configs:
app_entrypoint:
name: ${STACK_NAME}_app_entrypoint_${APP_ENTRYPOINT_VERSION}
file: entrypoint.sh.tmpl
template_driver: golang

31
entrypoint.sh.tmpl Normal file
View File

@ -0,0 +1,31 @@
#!/bin/bash
set -e
file_env() {
local var="$1"
local fileVar="${var}_FILE"
local def="${2:-}"
if [ "${!var:-}" ] && [ "${!fileVar:-}" ]; then
echo >&2 "error: both $var and $fileVar are set (but are exclusive)"
exit 1
fi
local val="$def"
if [ "${!var:-}" ]; then
val="${!var}"
elif [ "${!fileVar:-}" ]; then
val="$(< "${!fileVar}")"
fi
export "$var"="$val"
unset "$fileVar"
}
#file_env "UPTIME_KUMA_DB_PASSWORD"
# upstream startup command
cd /app
node server/server.js

29
release/1.0.0+latest Normal file
View File

@ -0,0 +1,29 @@
!!BREAKING CHANGE!!
this version is using self-built docker image for uptime kuma to incorporate mariadb which is not officially supported yet. Performance with sqlite was really bad and uptime kuma became unusable at some point. Upgrading to this version requires manually exporting sqlite database and converting it to mariadb. Additionally there's been changes to the database structure between last published version in this so it's not enough to just export the tables, you actually need to add a bunch of fields. And importing groups and other tables is a big hassle, better stick to just `monitor`...
Here's some python to help you with this.
```
#!/usr/bin/python3
og = open("original.sql", "r")
new = open("ported.sql", "w")
for line in og:
newline = line
if line.startswith("INSERT INTO monitor VALUES"):
newarr = line[27:-3].split(",")
if len(newarr) == 77:
kafka_producer_ssl_and_topic = ["0", "0"]
arr = newarr[:66] + kafka_producer_ssl_and_topic + newarr[66:75] + ["'keyword'", "NULL", "NULL", "'2c'", "NULL", "0", "'{}'"]
newline = "INSERT INTO monitor VALUES(" + ",".join(arr) + ");\n"
else:
newline = "--" + line
else:
pass
new.writelines(newline)
og.close()
new.close()
```

View File

@ -0,0 +1 @@
sqlite is the default database now, check the README.md on how to configure mariadb

1
release/3.0.0+2.2.1 Normal file
View File

@ -0,0 +1 @@
In case you are currently using MariaDb instead of the internal sqlite, you need to activate the usage of compose.mariadb.yaml in your env file. (compare .env.sample) Reason for this is that the mariadb container was removed from compose.yml

21
release/convertmonitor.py Executable file
View File

@ -0,0 +1,21 @@
#!/usr/bin/python3
og = open("original.sql", "r")
new = open("ported.sql", "w")
for line in og:
newline = line
if line.startswith("INSERT INTO monitor VALUES"):
newarr = line[27:-3].split(",")
if len(newarr) == 77:
kafka_producer_ssl_and_topic = ["0", "0"]
arr = newarr[:66] + kafka_producer_ssl_and_topic + newarr[66:75] + ["'keyword'", "NULL", "NULL", "'2c'", "NULL", "0", "'{}'"]
newline = "INSERT INTO monitor VALUES(" + ",".join(arr) + ");\n"
else:
newline = "--" + line
else:
pass
new.writelines(newline)
og.close()
new.close()

9
renovate.json Normal file
View File

@ -0,0 +1,9 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended"
],
"reviewers": [
"stevensting"
]
}