Compare commits

...
Author SHA1 Message Date
simon 2a2357142e replace sidecar metrics exporter with native metrics endpoint 2026-09-17 17:53:16 +02:00
simon f9203e5d7f docs: format readme 2026-09-17 15:24:48 +02:00
simon 768531d1a2 Merge branch 'nextcloud-metrics' of ssh://git.coopcloud.tech:2222/coop-cloud/nextcloud into nextcloud-metrics 2026-09-14 18:12:22 +02:00
simon 1d6ec8cf38 add nextcloud metrics exporter 2026-09-14 18:08:09 +02:00
Linus Gasser 131054d234 chore: publish 14.1.2+33.0.9-fpm release
continuous-integration/drone/tag Build is passing
2026-09-12 10:48:38 +01:00
renovate-bot 785931c0de chore(deps): update nextcloud docker tag to v33.0.9 2026-09-12 02:26:35 +00:00
renovate-bot a7f5ec8506 chore(deps): update docker.elastic.co/elasticsearch/elasticsearch docker tag to v8.19.21 2026-09-10 08:16:50 +00:00
moritz 5990c68f23 fix(cron): parsing smtp settings from envs 2026-09-09 17:43:19 +02:00
Linus Gasser fb511d8d07 Set MARIADB_AUTO_UPGRADE=1
This will automatically upgrade the tables to the latest version of mariadb.
2026-09-08 08:17:42 +00:00
carla d019c23843 fixes copy paste 2026-09-07 08:57:08 +00:00
carla 59beed36a7 adds LIT to reviewers 2026-09-07 08:57:08 +00:00
carla d3afccfca9 adds Local IT to maintainers 2026-09-07 08:57:08 +00:00
renovate-bot 257a7ac3a1 chore(deps): update nginx docker tag to v1.31.5 2026-09-02 23:18:10 +00:00
simon d2560c9304 add option to expose metrics via nextcloud-exporter
continuous-integration/drone/pr Build is failing
2026-09-02 11:34:45 +02:00
renovate-bot 364e3088f7 chore(deps): update redis docker tag to v8.10.1 2026-08-28 15:47:54 +00:00
renovate-bot d40797dbda chore(deps): update nginx docker tag to v1.31.4 2026-08-19 20:18:48 +00:00
11 changed files with 77 additions and 10 deletions
+3
View File
@@ -107,3 +107,6 @@ DEFAULT_QUOTA="10 GB"
#HSTS_ENABLED=1
# Uncomment this line to add the `preload` part
#HSTS_PRELOAD=1
# Metrics
# COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
+16 -1
View File
@@ -5,7 +5,7 @@
Fully automated luxury Nextcloud via docker-swarm.
<!-- metadata -->
* **Maintainer**: [@dannygroenewegen](https://git.coopcloud.tech/dannygroenewegen), [@ineiti](https://git.coopcloud.tech/ineiti), [@javielico](https://git.coopcloud.tech/javielico)
* **Maintainer**: [@dannygroenewegen](https://git.coopcloud.tech/dannygroenewegen), [@ineiti](https://git.coopcloud.tech/ineiti), [@javielico](https://git.coopcloud.tech/javielico), Local-IT: [@moritz](https://git.coopcloud.tech/moritz), [@msimon](https://git.coopcloud.tech/simon), [@carla](https://git.coopcloud.tech/carla)
* **Category**: Apps
* **Status**: 5
* **Image**: [`nextcloud`](https://hub.docker.com/_/nextcloud), 4, upstream
@@ -129,6 +129,21 @@ To disable dashboard app (since it is so corporate):
- Configure a `defaultapp` in your `config.php` or use [apporder](https://apps.nextcloud.com/apps/apporder)
## Metrics
Since Version 33, Nextcloud offers a /metrics endpoint (see [here](https://docs.nextcloud.com/server/stable/admin_manual/configuration_monitoring/index.html)).
Its configured via alloys label-based auto-discovery provided by the updated
[monitoring-stack](https://git.coopcloud.tech/coop-cloud/monitoring-ng).
To enable, uncomment
```
COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml"
```
and run `configure_metrics`:
```
abra app cmd <domain> app configure_metrics
```
## Upgrading Nextcloud
Upgrading Nextcloud can be a hair raising experiance. They
+5 -1
View File
@@ -1,7 +1,7 @@
#!/bin/bash
export FPM_TUNE_VERSION=v5
export NGINX_CONF_VERSION=v8
export NGINX_CONF_VERSION=v9
export MY_CNF_VERSION=v6
export ENTRYPOINT_VERSION=v3
export ENTRYPOINT_WHITEBOARD_VERSION=v1
@@ -195,6 +195,10 @@ upgrade_mariadb() {
mariadb-upgrade -p`cat /run/secrets/db_root_password`
}
configure_metrics() {
run_occ "config:system:set openmetrics_allowed_clients 0 --value='10.0.0.0/8'"
}
# Checks whether this instance looks ready to update to the next Nextcloud
# major version.
#
+2 -2
View File
@@ -2,7 +2,7 @@ version: "3.8"
services:
elasticsearch:
image: "docker.elastic.co/elasticsearch/elasticsearch:8.19.20"
image: "docker.elastic.co/elasticsearch/elasticsearch:8.19.21"
environment:
- cluster.name=docker-cluster
- bootstrap.memory_lock=true
@@ -29,7 +29,7 @@ services:
mode: 0600
searchindexer:
image: nextcloud:33.0.8-fpm
image: nextcloud:33.0.9-fpm
volumes:
- nextcloud:/var/www/html/
- nextapps:/var/www/html/custom_apps:cached
+1
View File
@@ -17,6 +17,7 @@ services:
- MYSQL_ROOT_PASSWORD_FILE=/run/secrets/db_root_password
- MAX_DB_CONNECTIONS=${MAX_DB_CONNECTIONS:-100}
- INNODB_BUFFER_POOL_SIZE=${INNODB_BUFFER_POOL_SIZE:-1G}"
- MARIADB_AUTO_UPGRADE=1
configs:
- source: my_tune
target: /etc/mysql/conf.d/my-tune.cnf
+10
View File
@@ -0,0 +1,10 @@
version: "3.8"
services:
web:
environment:
- METRICS_ENABLED=true
deploy:
labels:
- "prometheus.io/scrape=true"
- "prometheus.io/port=9205"
- "prometheus.io/path=/metrics"
+13
View File
@@ -13,6 +13,19 @@ services:
- MAIL_FROM_ADDRESS
- MAIL_DOMAIN
cron:
secrets:
- smtp_password
environment:
- SMTP_AUTHTYPE
- SMTP_HOST
- SMTP_SECURE
- SMTP_NAME
- SMTP_PORT
- SMTP_PASSWORD_FILE=/run/secrets/smtp_password
- MAIL_FROM_ADDRESS
- MAIL_DOMAIN
secrets:
smtp_password:
external: true
+5 -5
View File
@@ -1,7 +1,7 @@
version: "3.8"
services:
web:
image: nginx:1.31.3
image: nginx:1.31.5
depends_on:
- app
configs:
@@ -48,7 +48,7 @@ services:
start_period: 5m
app:
image: nextcloud:33.0.8-fpm
image: nextcloud:33.0.9-fpm
depends_on:
- db
configs:
@@ -95,7 +95,7 @@ services:
failure_action: rollback
order: start-first
labels:
- "coop-cloud.${STACK_NAME}.version=14.1.1+33.0.8-fpm"
- "coop-cloud.${STACK_NAME}.version=14.1.2+33.0.9-fpm"
- "coop-cloud.${STACK_NAME}.timeout=${TIMEOUT}"
- "backupbot.backup=${ENABLE_BACKUPS:-true}"
- "backupbot.backup.volumes.redis=false"
@@ -109,7 +109,7 @@ services:
start_period: 15m
cron:
image: nextcloud:33.0.8-fpm
image: nextcloud:33.0.9-fpm
volumes:
- nextcloud:/var/www/html/
- nextapps:/var/www/html/custom_apps:cached
@@ -125,7 +125,7 @@ services:
cache:
image: redis:8.8.1-alpine
image: redis:8.10.1-alpine
networks:
- internal
volumes:
+19
View File
@@ -185,4 +185,23 @@ http {
try_files $uri $uri/ /index.php$request_uri;
}
}
{{ if env "METRICS_ENABLED" }}
server {
listen 9205;
location = /metrics {
include fastcgi_params;
fastcgi_param SCRIPT_FILENAME /var/www/html/index.php;
fastcgi_param SCRIPT_NAME /index.php;
fastcgi_param REQUEST_URI /metrics;
fastcgi_param HTTP_HOST {{ env "DOMAIN" }};
fastcgi_pass php-handler;
}
location / {
return 404;
}
}
{{ end }}
}
+1
View File
@@ -0,0 +1 @@
add option to scrape native /metrics endpoint via alloys auto-discovery
+2 -1
View File
@@ -5,5 +5,6 @@
],
"extends": [
"config:base"
]
],
"reviewers": ["moritz","simon","carla"]
}