<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="de">
	<id>https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Grafana%3A_Installation_mit_Docker_Compose</id>
	<title>Grafana: Installation mit Docker Compose - Versionsgeschichte</title>
	<link rel="self" type="application/atom+xml" href="https://techcorner.max-it.de/index.php?action=history&amp;feed=atom&amp;title=Grafana%3A_Installation_mit_Docker_Compose"/>
	<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Grafana:_Installation_mit_Docker_Compose&amp;action=history"/>
	<updated>2026-10-19T01:56:31Z</updated>
	<subtitle>Versionsgeschichte dieser Seite in maxTechCorner</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://techcorner.max-it.de/index.php?title=Grafana:_Installation_mit_Docker_Compose&amp;diff=4997&amp;oldid=prev</id>
		<title>imported&gt;TechCorner-Redaktion: Neuer Artikel: Image-Wahl, Compose mit PostgreSQL, GF_-Variablen und __FILE, Reverse Proxy, Plugins, Updates</title>
		<link rel="alternate" type="text/html" href="https://techcorner.max-it.de/index.php?title=Grafana:_Installation_mit_Docker_Compose&amp;diff=4997&amp;oldid=prev"/>
		<updated>2026-10-17T00:00:00Z</updated>

		<summary type="html">&lt;p&gt;Neuer Artikel: Image-Wahl, Compose mit PostgreSQL, GF_-Variablen und __FILE, Reverse Proxy, Plugins, Updates&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Neue Seite&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Steckbrief&lt;br /&gt;
