feat(gitea): add Umami analytics via custom header template

Injects the Umami tracking script into every Gitea page using a custom
header.tmpl generated at startup via envsubst. Script URL and website ID
are externalized to UMAMI_SCRIPT_URL / UMAMI_WEBSITE_ID env vars.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-06-10 12:49:26 +02:00
parent 9c65cfc9e3
commit e5e6a2c302
3 changed files with 13 additions and 0 deletions
+2
View File
@@ -1,3 +1,5 @@
TRAEFIK_HOST=dev.example.com
NETWORK_NAME=falcon_network
RUNNER_TOKEN=change_me
UMAMI_SCRIPT_URL=https://umami.example.com/script.js
UMAMI_WEBSITE_ID=change_me
+10
View File
@@ -2,6 +2,13 @@ services:
gitea:
image: gitea/gitea:latest
container_name: gitea
entrypoint:
- /bin/sh
- -c
- |
mkdir -p /data/gitea/templates/custom
envsubst '$UMAMI_SCRIPT_URL $UMAMI_WEBSITE_ID' < /etc/gitea-umami/custom/header.tmpl.tpl > /data/gitea/templates/custom/header.tmpl
exec /usr/bin/entrypoint
environment:
TZ: ${TIMEZONE:-Europe/Amsterdam}
USER_UID: 1000
@@ -34,6 +41,8 @@ services:
GITEA__ui__THEMES: gitea-auto,gitea-light,gitea-dark,arc-green,edge-auto,edge-dark,edge-light,everforest-auto,everforest-dark,everforest-light,gruvbox-auto,gruvbox-dark,gruvbox-light,gruvbox-material-auto,gruvbox-material-dark,gruvbox-material-light,nord,palenight,soft-era,sonokai,sonokai-andromeda,sonokai-atlantis,sonokai-espresso,sonokai-maia,sonokai-shusia
GITEA__ui__DEFAULT_THEME: nord
GITEA__ui__ENABLE_FEED: "true"
UMAMI_SCRIPT_URL: ${UMAMI_SCRIPT_URL}
UMAMI_WEBSITE_ID: ${UMAMI_WEBSITE_ID}
ports:
- "2222:2222"
volumes:
@@ -41,6 +50,7 @@ services:
- ../.data/gitea/config:/etc/gitea
- ./css:/data/gitea/public/assets/css:ro
- ./img:/data/gitea/public/assets/img:ro
- ./templates:/etc/gitea-umami:ro
- /etc/localtime:/etc/localtime:ro
depends_on:
db:
+1
View File
@@ -0,0 +1 @@
<script defer src="${UMAMI_SCRIPT_URL}" data-website-id="${UMAMI_WEBSITE_ID}"></script>