diff --git a/.env.sample b/.env.sample index 90889a6..cae4ad3 100644 --- a/.env.sample +++ b/.env.sample @@ -97,3 +97,10 @@ 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_FORGEJO_METRICS_TOKEN_VERSION=v1 +# COMPOSE_FILE="$COMPOSE_FILE:compose.metrics.yml" 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..fd6718d 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 }} diff --git a/compose.metrics.yml b/compose.metrics.yml new file mode 100644 index 0000000..2081603 --- /dev/null +++ b/compose.metrics.yml @@ -0,0 +1,16 @@ +--- +version: "3.8" +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} + external: true