From 5e17977c4c4d648c067ad609355502cd4232ebd8 Mon Sep 17 00:00:00 2001 From: f Date: Fri, 12 Jun 2026 13:00:32 -0300 Subject: [PATCH 1/4] feat: prometheus metrics --- .env.sample | 6 ++++++ abra.sh | 2 +- app.ini.tmpl | 8 ++++++++ 3 files changed, 15 insertions(+), 1 deletion(-) diff --git a/.env.sample b/.env.sample index 90889a6..3eae317 100644 --- a/.env.sample +++ b/.env.sample @@ -97,3 +97,9 @@ GITEA_STORAGE_TYPE=local # GITEA_REPO_INDEXER_ENABLED=false # GITEA_ISSUE_INDEXER_TYPE=db # GITEA_STARTUP_TIMEOUT=-1 + +# Prometheus metrics +# FORGEJO_METRICS_ENABLED=false +# FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL=false +# FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY=false +# SECRET_METRICS_TOKEN_VERSION=v1 diff --git a/abra.sh b/abra.sh index cf7461f..4bf51e7 100644 --- a/abra.sh +++ b/abra.sh @@ -1,4 +1,4 @@ -export APP_INI_VERSION=v26 +export APP_INI_VERSION=v27 export DOCKER_SETUP_SH_VERSION=v1 export PG_BACKUP_VERSION=v1 diff --git a/app.ini.tmpl b/app.ini.tmpl index 94cd6f8..6f15751 100644 --- a/app.ini.tmpl +++ b/app.ini.tmpl @@ -134,3 +134,11 @@ PROVIDER = {{ env "GITEA_SESSION_PROVIDER" }} ADAPTER = {{ env "GITEA_CACHE_ADAPTER" }} HOST = {{ env "GITEA_CACHE_HOST" }} ITEM_TTL = {{ env "GITEA_CACHE_ITEM_TTL" }} + +{{ if eq (env "FORGEJO_METRICS_ENABLED") "true" }} +[metrics] +ENABLED = {{ env "FORGEJO_METRICS_ENABLED" }} +ENABLED_ISSUE_BY_LABEL = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL" }} +ENABLED_ISSUE_BY_REPOSITORY = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY" }} +TOKEN = {{ secret "metrics_token }} +{{ end }} -- 2.49.0 From 37a0fd36083495b12ca61002235c4b9494e51638 Mon Sep 17 00:00:00 2001 From: f Date: Fri, 12 Jun 2026 13:03:41 -0300 Subject: [PATCH 2/4] feat: expose metrics token --- .env.sample | 3 ++- compose.metrics.yml | 10 ++++++++++ 2 files changed, 12 insertions(+), 1 deletion(-) create mode 100644 compose.metrics.yml diff --git a/.env.sample b/.env.sample index 3eae317..cae4ad3 100644 --- a/.env.sample +++ b/.env.sample @@ -102,4 +102,5 @@ GITEA_STORAGE_TYPE=local # FORGEJO_METRICS_ENABLED=false # FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL=false # FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY=false -# SECRET_METRICS_TOKEN_VERSION=v1 +# SECRET_FORGEJO_METRICS_TOKEN_VERSION=v1 +# COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml" diff --git a/compose.metrics.yml b/compose.metrics.yml new file mode 100644 index 0000000..4c1d152 --- /dev/null +++ b/compose.metrics.yml @@ -0,0 +1,10 @@ +--- +version: "3.8" +services: + app: + secrets: + - metrics_token +secrets: + metrics_token: + name: ${STACK_NAME}_metrics_token_${SECRET_FORGEJO_METRICS_TOKEN_VERSION} + external: true -- 2.49.0 From 108c3cb1aa9fde9419cd7809f1c9c1ed6b0cf307 Mon Sep 17 00:00:00 2001 From: f Date: Fri, 12 Jun 2026 13:23:00 -0300 Subject: [PATCH 3/4] fixup! feat: prometheus metrics --- app.ini.tmpl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app.ini.tmpl b/app.ini.tmpl index 6f15751..fd6718d 100644 --- a/app.ini.tmpl +++ b/app.ini.tmpl @@ -140,5 +140,5 @@ ITEM_TTL = {{ env "GITEA_CACHE_ITEM_TTL" }} ENABLED = {{ env "FORGEJO_METRICS_ENABLED" }} ENABLED_ISSUE_BY_LABEL = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_LABEL" }} ENABLED_ISSUE_BY_REPOSITORY = {{ env "FORGEJO_METRICS_ENABLED_ISSUE_BY_REPOSITORY" }} -TOKEN = {{ secret "metrics_token }} +TOKEN = {{ secret "metrics_token" }} {{ end }} -- 2.49.0 From 11fc77d930e00109f227476a8366b303369a1d4f Mon Sep 17 00:00:00 2001 From: f Date: Tue, 16 Jun 2026 22:57:59 -0300 Subject: [PATCH 4/4] feat: expose metrics coop-cloud/monitoring-ng#20 --- compose.metrics.yml | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/compose.metrics.yml b/compose.metrics.yml index 4c1d152..2081603 100644 --- a/compose.metrics.yml +++ b/compose.metrics.yml @@ -4,6 +4,12 @@ services: app: secrets: - metrics_token + deploy: + labels: + - "prometheus.io/scrape=true" + - "prometheus.io/port=3000" + - "prometheus.io/path=/metrics" + - "prometheus.io/auth=bearer" secrets: metrics_token: name: ${STACK_NAME}_metrics_token_${SECRET_FORGEJO_METRICS_TOKEN_VERSION} -- 2.49.0