| gilt_fuer   = Grafana 13.2 als Docker-Container (grafana/grafana-enterprise bzw. grafana/grafana) mit PostgreSQL 18 auf Linux; Alternative Paketinstallation unter Debian 13&lt;br /&gt;
| bereich     = Server-Software&lt;br /&gt;
| dauer       = ca. 45 Minuten&lt;br /&gt;
| rechte      = Root bzw. Mitglied der Gruppe docker&lt;br /&gt;
| stand       = Oktober 2026&lt;br /&gt;
}}&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Grafana mit Docker Compose installieren&amp;#039;&amp;#039;&amp;#039; ist der schnellste Weg zu einer sauber getrennten, leicht aktualisierbaren Grafana-Instanz: ein Container für Grafana, eine PostgreSQL-Datenbank für Dashboards, Benutzer und Alarmregeln, die Konfiguration komplett über Umgebungsvariablen und Dateien im Projektordner. Diese Anleitung zeigt die Wahl des Images, eine produktionsreife Compose-Datei, die wichtigsten Einstellungen, den Betrieb hinter einem Reverse Proxy und die Installation von Plugins. Wer Grafana lieber als Paket auf Debian installiert, findet das in [[Installation von InfluxDB und Grafana auf Debian 13]].&lt;br /&gt;
&lt;br /&gt;
[[Datei:Grafana-Installation.png|thumb|center|750px|Grafana mit Docker Compose: Container grafana/grafana-enterprise 13.2 (kostenlos, enthält alle Open-Source-Funktionen) auf Port 3000 nur lokal, PostgreSQL 18 statt SQLite für Dashboards, Benutzer und Alarmregeln, Ordner provisioning für Datenquellen und Dashboards, Konfiguration per GF_-Umgebungsvariablen mit Geheimnissen aus Dateien (__FILE), Reverse Proxy mit HTTPS und root_url, Plugins per GF_PLUGINS_PREINSTALL; Admin-Passwort sofort ändern, Registrierung und anonymen Zugriff aus.]]&lt;br /&gt;
&lt;br /&gt;
== Welches Image? ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Image !! Inhalt !! Empfehlung&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;grafana/grafana-enterprise&amp;lt;/code&amp;gt; || alle Open-Source-Funktionen; Enterprise-Funktionen nach Lizenzaktivierung || vom Hersteller als Standard empfohlen, kostenlos&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;grafana/grafana&amp;lt;/code&amp;gt; || reine Open-Source-Version (AGPL-3.0) || wenn ausschließlich Open Source gewünscht ist&lt;br /&gt;
|-&lt;br /&gt;
| &amp;lt;code&amp;gt;grafana/grafana-oss&amp;lt;/code&amp;gt; || veraltet || wird seit 12.4 nicht mehr aktualisiert&lt;br /&gt;
|}&lt;br /&gt;
Die Standard-Images basieren auf Alpine Linux. Immer eine &amp;#039;&amp;#039;&amp;#039;feste Version&amp;#039;&amp;#039;&amp;#039; wie &amp;lt;code&amp;gt;13.2.4&amp;lt;/code&amp;gt; verwenden.&lt;br /&gt;
&lt;br /&gt;
== Schritt 1: Verzeichnisse und Geheimnisse ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
sudo mkdir -p /opt/grafana/{provisioning/datasources,provisioning/dashboards,secrets,backup} &amp;amp;&amp;amp; cd /opt/grafana&lt;br /&gt;
openssl rand -base64 24 &amp;gt; secrets/admin_password&lt;br /&gt;
openssl rand -hex 24     &amp;gt; secrets/db_password&lt;br /&gt;
sudo chmod 600 secrets/*&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schritt 2: Grafana mit Docker Compose konfigurieren ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;yaml&amp;quot;&amp;gt;&lt;br /&gt;
services:&lt;br /&gt;
  grafana:&lt;br /&gt;
    image: grafana/grafana-enterprise:13.2.4&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    depends_on: [db]&lt;br /&gt;
    ports:&lt;br /&gt;
      - &amp;quot;127.0.0.1:3000:3000&amp;quot;&lt;br /&gt;
    volumes:&lt;br /&gt;
      - grafana-data:/var/lib/grafana&lt;br /&gt;
      - ./provisioning:/etc/grafana/provisioning:ro&lt;br /&gt;
      - ./secrets:/run/secrets:ro&lt;br /&gt;
    environment:&lt;br /&gt;
      GF_SERVER_ROOT_URL: https://grafana.firma.de/&lt;br /&gt;
      GF_SERVER_DOMAIN: grafana.firma.de&lt;br /&gt;
      GF_DATABASE_TYPE: postgres&lt;br /&gt;
      GF_DATABASE_HOST: db:5432&lt;br /&gt;
      GF_DATABASE_NAME: grafana&lt;br /&gt;
      GF_DATABASE_USER: grafana&lt;br /&gt;
      GF_DATABASE_PASSWORD__FILE: /run/secrets/db_password&lt;br /&gt;
      GF_SECURITY_ADMIN_PASSWORD__FILE: /run/secrets/admin_password&lt;br /&gt;
      GF_SECURITY_COOKIE_SECURE: &amp;quot;true&amp;quot;&lt;br /&gt;
      GF_SECURITY_DISABLE_GRAVATAR: &amp;quot;true&amp;quot;&lt;br /&gt;
      GF_USERS_ALLOW_SIGN_UP: &amp;quot;false&amp;quot;&lt;br /&gt;
      GF_AUTH_ANONYMOUS_ENABLED: &amp;quot;false&amp;quot;&lt;br /&gt;
      GF_ANALYTICS_REPORTING_ENABLED: &amp;quot;false&amp;quot;&lt;br /&gt;
      GF_SMTP_ENABLED: &amp;quot;true&amp;quot;&lt;br /&gt;
      GF_SMTP_HOST: smtp.firma.de:587&lt;br /&gt;
      GF_SMTP_FROM_ADDRESS: grafana@firma.de&lt;br /&gt;
      GF_DATE_FORMATS_DEFAULT_TIMEZONE: Europe/Berlin&lt;br /&gt;
      GF_PLUGINS_PREINSTALL: alexanderzobnin-zabbix-app&lt;br /&gt;
&lt;br /&gt;
  db:&lt;br /&gt;
    image: postgres:18&lt;br /&gt;
    restart: unless-stopped&lt;br /&gt;
    volumes:&lt;br /&gt;
      - ./pgdata:/var/lib/postgresql&lt;br /&gt;
    environment:&lt;br /&gt;
      POSTGRES_DB: grafana&lt;br /&gt;
      POSTGRES_USER: grafana&lt;br /&gt;
      POSTGRES_PASSWORD_FILE: /run/secrets/db_password&lt;br /&gt;
    secrets: [db_password]&lt;br /&gt;
&lt;br /&gt;
secrets:&lt;br /&gt;
  db_password:&lt;br /&gt;
    file: ./secrets/db_password&lt;br /&gt;
&lt;br /&gt;
volumes:&lt;br /&gt;
  grafana-data:&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Jede Einstellung&amp;#039;&amp;#039;&amp;#039; aus &amp;lt;code&amp;gt;grafana.ini&amp;lt;/code&amp;gt; lässt sich als Umgebungsvariable &amp;lt;code&amp;gt;GF_&amp;lt;ABSCHNITT&amp;gt;_&amp;lt;SCHLÜSSEL&amp;gt;&amp;lt;/code&amp;gt; setzen; mit dem Zusatz &amp;lt;code&amp;gt;__FILE&amp;lt;/code&amp;gt; liest Grafana den Wert aus einer Datei – Passwörter stehen so nicht in der Compose-Datei.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PostgreSQL statt SQLite&amp;#039;&amp;#039;&amp;#039;: SQLite reicht für Tests, für mehrere Benutzer, viele Alarmregeln und einen späteren Hochverfügbarkeitsbetrieb ist PostgreSQL robuster. Bei SQLite kann die Speichermigration von Grafana 13 an Sperren scheitern.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Plugins&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;GF_PLUGINS_PREINSTALL&amp;lt;/code&amp;gt; installiert Plugins beim Start, hier als Beispiel das Zabbix-Plugin. Nur benötigte und gepflegte Plugins installieren.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Telemetrie&amp;#039;&amp;#039;&amp;#039;: &amp;lt;code&amp;gt;GF_ANALYTICS_REPORTING_ENABLED=false&amp;lt;/code&amp;gt; schaltet die anonyme Nutzungsstatistik an Grafana Labs ab.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
docker compose up -d &amp;amp;&amp;amp; docker compose logs -f grafana&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Schritt 3: Reverse Proxy ==&lt;br /&gt;
Grafana lauscht nur lokal; ein [[Reverse Proxy]] stellt &amp;lt;code&amp;gt;https://grafana.firma.de&amp;lt;/code&amp;gt; bereit. Beispiel nginx:&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;nginx&amp;quot;&amp;gt;&lt;br /&gt;
location / {&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_pass http://127.0.0.1:3000;&lt;br /&gt;
}&lt;br /&gt;
location /api/live/ {&lt;br /&gt;
    proxy_http_version 1.1;&lt;br /&gt;
    proxy_set_header Upgrade $http_upgrade;&lt;br /&gt;
    proxy_set_header Connection &amp;quot;upgrade&amp;quot;;&lt;br /&gt;
    proxy_set_header Host $host;&lt;br /&gt;
    proxy_pass http://127.0.0.1:3000;&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;/api/live/&amp;lt;/code&amp;gt; ist der WebSocket-Pfad für Live-Aktualisierungen.&lt;br /&gt;
* &amp;lt;code&amp;gt;GF_SERVER_ROOT_URL&amp;lt;/code&amp;gt; muss der öffentlichen Adresse entsprechen – sonst funktionieren Links in Alarm-Mails und die Anmeldung mit Entra ID nicht. Für einen Unterpfad wie &amp;lt;code&amp;gt;/grafana/&amp;lt;/code&amp;gt; zusätzlich &amp;lt;code&amp;gt;GF_SERVER_SERVE_FROM_SUB_PATH=true&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Grafana gehört ins interne Netz bzw. VPN; nur wenn nötig öffentlich, dann mit SSO und zusätzlichem Schutz.&lt;br /&gt;
&lt;br /&gt;
== Schritt 4: Erste Anmeldung ==&lt;br /&gt;
# &amp;lt;code&amp;gt;https://grafana.firma.de&amp;lt;/code&amp;gt; öffnen, als &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; mit dem Passwort aus &amp;lt;code&amp;gt;secrets/admin_password&amp;lt;/code&amp;gt; anmelden.&lt;br /&gt;
# Unter &amp;#039;&amp;#039;Administration › Users and access&amp;#039;&amp;#039; persönliche Konten bzw. SSO einrichten, siehe [[Grafana: Benutzer, Rechte und Anmeldung mit Entra ID]]; das Konto &amp;lt;code&amp;gt;admin&amp;lt;/code&amp;gt; nur noch als Notfallzugang nutzen.&lt;br /&gt;
# Mit dem &amp;#039;&amp;#039;&amp;#039;Grafana Advisor&amp;#039;&amp;#039;&amp;#039; (im Bereich &amp;#039;&amp;#039;Administration&amp;#039;&amp;#039;) die Gesundheitsprüfung der Instanz laufen lassen – er meldet z. B. veraltete Plugins und fehlerhafte Datenquellen.&lt;br /&gt;
# Erste Datenquelle anlegen, siehe [[Grafana: Datenquellen und Dashboards erstellen]].&lt;br /&gt;
&lt;br /&gt;
== Updates ==&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;bash&amp;quot;&amp;gt;&lt;br /&gt;
cd /opt/grafana&lt;br /&gt;
docker compose exec -T db pg_dump -U grafana -Fc grafana &amp;gt; backup/grafana-$(date +%F).dump&lt;br /&gt;
# Tag in compose.yaml anheben, dann:&lt;br /&gt;
docker compose pull &amp;amp;&amp;amp; docker compose up -d &amp;amp;&amp;amp; docker compose logs --tail 100 grafana&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
* Patch-Versionen (z. B. 13.2.3 → 13.2.4) enthalten Sicherheitskorrekturen – zeitnah einspielen.&lt;br /&gt;
* Beim Wechsel der Haupt- oder Minor-Version die Upgrade-Hinweise lesen; Grafana 13 hat einige Änderungen, die Skripte und Plugins betreffen, siehe [[Grafana: Absichern, Backup und Updates]].&lt;br /&gt;
* Ab Grafana 13 heißen die Kommandos &amp;lt;code&amp;gt;grafana cli&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;grafana server&amp;lt;/code&amp;gt;; &amp;lt;code&amp;gt;grafana-cli&amp;lt;/code&amp;gt; und &amp;lt;code&amp;gt;grafana-server&amp;lt;/code&amp;gt; gibt es nicht mehr.&lt;br /&gt;
&lt;br /&gt;
== Hinweise ==&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Bildwiedergabe&amp;#039;&amp;#039;&amp;#039; (PNG-Export, Bilder in Alarm-Mails, Berichte) braucht seit Grafana 13 den Image Renderer als eigenen Dienst; das frühere Plugin wird nicht mehr unterstützt.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Hochverfügbarkeit&amp;#039;&amp;#039;&amp;#039;: Mehrere Grafana-Container mit gemeinsamer PostgreSQL-Datenbank hinter einem Load Balancer sind möglich; für das Alerting dann die HA-Einstellungen beachten.&lt;br /&gt;
* Bei Aufbau und Betrieb von Linux-Servern und Containern unterstützt Sie das [https://www.max-it.de/it-services/linux-consulting/ Linux-Consulting von m.a.x. it].&lt;br /&gt;
&lt;br /&gt;
== Siehe auch ==&lt;br /&gt;
* [[Grafana im Unternehmen]] – Überblick und alle Artikel der Reihe&lt;br /&gt;
* [[Installation von InfluxDB und Grafana auf Debian 13]]&lt;br /&gt;
* [[Docker]]&lt;br /&gt;
* [[PostgreSQL]]&lt;br /&gt;
&lt;br /&gt;
== Links und Quellen ==&lt;br /&gt;
* [https://grafana.com/docs/grafana/latest/setup-grafana/installation/docker/ Grafana-Dokumentation: Run Grafana Docker image]&lt;br /&gt;
* [https://www.max-it.de/it-services/linux-consulting/ Linux-Consulting von m.a.x. it]&lt;br /&gt;
&lt;br /&gt;
{{Uebermax}}&lt;br /&gt;
[[Kategorie:Server-Software]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;TechCorner-Redaktion</name></author>
	</entry>
</feed>