Personal Homelab
1[Unit]
2Description=Grafana Quadlet
3
4[Container]
5Image=docker.io/grafana/grafana:12.3.0
6AutoUpdate=registry
7ContainerName=grafana
8
9User=1000:1000
10UserNS=keep-id:uid=1000,gid=1000
11
12Environment=GF_SERVER_ROOT_URL=https://grafana.${base_domain}
13Environment=GF_SECURITY_DISABLE_INITIAL_ADMIN_CREATION=true
14Environment=GF_SECURITY_DISABLE_GRAVATAR=true
15Environment=GF_SECURITY_COOKIE_SECURE=true
16Environment=GF_ANALYTICS_REPORTING_ENABLED=false
17Environment=GF_AUTH_DISABLE_LOGIN_FORM=true
18Environment=GF_AUTH_GENERIC_OAUTH_ENABLED=true
19Environment=GF_AUTH_GENERIC_OAUTH_NAME="Pocket ID"
20Environment=GF_AUTH_GENERIC_OAUTH_CLIENT_ID=0c6733c5-b20a-4947-a604-c1e2f5dbe972
21Environment=GF_AUTH_GENERIC_OAUTH_AUTH_URL=https://id.${base_domain}/authorize
22Environment=GF_AUTH_GENERIC_OAUTH_TOKEN_URL=https://id.${base_domain}/api/oidc/token
23Environment=GF_AUTH_GENERIC_OAUTH_API_URL=https://id.${base_domain}/api/oidc/userinfo
24Environment=GF_AUTH_GENERIC_OAUTH_SCOPES="openid profile email"
25Environment=GF_AUTH_GENERIC_OAUTH_LOGIN_ATTRIBUTE_PATH=preferred_username
26Environment=GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_PATH=grafana_role
27Environment=GF_AUTH_GENERIC_OAUTH_ROLE_ATTRIBUTE_STRICT=true
28Environment=GF_AUTH_GENERIC_OAUTH_ALLOW_ASSIGN_GRAFANA_ADMIN=true
29Environment=GF_AUTH_GENERIC_OAUTH_USE_PKCE=true
30Environment=GF_LOG_MODE=console
31Environment=GF_LOG_CONSOLE_FORMAT=json
32Environment=GF_PLUGINS_PREINSTALL=victoriametrics-metrics-datasource,victoriametrics-logs-datasource
33Secret=grafana-oauth2-client-secret,type=env,target=GF_AUTH_GENERIC_OAUTH_CLIENT_SECRET
34
35Label="glance.name=Grafana"
36Label="glance.icon=di:grafana"
37Label="glance.url=https://grafana.${base_domain}"
38Label="glance.description=Data-visualization Platform"
39Label="glance.hide=false"
40
41Label="traefik.enable=true"
42Label="traefik.http.routers.grafana.rule=Host(`grafana.${base_domain}`)"
43
44Volume=/var/mnt/docker/app_data/grafana/data:/var/lib/grafana:Z
45
46Network=reverse-proxy.network
47
48[Service]
49TimeoutStartSec=900
50Restart=always
51
52[Install]
53WantedBy=multi-user.target default.target