9 Commits

Author SHA1 Message Date
f
398c7ffefd fix: mariadb is optional 2026-02-13 15:39:48 -03:00
b51e8f8f45 Merge pull request 'Added backup flags to compose.yml' (#4) from bb2-backups into main
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #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
Some checks failed
continuous-integration/drone/push Build is failing
2025-03-04 20:57:04 +01:00
185e2f4fe8 chore: publish 2.0.0+2.0.0-beta.1 release
Some checks failed
continuous-integration/drone/push Build is failing
continuous-integration/drone/tag Build is passing
2025-02-26 17:00:14 +01:00
61d122b455 feat: switch to upstream image (#3)
Some checks failed
continuous-integration/drone/push Build is failing
Reviewed-on: #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
Some checks failed
continuous-integration/drone/push Build is failing
2025-01-08 10:09:13 -08:00
7 changed files with 74 additions and 40 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,4 +1,6 @@
TYPE=uptime-kuma
COMPOSE_FILE="compose.yml"
LETS_ENCRYPT_ENV=production
DOMAIN=uptime-kuma.example.com
@ -8,4 +10,6 @@ DOMAIN=uptime-kuma.example.com
SECRET_DB_PASSWORD_VERSION=v1
SECRET_DB_ROOT_PASSWORD_VERSION=v1
LETS_ENCRYPT_ENV=production
## Enable mariadb
#COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml"

View File

@ -8,7 +8,7 @@
* **Status**: 0
* **Image**: [`uptime-kuma`](https://hub.docker.com/r/uptime-kuma), 4, upstream
* **Healthcheck**: No
* **Backups**: No
* **Backups**: Yes
* **Email**: No
* **Tests**: No
* **SSO**: No
@ -22,3 +22,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:
```
#COMPOSE_FILE="$COMPOSE_FILE:compose.mariadb.yml"
```

View File

@ -1 +1,5 @@
export APP_ENTRYPOINT_VERSION=v2
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
}

52
compose.mariadb.yml Normal file
View File

@ -0,0 +1,52 @@
---
version: "3.8"
services:
app:
secrets:
- db_password
environment:
- UPTIME_KUMA_GH_REPO=louislam:uptime-kuma
- 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
networks:
- internal
- proxy
db:
image: mariadb:11.7
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"
volumes:
mariadb:
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,24 +3,14 @@ version: "3.8"
services:
app:
image: git.coopcloud.tech/coop-cloud-chaos-patchs/uptime-kuma:latest
image: louislam/uptime-kuma:2.0.0-beta.1
volumes:
- data:/app/data
secrets:
- db_password
networks:
- internal
- proxy
environment:
- UPTIME_KUMA_GH_REPO=louislam:uptime-kuma
- 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
- UPTIME_KUMA_DB_TYPE=sqlite
configs:
- source: app_entrypoint
target: /docker-entrypoint.sh
@ -40,44 +30,20 @@ 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=1.0.2+latest"
- "coop-cloud.${STACK_NAME}.version=2.0.0+2.0.0-beta.1"
healthcheck:
test: "curl -L localhost:3001"
interval: 30s
timeout: 10s
retries: 5
start_period: 2m
db:
image: mariadb:11.5
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
volumes:
mariadb:
data:
networks:
proxy:
external: true
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}
configs:
app_entrypoint:

View File

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