Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Off Topic
  4. Grafana
  5. Schreibrechte auf grafana.ini in Docker

NEWS

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    15
    1
    406

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.9k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    14
    1
    2.3k

Schreibrechte auf grafana.ini in Docker

Geplant Angeheftet Gesperrt Verschoben Grafana
67 Beiträge 6 Kommentatoren 3.4k Aufrufe 4 Watching
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • CodierknechtC Codierknecht

    @legro

    Also zunächst mal ein paar Worte zu Docker:
    So ein Container ist als "Wegwerfartikel" konzeptioniert. Den zieht man hoch, macht was damit und wirft den anschließend wieder weg.
    Das ist dazu gedacht, "mal eben" eine Umgebung hochzuziehen und damit etwas anzustellen.

    Was man wiederverwenden möchte, wird über gemappte Verzeichnisse geregelt. Also indem man wie hier das Verzeichnis /var/lib/grafana extern mappt. Darin liegen dann z.B. die Plugins etc.

    Um die Einstellungen für "Panels in Vis" vorzunehmen, passt man üblicherweise die grafana.ini an ... das stimmt schon.
    Aber nicht in Docker-Containern!
    Hier werden die Einstellungen über Umgebungsvariablen vorgenommen, die man über das Compose als environment mitgibt.

    services:
      grafana:
        image: grafana/grafana
        container_name: grafana
        restart: unless-stopped
        ports:
          - '3000:3000'
        environment:
          - GF_SECURITY_COOKIE_SAMESITE=disabled
          - GF_SECURITY_ALLOW_EMBEDDING=true
        volumes:
          - /volume1/docker/grafana:/var/lib/grafana
    

    Damit kann man das Zeug immer wieder starten, verwerfen und komplett neu bauen, ohne dass man nach dem Start noch an Dateien im Container rumfummeln muss.

    L Offline
    L Offline
    legro
    schrieb am zuletzt editiert von legro
    #46

    @codierknecht sagte in Schreibrechte auf grafana.ini in Docker:

    @legro

    Also zunächst mal ein paar Worte zu Docker:

    Das ist mir bereits soweit alles klar.

    Um die Einstellungen für "Panels in Vis" vorzunehmen, passt man üblicherweise die grafana.ini an ... das stimmt schon.
    Aber nicht in Docker-Containern!
    Hier werden die Einstellungen über Umgebungsvariablen vorgenommen, die man über das Compose als environment mitgibt.

    services:
      grafana:
        image: grafana/grafana
        container_name: grafana
        restart: unless-stopped
        ports:
          - '3000:3000'
        environment:
          - GF_SECURITY_COOKIE_SAMESITE=disabled
          - GF_SECURITY_ALLOW_EMBEDDING=true
        volumes:
          - /volume1/docker/grafana:/var/lib/grafana
    

    Damit kann man das Zeug immer wieder starten, verwerfen und komplett neu bauen, ohne dass man nach dem Start noch an Dateien im Container rumfummeln muss.

    In der Tat, das ist sehr praktisch und ich bin froh, dass ich das mit dem compose verstanden habe.

    Nun zu den Einstellungen, die ich in der grafana.ini immer durchführe ..

    [auth.anonymous]
    enabled = true
    org_name = org_galegro
    org_role = Viewer
    
    [security]
    allow_embedding = true
    

    Wie sieht die compose.yaml für diesen Fall aus?

    Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
    Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

    CodierknechtC 1 Antwort Letzte Antwort
    0
    • OliverIOO OliverIO

      @codierknecht

      Ja leider ist an dem Punkt die Dokumentation nicht so gut.
      Auch wissen wir nicht was er genau da ändern will.
      Wenn man auf folgender Seite die Beschreibung zur grafana.ini liest, sollte man tatsächlich jede Einstellung auch nur über Environment variablen verändern können.
      Das wäre dann noch einfacher wie die grafana.ini nach außen zu legen.
      Am Anfang der Seite sind ein paar wenige Beispiele von denen sich das Schema ableiten lässt

      • alles Großbuchstaben
      • beginnt immer mit GF
      • an 2. Position dann der sektionsname aus der ini
      • dann der eigentliche konfigurationsname
      • Trennung immer mit underscore _
        https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#configure-with-environment-variables

      Hier habe ich mal ein Beispiel einer docker-compose/stacks wo man sieht wie das aussehen kann.

      Spätestens hier würde ich den Container nicht mehr über einen Shell Befehl konfigurieren und starten, sondern nur noch über docker compose, sonst wird das unübersichtlich

      https://volkovlabs.io/blog/using-environment-variables-for-configuration-provisioning-and-dashboards-in-grafana-279661733416/#docker

      OliverIOO Offline
      OliverIOO Offline
      OliverIO
      schrieb am zuletzt editiert von OliverIO
      #47

      Lies dir das nochmal (sorgfältig) durch (inklusive link) und stelle dann die Frage nochmal

      @oliverio sagte in Schreibrechte auf grafana.ini in Docker:

      @codierknecht

      Ja leider ist an dem Punkt die Dokumentation nicht so gut.
      Auch wissen wir nicht was er genau da ändern will.
      Wenn man auf folgender Seite die Beschreibung zur grafana.ini liest, sollte man tatsächlich jede Einstellung auch nur über Environment variablen verändern können.
      Das wäre dann noch einfacher wie die grafana.ini nach außen zu legen.
      Am Anfang der Seite sind ein paar wenige Beispiele von denen sich das Schema ableiten lässt

      • alles Großbuchstaben
      • beginnt immer mit GF
      • an 2. Position dann der sektionsname aus der ini
      • dann der eigentliche konfigurationsname
      • Trennung immer mit underscore _
        https://grafana.com/docs/grafana/latest/setup-grafana/configure-grafana/#configure-with-environment-variables

      Hier habe ich mal ein Beispiel einer docker-compose/stacks wo man sieht wie das aussehen kann.

      Spätestens hier würde ich den Container nicht mehr über einen Shell Befehl konfigurieren und starten, sondern nur noch über docker compose, sonst wird das unübersichtlich

      https://volkovlabs.io/blog/using-environment-variables-for-configuration-provisioning-and-dashboards-in-grafana-279661733416/#docker

      Meine Adapter und Widgets
      TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
      Links im Profil

      1 Antwort Letzte Antwort
      0
      • L legro

        @codierknecht sagte in Schreibrechte auf grafana.ini in Docker:

        @legro

        Also zunächst mal ein paar Worte zu Docker:

        Das ist mir bereits soweit alles klar.

        Um die Einstellungen für "Panels in Vis" vorzunehmen, passt man üblicherweise die grafana.ini an ... das stimmt schon.
        Aber nicht in Docker-Containern!
        Hier werden die Einstellungen über Umgebungsvariablen vorgenommen, die man über das Compose als environment mitgibt.

        services:
          grafana:
            image: grafana/grafana
            container_name: grafana
            restart: unless-stopped
            ports:
              - '3000:3000'
            environment:
              - GF_SECURITY_COOKIE_SAMESITE=disabled
              - GF_SECURITY_ALLOW_EMBEDDING=true
            volumes:
              - /volume1/docker/grafana:/var/lib/grafana
        

        Damit kann man das Zeug immer wieder starten, verwerfen und komplett neu bauen, ohne dass man nach dem Start noch an Dateien im Container rumfummeln muss.

        In der Tat, das ist sehr praktisch und ich bin froh, dass ich das mit dem compose verstanden habe.

        Nun zu den Einstellungen, die ich in der grafana.ini immer durchführe ..

        [auth.anonymous]
        enabled = true
        org_name = org_galegro
        org_role = Viewer
        
        [security]
        allow_embedding = true
        

        Wie sieht die compose.yaml für diesen Fall aus?

        CodierknechtC Offline
        CodierknechtC Offline
        Codierknecht
        Developer Most Active
        schrieb am zuletzt editiert von
        #48

        @legro

        Embedding in Vis aus einem Grafana-Container:

        a01da09f-0ff6-4c84-ab7b-277ee80ced41-image.png

        services:
          grafana:
            image: grafana/grafana-oss
            container_name: grafana
            restart: unless-stopped
            ports:
              - '3000:3000'
            environment:
              - GF_SECURITY_COOKIE_SAMESITE=disabled
              - GF_SECURITY_ALLOW_EMBEDDING=true
              - GF_AUTH_ANONYMOUS_ENABLED=true
              - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
              - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
            volumes:
              - /volume1/docker/grafana/data:/var/lib/grafana
        
        

        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
        HmIP|ZigBee|Tasmota|Unifi
        Zabbix Certified Specialist
        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

        1 Antwort Letzte Antwort
        1
        • OliverIOO OliverIO

          @legro

          Eigentlich hab ich dir das doch Schritt für Schritt oben beschrieben. Wenn die Dateien von grafana nach geafana1 kopiert worden sind liegen sie in deinem externen Ordner den du dann als normalen grafana einbindest, hier von oben kopiert:

          —-
          im anschluss änderst du im docker-compose das
          /etc/grafana1
          nach
          /etc/grafana

          und startest den container neu

          dann müsste er normal starten.
          dann kannst du die datei grafana.ini die sich in deinem lokalen verzeichnis auf der synology befindet bearbeiten.

          —-
          Bitte genau auf die Formulierungen
          IM Container
          und
          Lokaler Ordner/Verzeichnis
          achten

          L Offline
          L Offline
          legro
          schrieb am zuletzt editiert von legro
          #49

          @oliverio

          Tut mir leid, aber vermutlich habe ich das noch immer nicht so richtig verstanden.

          Ich habe /etc/grafana1 zu /etc/grafana in compose.yaml geändert. Anschließend habe ich einen Neustart des Containers ausgelöst.

          Schaue ichanschließend in die Eigenschaften des Containers ..

          c7dee637-7f5e-4bf6-835a-508a6128ea45-image.png

          .. so ist das Mapping unverändert zu /etc/grafana1.

          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

          CodierknechtC 1 Antwort Letzte Antwort
          0
          • L legro

            @oliverio

            Tut mir leid, aber vermutlich habe ich das noch immer nicht so richtig verstanden.

            Ich habe /etc/grafana1 zu /etc/grafana in compose.yaml geändert. Anschließend habe ich einen Neustart des Containers ausgelöst.

            Schaue ichanschließend in die Eigenschaften des Containers ..

            c7dee637-7f5e-4bf6-835a-508a6128ea45-image.png

            .. so ist das Mapping unverändert zu /etc/grafana1.

            CodierknechtC Offline
            CodierknechtC Offline
            Codierknecht
            Developer Most Active
            schrieb am zuletzt editiert von Codierknecht
            #50

            @legro sagte in Schreibrechte auf grafana.ini in Docker:

            Ich habe /etc/grafana1 zu /etc/grafana in compose.yaml geändert. Anschließend habe ich einen Neustart des Containers ausgelöst.

            Warum per externer Datei? Nimm doch den eingebauten Editor.

            2fcec7df-4986-441d-8fcd-087daac38bb9-image.png

            Das Projekt muss danach neu erstellt werden.

            "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

            Proxmox 9.1.1 LXC|8 GB|Core i7-6700
            HmIP|ZigBee|Tasmota|Unifi
            Zabbix Certified Specialist
            Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

            L 1 Antwort Letzte Antwort
            0
            • CodierknechtC Codierknecht

              @legro sagte in Schreibrechte auf grafana.ini in Docker:

              Ich habe /etc/grafana1 zu /etc/grafana in compose.yaml geändert. Anschließend habe ich einen Neustart des Containers ausgelöst.

              Warum per externer Datei? Nimm doch den eingebauten Editor.

              2fcec7df-4986-441d-8fcd-087daac38bb9-image.png

              Das Projekt muss danach neu erstellt werden.

              L Offline
              L Offline
              legro
              schrieb am zuletzt editiert von legro
              #51

              @codierknecht sagte in Schreibrechte auf grafana.ini in Docker:

              Warum per externer Datei? Nimm doch den eingebauten Editor.

              2fcec7df-4986-441d-8fcd-087daac38bb9-image.png

              Das Projekt muss danach neu erstellt werden.

              Wir müssen aufpassen, den Überblick nicht zu verlieren. Dein Vorschlag, alles über Umgebungsvariablen zu regeln, ist eine Lösung; der Vorschlag von @OliverIO beruht m.E. auf dem Versuch, /etc/grafana auf mein externes Verzeichnis ../grafana2/data zu mappen.

              Wenn wir all das umgesetzt bekämen, hätten wir am Ende gar gleich zwei Lösungen für mein Problem.

              Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
              Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

              OliverIOO 1 Antwort Letzte Antwort
              0
              • L legro

                @codierknecht sagte in Schreibrechte auf grafana.ini in Docker:

                Warum per externer Datei? Nimm doch den eingebauten Editor.

                2fcec7df-4986-441d-8fcd-087daac38bb9-image.png

                Das Projekt muss danach neu erstellt werden.

                Wir müssen aufpassen, den Überblick nicht zu verlieren. Dein Vorschlag, alles über Umgebungsvariablen zu regeln, ist eine Lösung; der Vorschlag von @OliverIO beruht m.E. auf dem Versuch, /etc/grafana auf mein externes Verzeichnis ../grafana2/data zu mappen.

                Wenn wir all das umgesetzt bekämen, hätten wir am Ende gar gleich zwei Lösungen für mein Problem.

                OliverIOO Offline
                OliverIOO Offline
                OliverIO
                schrieb am zuletzt editiert von
                #52

                @legro
                Na das mit den umgebungsvariablen hatte codierknecht und ich ziemlich am Anfang schon vorgeschlagen. Darauf bist du aber nicht eingegangen, weil ich davon ausgegangen bin das es dir nicht gefallen hat, bin ich dann den anderen Weg mit dir gegangen.

                Ich gehe davon aus, das man den Text immer vollständig liest und bei Dingen die man da nicht versteht nachfragt.

                Meine Adapter und Widgets
                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                Links im Profil

                L 2 Antworten Letzte Antwort
                1
                • OliverIOO OliverIO

                  @legro
                  Na das mit den umgebungsvariablen hatte codierknecht und ich ziemlich am Anfang schon vorgeschlagen. Darauf bist du aber nicht eingegangen, weil ich davon ausgegangen bin das es dir nicht gefallen hat, bin ich dann den anderen Weg mit dir gegangen.

                  Ich gehe davon aus, das man den Text immer vollständig liest und bei Dingen die man da nicht versteht nachfragt.

                  L Offline
                  L Offline
                  legro
                  schrieb am zuletzt editiert von
                  #53

                  @oliverio sagte in Schreibrechte auf grafana.ini in Docker:

                  .., weil ich davon ausgegangen bin das es dir nicht gefallen hat, bin ich dann den anderen Weg mit dir gegangen.

                  Ich wusste zu dem Zeitpunkt noch nichts damit anzufangen.

                  Ich gehe davon aus, das man den Text immer vollständig liest und bei Dingen die man da nicht versteht nachfragt.

                  Dann hoffe ich mal, dass du auch meine letzte Antwort gelesen hast.😉

                  Warum sollte ich die Datei compose.yaml ändern? Nach der von dir vorgeschlagenen Änderung und dem Neustart des Containers ist noch immer /etc/grafana1 gemappt.

                  Muss/soll ich den Container löschen und neu erstellen?

                  Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                  Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                  CodierknechtC 1 Antwort Letzte Antwort
                  0
                  • L legro

                    @oliverio sagte in Schreibrechte auf grafana.ini in Docker:

                    .., weil ich davon ausgegangen bin das es dir nicht gefallen hat, bin ich dann den anderen Weg mit dir gegangen.

                    Ich wusste zu dem Zeitpunkt noch nichts damit anzufangen.

                    Ich gehe davon aus, das man den Text immer vollständig liest und bei Dingen die man da nicht versteht nachfragt.

                    Dann hoffe ich mal, dass du auch meine letzte Antwort gelesen hast.😉

                    Warum sollte ich die Datei compose.yaml ändern? Nach der von dir vorgeschlagenen Änderung und dem Neustart des Containers ist noch immer /etc/grafana1 gemappt.

                    Muss/soll ich den Container löschen und neu erstellen?

                    CodierknechtC Offline
                    CodierknechtC Offline
                    Codierknecht
                    Developer Most Active
                    schrieb am zuletzt editiert von Codierknecht
                    #54

                    @legro sagte in Schreibrechte auf grafana.ini in Docker:

                    Muss/soll ich den Container löschen und neu erstellen?

                    Nimm dieses Docker-Compose:

                    services:
                      grafana:
                        image: grafana/grafana-oss
                        container_name: grafana
                        restart: unless-stopped
                        ports:
                          - '3000:3000'
                        environment:
                          - GF_SECURITY_COOKIE_SAMESITE=disabled
                          - GF_SECURITY_ALLOW_EMBEDDING=true
                          - GF_AUTH_ANONYMOUS_ENABLED=true
                          - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
                          - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
                        volumes:
                          - /volume1/docker/grafana/data:/var/lib/grafana
                    

                    pack das in den Editor in der GUI, passe den Pfad an und beim Speichern wählst Du die Option "neu erstellen".

                    bf489291-70dd-4cb9-92df-b76808b7a2cf-image.png

                    Man muss da gar nicht an Dateien rumeditieren. Geht alles über das UI.

                    "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                    Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                    HmIP|ZigBee|Tasmota|Unifi
                    Zabbix Certified Specialist
                    Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                    L 1 Antwort Letzte Antwort
                    0
                    • CodierknechtC Codierknecht

                      @legro sagte in Schreibrechte auf grafana.ini in Docker:

                      Muss/soll ich den Container löschen und neu erstellen?

                      Nimm dieses Docker-Compose:

                      services:
                        grafana:
                          image: grafana/grafana-oss
                          container_name: grafana
                          restart: unless-stopped
                          ports:
                            - '3000:3000'
                          environment:
                            - GF_SECURITY_COOKIE_SAMESITE=disabled
                            - GF_SECURITY_ALLOW_EMBEDDING=true
                            - GF_AUTH_ANONYMOUS_ENABLED=true
                            - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
                            - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
                          volumes:
                            - /volume1/docker/grafana/data:/var/lib/grafana
                      

                      pack das in den Editor in der GUI, passe den Pfad an und beim Speichern wählst Du die Option "neu erstellen".

                      bf489291-70dd-4cb9-92df-b76808b7a2cf-image.png

                      Man muss da gar nicht an Dateien rumeditieren. Geht alles über das UI.

                      L Offline
                      L Offline
                      legro
                      schrieb am zuletzt editiert von
                      #55

                      @codierknecht sagte in Schreibrechte auf grafana.ini in Docker:

                      Nimm dieses Docker-Compose: ..

                      Nachdem ich nun um die Verwendung von Umgebungsvariablen weiß, will ich das Ganze auch verstehen. Was ich glaube verstanden zu haben ..

                      • Alle Variablen beginnen mit dem Präfix GF_.
                      • Danach folgt der Bereich oder Abschnitt aus der grafana.ini-Konfigurationsdatei, der verändert werden soll, in Großbuchstaben (z.B. SECURITY, SERVER, AUTH).
                      • Anschließend folgt der Name der Option aus der grafana.ini (ebenfalls in Großbuchstaben!) angefügt mit Unterstrichen.
                      • Alle Elemente werden stets mit Unterstrichen von einander getrennt notiert.

                      Beispiel: Somit sollte das Admin-Passwort in der Sektion [security] der grafana.ini heißen: GF_SECURITY_ADMIN_PASSWORD=<mein Passwort>

                      Ist das so richtig?

                      Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                      Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                      CodierknechtC 1 Antwort Letzte Antwort
                      0
                      • L legro

                        @codierknecht sagte in Schreibrechte auf grafana.ini in Docker:

                        Nimm dieses Docker-Compose: ..

                        Nachdem ich nun um die Verwendung von Umgebungsvariablen weiß, will ich das Ganze auch verstehen. Was ich glaube verstanden zu haben ..

                        • Alle Variablen beginnen mit dem Präfix GF_.
                        • Danach folgt der Bereich oder Abschnitt aus der grafana.ini-Konfigurationsdatei, der verändert werden soll, in Großbuchstaben (z.B. SECURITY, SERVER, AUTH).
                        • Anschließend folgt der Name der Option aus der grafana.ini (ebenfalls in Großbuchstaben!) angefügt mit Unterstrichen.
                        • Alle Elemente werden stets mit Unterstrichen von einander getrennt notiert.

                        Beispiel: Somit sollte das Admin-Passwort in der Sektion [security] der grafana.ini heißen: GF_SECURITY_ADMIN_PASSWORD=<mein Passwort>

                        Ist das so richtig?

                        CodierknechtC Offline
                        CodierknechtC Offline
                        Codierknecht
                        Developer Most Active
                        schrieb am zuletzt editiert von Codierknecht
                        #56

                        @legro sagte in Schreibrechte auf grafana.ini in Docker:

                        Ist das so richtig?

                        So verstehe ich das auch. Die Doku ist da ein bisschen unübersichtlich.

                        Gib mir ein paar Minuten ... ich probiere das aus.

                        Edit
                        Sieht so aus, als würde das funktionieren :grin:

                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                        HmIP|ZigBee|Tasmota|Unifi
                        Zabbix Certified Specialist
                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                        1 Antwort Letzte Antwort
                        1
                        • OliverIOO OliverIO

                          @legro
                          Na das mit den umgebungsvariablen hatte codierknecht und ich ziemlich am Anfang schon vorgeschlagen. Darauf bist du aber nicht eingegangen, weil ich davon ausgegangen bin das es dir nicht gefallen hat, bin ich dann den anderen Weg mit dir gegangen.

                          Ich gehe davon aus, das man den Text immer vollständig liest und bei Dingen die man da nicht versteht nachfragt.

                          L Offline
                          L Offline
                          legro
                          schrieb am zuletzt editiert von
                          #57

                          @oliverio

                          Nun möchte ich auch deinen Lösungsvorschlag verstehen. Könntest du mich bitte dabei unterstützen?

                          Wenn ich das Ganze richtig verstanden habe ..

                          • Es ist (warum auch immer) nicht möglich das Docker interne Verzeichnis /etc/grafana auf ein externes Verzeichnis auf der Synology (../grafana2/config) zu mappen.
                          • Daher wird das in Docker nicht existierende interne Verzeichnis /etc/grafana1 auf das externe ../grafana2/config gemappt.
                          • Nun kann man im Terminal mittels ..
                            sudo docker exec -it grafana2 /bin/bash
                            cp -r /etc/grafana/* /etc/grafana1/ den Inhalt in das externe Verzeichnis ../grafana2/config kopieren.
                            Im der Terminal der Synology kann ich nun grafana.ini nach Belieben anpassen.

                          So weit, so gut. Und nun?

                          Ich sehe nun nur die Möglichkeit erneut im Terminal intern den Inhalt des externen Verzeichnisses nun umgekehrt nach /etc/granfana zu kopieren, wobei es in meinem Fall ausreicht, grafana.ini zu überschreiben/kopieren.

                          Ich sehe keine Möglichkeit durch Änderungen von compose.yml das externe Verzeichnis auf das interne /etc/grafana zu mappen.

                          Was habe ich ggf. noch immer nicht verstanden?.

                          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                          OliverIOO 1 Antwort Letzte Antwort
                          0
                          • L legro

                            @oliverio

                            Nun möchte ich auch deinen Lösungsvorschlag verstehen. Könntest du mich bitte dabei unterstützen?

                            Wenn ich das Ganze richtig verstanden habe ..

                            • Es ist (warum auch immer) nicht möglich das Docker interne Verzeichnis /etc/grafana auf ein externes Verzeichnis auf der Synology (../grafana2/config) zu mappen.
                            • Daher wird das in Docker nicht existierende interne Verzeichnis /etc/grafana1 auf das externe ../grafana2/config gemappt.
                            • Nun kann man im Terminal mittels ..
                              sudo docker exec -it grafana2 /bin/bash
                              cp -r /etc/grafana/* /etc/grafana1/ den Inhalt in das externe Verzeichnis ../grafana2/config kopieren.
                              Im der Terminal der Synology kann ich nun grafana.ini nach Belieben anpassen.

                            So weit, so gut. Und nun?

                            Ich sehe nun nur die Möglichkeit erneut im Terminal intern den Inhalt des externen Verzeichnisses nun umgekehrt nach /etc/granfana zu kopieren, wobei es in meinem Fall ausreicht, grafana.ini zu überschreiben/kopieren.

                            Ich sehe keine Möglichkeit durch Änderungen von compose.yml das externe Verzeichnis auf das interne /etc/grafana zu mappen.

                            Was habe ich ggf. noch immer nicht verstanden?.

                            OliverIOO Offline
                            OliverIOO Offline
                            OliverIO
                            schrieb am zuletzt editiert von OliverIO
                            #58

                            @legro

                            • in /etc/grafana liegen für grafana wichtige dateien ohne die das system nicht startet
                            • wenn du nun ein leeres verzeichnis auf deinem LOKALEN dateisystem mappst, dann ist das verzeichnis IM container ebenfalls leer, ergo system startet nicht
                            • der zwischenschritt mit /etc/grafana1 legt das zunächst leere verzeichnis unter diesem namen IN DEN container, du kopierst die dateien, änderst das mapping wieder auf /etc/grafana, so sind nun alle notwendigen dateien für grafana unter /etc/grafana verfügbar + sie liegen auch in deinem LOKALEN verzeichnis in dem du die bearbeiten kannst.

                            ein docker image besteht aus verschiedenen schichten/layers, die sich der reihe nach ergänzen aber auch überlagern können, so das am ende für das betriebssystem aber nur eine einzige sicht darauf besteht.

                            ich habe mal einen blogartikel gefunden, der das etwas visuell darstellt
                            https://iammathew.com/blog/understanding-docker-images/filesystem

                            das verzeichnis /etc/grafana mit seinen dateien ist nachdem du dein lokales verzeichnis da drauf gemountet hast immer noch da, da es aber von dem mount zu deinem lokalen leeren verzeichnis überlagert wird, halt für das betriebssystem leer und ohne die dateien mag grafana halt nicht starten.

                            um notwendige dateien vollautomatisch auch in einem leeren gemounteten Verzeichnis nach aussen bereitzustellen, müsste der imageersteller etwas machen (bei container start prüfen ob alle notwendigen dateien da sind und die fehlenden kopieren) das machen aber viele nicht.

                            wie schon gesagt, die grafana leute haben eher den environment weg eingeschlagen.

                            Meine Adapter und Widgets
                            TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                            Links im Profil

                            L 1 Antwort Letzte Antwort
                            1
                            • OliverIOO OliverIO

                              @legro

                              • in /etc/grafana liegen für grafana wichtige dateien ohne die das system nicht startet
                              • wenn du nun ein leeres verzeichnis auf deinem LOKALEN dateisystem mappst, dann ist das verzeichnis IM container ebenfalls leer, ergo system startet nicht
                              • der zwischenschritt mit /etc/grafana1 legt das zunächst leere verzeichnis unter diesem namen IN DEN container, du kopierst die dateien, änderst das mapping wieder auf /etc/grafana, so sind nun alle notwendigen dateien für grafana unter /etc/grafana verfügbar + sie liegen auch in deinem LOKALEN verzeichnis in dem du die bearbeiten kannst.

                              ein docker image besteht aus verschiedenen schichten/layers, die sich der reihe nach ergänzen aber auch überlagern können, so das am ende für das betriebssystem aber nur eine einzige sicht darauf besteht.

                              ich habe mal einen blogartikel gefunden, der das etwas visuell darstellt
                              https://iammathew.com/blog/understanding-docker-images/filesystem

                              das verzeichnis /etc/grafana mit seinen dateien ist nachdem du dein lokales verzeichnis da drauf gemountet hast immer noch da, da es aber von dem mount zu deinem lokalen leeren verzeichnis überlagert wird, halt für das betriebssystem leer und ohne die dateien mag grafana halt nicht starten.

                              um notwendige dateien vollautomatisch auch in einem leeren gemounteten Verzeichnis nach aussen bereitzustellen, müsste der imageersteller etwas machen (bei container start prüfen ob alle notwendigen dateien da sind und die fehlenden kopieren) das machen aber viele nicht.

                              wie schon gesagt, die grafana leute haben eher den environment weg eingeschlagen.

                              L Offline
                              L Offline
                              legro
                              schrieb am zuletzt editiert von legro
                              #59

                              @oliverio

                              Vielen Dank für deine Rückmeldung.

                              Mittlerweile konnte ich anhand einiger Quellen ebenfalls eine Antwort finden - durch die hier geführte Diskussion wusste ich schließlich, nach was ich suchen muss. Demnach darf das externe Verzeichnis, das auf das interne /etc/grafana gemappt werden soll, nicht leer sein, sondern muss bereits die korrekte Struktur beinhalten.

                              Damit wird die oben ausgegebene Fehlermeldung (grafana.ini nicht gefunden) verständlich.

                              Dein Vorschlag ist also goldrichtig. Indem man /etc/grafana auf das externe Verzeichnis kopiert, kann bei einer Neuinstallation das externe Verzeichnis auf das interne /etc/grafana gemappt werden.

                              Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                              Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                              OliverIOO L 2 Antworten Letzte Antwort
                              0
                              • L legro

                                @oliverio

                                Vielen Dank für deine Rückmeldung.

                                Mittlerweile konnte ich anhand einiger Quellen ebenfalls eine Antwort finden - durch die hier geführte Diskussion wusste ich schließlich, nach was ich suchen muss. Demnach darf das externe Verzeichnis, das auf das interne /etc/grafana gemappt werden soll, nicht leer sein, sondern muss bereits die korrekte Struktur beinhalten.

                                Damit wird die oben ausgegebene Fehlermeldung (grafana.ini nicht gefunden) verständlich.

                                Dein Vorschlag ist also goldrichtig. Indem man /etc/grafana auf das externe Verzeichnis kopiert, kann bei einer Neuinstallation das externe Verzeichnis auf das interne /etc/grafana gemappt werden.

                                OliverIOO Offline
                                OliverIOO Offline
                                OliverIO
                                schrieb am zuletzt editiert von
                                #60

                                @legro

                                genau

                                Meine Adapter und Widgets
                                TVProgram, SqueezeboxRPC, OpenLiga, RSSFeed, MyTime,, pi-hole2, vis-json-template, skiinfo, vis-mapwidgets, vis-2-widgets-rssfeed
                                Links im Profil

                                1 Antwort Letzte Antwort
                                0
                                • L legro

                                  @oliverio

                                  Vielen Dank für deine Rückmeldung.

                                  Mittlerweile konnte ich anhand einiger Quellen ebenfalls eine Antwort finden - durch die hier geführte Diskussion wusste ich schließlich, nach was ich suchen muss. Demnach darf das externe Verzeichnis, das auf das interne /etc/grafana gemappt werden soll, nicht leer sein, sondern muss bereits die korrekte Struktur beinhalten.

                                  Damit wird die oben ausgegebene Fehlermeldung (grafana.ini nicht gefunden) verständlich.

                                  Dein Vorschlag ist also goldrichtig. Indem man /etc/grafana auf das externe Verzeichnis kopiert, kann bei einer Neuinstallation das externe Verzeichnis auf das interne /etc/grafana gemappt werden.

                                  L Offline
                                  L Offline
                                  legro
                                  schrieb am zuletzt editiert von legro
                                  #61

                                  @Alle

                                  Hier nun eine kleine Zusammenfassung aus all den hier im Thread zusammengetragenen Ideen. Vielen Dank an alle, die hier tatkräftig mitgeholfen haben.

                                  Die Installation von Grafana im Container Manager (Docker) einer Synology erfordert einige Vorkehrungen. Der bevorzugte Weg sollte die Verwendung einer sog. compose.yml Datei sein, die im Wesentlichen eine Art Bauanleitung für die gewünschte Installation darstellt. Im Folgenden wird auch nur diese Lösung beschrieben. Die Installationen über compose.yml werden als Projekte realisiert.

                                  Da nach jedem Neustart der Synology oder des Containers alle Daten verloren gehen, muss man dafür Sorge tragen, dass die Konfigurationsdaten in /etc/grafana (insbesondere grafana.ini) und die in /var/lib/grafana mit den Panels und Dashboards außerhalb des Containers in einem externen Verzeichnis auf der Synology gesichert werden. Dabei sind drei Fälle zu unterscheiden ..

                                  • Nur die Daten in /var/lib/grafana werden persistent in einem externen Verzeichnis auf der Synology gespeichert. Der Inhalt der Datei grafana.ini wird über Umgebungsvariablen angepasst.
                                  • Sowohl das Verzeichnis mit den Konfigurationsdaten /etc/grafana als auch jenes mit den Daten /var/lib/grafana werden in externen Verzeichnissen auf der Synology persistent gespeichert.
                                  • Statt das gesamte interne Verzeichnis /etc/grafana zu mappen, wird nur die Datei grafana.ini gemappt. (Wird hier nicht dokumentiert)

                                  Die im Folgenden vorausgesetzte Verzeichnisstruktur auf der Synology, welche die persistente Daten aufnehmen soll, sieht folgendermaßen aus ..

                                  .. /docker/grafana/config
                                  .. /docker/grafana/data

                                  Diese Verzeichnisse sollten mit Zugriffsrechten für Everyone für Lesen und Schreiben versehen sein. Der oft zu findende Hinweis, chown -R 472:472 /volume2/docker/grafana zu verwenden, ist leider nicht zielführend.

                                  1.Methode:

                                  Das nachfolgende Beispiel zeigt die nötigen Anpassungen für die Einbindung der Panels und Dashboards in die VIS von ioBroker, wobei ggf. nötige Anpassungen der Datei grafana.ini über Umgebungsvariablen bereitgestellt werden ..

                                  services:
                                    grafana:
                                      image: grafana/grafana-oss
                                      container_name: grafana
                                      restart: unless-stopped
                                      ports:
                                        - '3000:3000'
                                      environment:
                                        - GF_SECURITY_COOKIE_SAMESITE=disabled
                                        - GF_SECURITY_ALLOW_EMBEDDING=true
                                        - GF_AUTH_ANONYMOUS_ENABLED=true
                                        - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
                                        - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
                                      volumes:
                                        - /volume2/docker/grafana/data:/var/lib/grafana
                                  

                                  Die Syntax zum Aufbau der Umgebungsvariablen ..

                                  • Alle Variablen beginnen mit dem Präfix GF_.
                                  • Danach folgt der Bereich oder Abschnitt aus der grafana.ini-Konfigurationsdatei, der verändert werden soll, in Großbuchstaben (z.B. SECURITY, SERVER, AUTH).
                                  • Anschließend folgt der Name der Option aus der grafana.ini (ebenfalls in Großbuchstaben!) angefügt mit Unterstrichen.
                                  • der Wert der jeweiligen Variable wird mit = eingefügt.
                                  • Alle Elemente werden stets mit Unterstrichen von einander getrennt notiert.

                                  ein Beispiel: Das Admin-Passwort in der Sektion [security] der grafana.ini wird gesetzt mit: GF_SECURITY_ADMIN_PASSWORD=<mein Passwort>

                                  2.Methode

                                  Hier lautet die compose.yml wie folgt ..

                                  services:
                                    grafana:
                                      image: grafana/grafana-oss
                                      container_name: grafana
                                      restart: unless-stopped
                                      ports:
                                        - '3000:3000'
                                      volumes:
                                        - /volume2/docker/grafana/data:/var/lib/grafana
                                        - /volume2/docker/grafana/config:/etc/grafana
                                  

                                  Leider funktioniert das Ganze so nicht ohne Weiteres. Das externe Verzeichnis ../grafana/config darf nicht leer sein, sondern muss bereits eine gültige Struktur, wie sie in einem internen Verzeichnis /etc/grafana vorliegt, enthalten.

                                  Bleibt die Frage, wie man das config Verzeichnis korrekt gefüllt bekommt. Hier ein mögliches Vorgehen ..

                                  • Man verwendet für eine temporäre Installation die compose.yml mit folgendem Inhalt ..
                                  services:
                                    grafana:
                                      image: grafana/grafana-oss
                                      container_name: grafana
                                      restart: unless-stopped
                                      ports:
                                        - '3000:3000'
                                      volumes:
                                        - /volume2/docker/grafana/data:/var/lib/grafana
                                        - /volume2/docker/grafana/config:/etc/grafana0
                                  

                                  Das Verzeichnis /etc/grafana0 ist (normalerweise) in keinem Image von Grafana vorhanden. Es dient sozusagen als Vorlagenspeicher für das spätere /etc/grafana. Obwohl das Verzeichnis intern nicht existiert, kann es im externen Verzeichnis config auf der Synology gefüllt werden. Hierzu ..

                                  • verbindet man sich über das Terminal via ..
                                    sudo docker exec -it grafana /bin/bash
                                    .. mit Grafana im Container Manager, wobei grafana dem Namen des Grafana-Containers entspricht.
                                  • Im Terminal kopiert man nun mittels
                                    cp -r /etc/grafana/* /etc/grafana0/ den Inhalt von ../grafana/config in das externe Verzeichnis.

                                  Der letzte Schritt sorgt dafür, dass das externe Verzeichnis ../docker/grafana/config mit korrekten Daten der Standardkonfiguration von Grafana gefüllt wurde.

                                  Nun gilt es den Grafana-Container wieder zu löschen und man kann anschließend mittels ..

                                  services:
                                    grafana:
                                      image: grafana/grafana-oss
                                      container_name: grafana
                                      restart: unless-stopped
                                      ports:
                                        - '3000:3000'
                                      volumes:
                                        - /volume2/docker/grafana/data:/var/lib/grafana
                                        - /volume2/docker/grafana/config:/etc/grafana
                                  

                                  .. die gewünschte Installation erzeugen, bei der nun das interne Verzeichnis /var/bin/grafana auf das externe ../docker/grafana/data und das interne /etc/grafana auf das externe Verzeichnis ../docker/grafana/config gemappt wurde.

                                  Meine Empfehlung

                                  Ich bevorzuge grundsätzlich die 2. Methode, die es erlaubt, die Datei grafana.ini komfortabel mit dem Editor der Synology zu bearbeiten.

                                  Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                  Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                  L CodierknechtC 2 Antworten Letzte Antwort
                                  0
                                  • L legro

                                    @Alle

                                    Hier nun eine kleine Zusammenfassung aus all den hier im Thread zusammengetragenen Ideen. Vielen Dank an alle, die hier tatkräftig mitgeholfen haben.

                                    Die Installation von Grafana im Container Manager (Docker) einer Synology erfordert einige Vorkehrungen. Der bevorzugte Weg sollte die Verwendung einer sog. compose.yml Datei sein, die im Wesentlichen eine Art Bauanleitung für die gewünschte Installation darstellt. Im Folgenden wird auch nur diese Lösung beschrieben. Die Installationen über compose.yml werden als Projekte realisiert.

                                    Da nach jedem Neustart der Synology oder des Containers alle Daten verloren gehen, muss man dafür Sorge tragen, dass die Konfigurationsdaten in /etc/grafana (insbesondere grafana.ini) und die in /var/lib/grafana mit den Panels und Dashboards außerhalb des Containers in einem externen Verzeichnis auf der Synology gesichert werden. Dabei sind drei Fälle zu unterscheiden ..

                                    • Nur die Daten in /var/lib/grafana werden persistent in einem externen Verzeichnis auf der Synology gespeichert. Der Inhalt der Datei grafana.ini wird über Umgebungsvariablen angepasst.
                                    • Sowohl das Verzeichnis mit den Konfigurationsdaten /etc/grafana als auch jenes mit den Daten /var/lib/grafana werden in externen Verzeichnissen auf der Synology persistent gespeichert.
                                    • Statt das gesamte interne Verzeichnis /etc/grafana zu mappen, wird nur die Datei grafana.ini gemappt. (Wird hier nicht dokumentiert)

                                    Die im Folgenden vorausgesetzte Verzeichnisstruktur auf der Synology, welche die persistente Daten aufnehmen soll, sieht folgendermaßen aus ..

                                    .. /docker/grafana/config
                                    .. /docker/grafana/data

                                    Diese Verzeichnisse sollten mit Zugriffsrechten für Everyone für Lesen und Schreiben versehen sein. Der oft zu findende Hinweis, chown -R 472:472 /volume2/docker/grafana zu verwenden, ist leider nicht zielführend.

                                    1.Methode:

                                    Das nachfolgende Beispiel zeigt die nötigen Anpassungen für die Einbindung der Panels und Dashboards in die VIS von ioBroker, wobei ggf. nötige Anpassungen der Datei grafana.ini über Umgebungsvariablen bereitgestellt werden ..

                                    services:
                                      grafana:
                                        image: grafana/grafana-oss
                                        container_name: grafana
                                        restart: unless-stopped
                                        ports:
                                          - '3000:3000'
                                        environment:
                                          - GF_SECURITY_COOKIE_SAMESITE=disabled
                                          - GF_SECURITY_ALLOW_EMBEDDING=true
                                          - GF_AUTH_ANONYMOUS_ENABLED=true
                                          - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
                                          - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
                                        volumes:
                                          - /volume2/docker/grafana/data:/var/lib/grafana
                                    

                                    Die Syntax zum Aufbau der Umgebungsvariablen ..

                                    • Alle Variablen beginnen mit dem Präfix GF_.
                                    • Danach folgt der Bereich oder Abschnitt aus der grafana.ini-Konfigurationsdatei, der verändert werden soll, in Großbuchstaben (z.B. SECURITY, SERVER, AUTH).
                                    • Anschließend folgt der Name der Option aus der grafana.ini (ebenfalls in Großbuchstaben!) angefügt mit Unterstrichen.
                                    • der Wert der jeweiligen Variable wird mit = eingefügt.
                                    • Alle Elemente werden stets mit Unterstrichen von einander getrennt notiert.

                                    ein Beispiel: Das Admin-Passwort in der Sektion [security] der grafana.ini wird gesetzt mit: GF_SECURITY_ADMIN_PASSWORD=<mein Passwort>

                                    2.Methode

                                    Hier lautet die compose.yml wie folgt ..

                                    services:
                                      grafana:
                                        image: grafana/grafana-oss
                                        container_name: grafana
                                        restart: unless-stopped
                                        ports:
                                          - '3000:3000'
                                        volumes:
                                          - /volume2/docker/grafana/data:/var/lib/grafana
                                          - /volume2/docker/grafana/config:/etc/grafana
                                    

                                    Leider funktioniert das Ganze so nicht ohne Weiteres. Das externe Verzeichnis ../grafana/config darf nicht leer sein, sondern muss bereits eine gültige Struktur, wie sie in einem internen Verzeichnis /etc/grafana vorliegt, enthalten.

                                    Bleibt die Frage, wie man das config Verzeichnis korrekt gefüllt bekommt. Hier ein mögliches Vorgehen ..

                                    • Man verwendet für eine temporäre Installation die compose.yml mit folgendem Inhalt ..
                                    services:
                                      grafana:
                                        image: grafana/grafana-oss
                                        container_name: grafana
                                        restart: unless-stopped
                                        ports:
                                          - '3000:3000'
                                        volumes:
                                          - /volume2/docker/grafana/data:/var/lib/grafana
                                          - /volume2/docker/grafana/config:/etc/grafana0
                                    

                                    Das Verzeichnis /etc/grafana0 ist (normalerweise) in keinem Image von Grafana vorhanden. Es dient sozusagen als Vorlagenspeicher für das spätere /etc/grafana. Obwohl das Verzeichnis intern nicht existiert, kann es im externen Verzeichnis config auf der Synology gefüllt werden. Hierzu ..

                                    • verbindet man sich über das Terminal via ..
                                      sudo docker exec -it grafana /bin/bash
                                      .. mit Grafana im Container Manager, wobei grafana dem Namen des Grafana-Containers entspricht.
                                    • Im Terminal kopiert man nun mittels
                                      cp -r /etc/grafana/* /etc/grafana0/ den Inhalt von ../grafana/config in das externe Verzeichnis.

                                    Der letzte Schritt sorgt dafür, dass das externe Verzeichnis ../docker/grafana/config mit korrekten Daten der Standardkonfiguration von Grafana gefüllt wurde.

                                    Nun gilt es den Grafana-Container wieder zu löschen und man kann anschließend mittels ..

                                    services:
                                      grafana:
                                        image: grafana/grafana-oss
                                        container_name: grafana
                                        restart: unless-stopped
                                        ports:
                                          - '3000:3000'
                                        volumes:
                                          - /volume2/docker/grafana/data:/var/lib/grafana
                                          - /volume2/docker/grafana/config:/etc/grafana
                                    

                                    .. die gewünschte Installation erzeugen, bei der nun das interne Verzeichnis /var/bin/grafana auf das externe ../docker/grafana/data und das interne /etc/grafana auf das externe Verzeichnis ../docker/grafana/config gemappt wurde.

                                    Meine Empfehlung

                                    Ich bevorzuge grundsätzlich die 2. Methode, die es erlaubt, die Datei grafana.ini komfortabel mit dem Editor der Synology zu bearbeiten.

                                    L Offline
                                    L Offline
                                    legro
                                    schrieb am zuletzt editiert von
                                    #62

                                    @Homoran

                                    Wäre diese kleine Anleitung nicht an anderer Stelle besser aufgehoben?

                                    Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                    Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                    HomoranH 1 Antwort Letzte Antwort
                                    0
                                    • L legro

                                      @Homoran

                                      Wäre diese kleine Anleitung nicht an anderer Stelle besser aufgehoben?

                                      HomoranH Nicht stören
                                      HomoranH Nicht stören
                                      Homoran
                                      Global Moderator Administrators
                                      schrieb am zuletzt editiert von
                                      #63

                                      @legro Ich habe keine Zeit mich da jetzt reinzuarbeiten.
                                      Das einzige was ich in diesem Thread festgestellt habe, ist dass es eigentlich um Docker geht.
                                      Dein Grafana ist nur ein Beispiel

                                      kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                                      Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                                      der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

                                      1 Antwort Letzte Antwort
                                      0
                                      • L legro

                                        @Alle

                                        Hier nun eine kleine Zusammenfassung aus all den hier im Thread zusammengetragenen Ideen. Vielen Dank an alle, die hier tatkräftig mitgeholfen haben.

                                        Die Installation von Grafana im Container Manager (Docker) einer Synology erfordert einige Vorkehrungen. Der bevorzugte Weg sollte die Verwendung einer sog. compose.yml Datei sein, die im Wesentlichen eine Art Bauanleitung für die gewünschte Installation darstellt. Im Folgenden wird auch nur diese Lösung beschrieben. Die Installationen über compose.yml werden als Projekte realisiert.

                                        Da nach jedem Neustart der Synology oder des Containers alle Daten verloren gehen, muss man dafür Sorge tragen, dass die Konfigurationsdaten in /etc/grafana (insbesondere grafana.ini) und die in /var/lib/grafana mit den Panels und Dashboards außerhalb des Containers in einem externen Verzeichnis auf der Synology gesichert werden. Dabei sind drei Fälle zu unterscheiden ..

                                        • Nur die Daten in /var/lib/grafana werden persistent in einem externen Verzeichnis auf der Synology gespeichert. Der Inhalt der Datei grafana.ini wird über Umgebungsvariablen angepasst.
                                        • Sowohl das Verzeichnis mit den Konfigurationsdaten /etc/grafana als auch jenes mit den Daten /var/lib/grafana werden in externen Verzeichnissen auf der Synology persistent gespeichert.
                                        • Statt das gesamte interne Verzeichnis /etc/grafana zu mappen, wird nur die Datei grafana.ini gemappt. (Wird hier nicht dokumentiert)

                                        Die im Folgenden vorausgesetzte Verzeichnisstruktur auf der Synology, welche die persistente Daten aufnehmen soll, sieht folgendermaßen aus ..

                                        .. /docker/grafana/config
                                        .. /docker/grafana/data

                                        Diese Verzeichnisse sollten mit Zugriffsrechten für Everyone für Lesen und Schreiben versehen sein. Der oft zu findende Hinweis, chown -R 472:472 /volume2/docker/grafana zu verwenden, ist leider nicht zielführend.

                                        1.Methode:

                                        Das nachfolgende Beispiel zeigt die nötigen Anpassungen für die Einbindung der Panels und Dashboards in die VIS von ioBroker, wobei ggf. nötige Anpassungen der Datei grafana.ini über Umgebungsvariablen bereitgestellt werden ..

                                        services:
                                          grafana:
                                            image: grafana/grafana-oss
                                            container_name: grafana
                                            restart: unless-stopped
                                            ports:
                                              - '3000:3000'
                                            environment:
                                              - GF_SECURITY_COOKIE_SAMESITE=disabled
                                              - GF_SECURITY_ALLOW_EMBEDDING=true
                                              - GF_AUTH_ANONYMOUS_ENABLED=true
                                              - GF_AUTH_ANONYMOUS_ORG_NAME=Main Org.
                                              - GF_AUTH_ANONYMOUS_ORG_ROLE=Viewer
                                            volumes:
                                              - /volume2/docker/grafana/data:/var/lib/grafana
                                        

                                        Die Syntax zum Aufbau der Umgebungsvariablen ..

                                        • Alle Variablen beginnen mit dem Präfix GF_.
                                        • Danach folgt der Bereich oder Abschnitt aus der grafana.ini-Konfigurationsdatei, der verändert werden soll, in Großbuchstaben (z.B. SECURITY, SERVER, AUTH).
                                        • Anschließend folgt der Name der Option aus der grafana.ini (ebenfalls in Großbuchstaben!) angefügt mit Unterstrichen.
                                        • der Wert der jeweiligen Variable wird mit = eingefügt.
                                        • Alle Elemente werden stets mit Unterstrichen von einander getrennt notiert.

                                        ein Beispiel: Das Admin-Passwort in der Sektion [security] der grafana.ini wird gesetzt mit: GF_SECURITY_ADMIN_PASSWORD=<mein Passwort>

                                        2.Methode

                                        Hier lautet die compose.yml wie folgt ..

                                        services:
                                          grafana:
                                            image: grafana/grafana-oss
                                            container_name: grafana
                                            restart: unless-stopped
                                            ports:
                                              - '3000:3000'
                                            volumes:
                                              - /volume2/docker/grafana/data:/var/lib/grafana
                                              - /volume2/docker/grafana/config:/etc/grafana
                                        

                                        Leider funktioniert das Ganze so nicht ohne Weiteres. Das externe Verzeichnis ../grafana/config darf nicht leer sein, sondern muss bereits eine gültige Struktur, wie sie in einem internen Verzeichnis /etc/grafana vorliegt, enthalten.

                                        Bleibt die Frage, wie man das config Verzeichnis korrekt gefüllt bekommt. Hier ein mögliches Vorgehen ..

                                        • Man verwendet für eine temporäre Installation die compose.yml mit folgendem Inhalt ..
                                        services:
                                          grafana:
                                            image: grafana/grafana-oss
                                            container_name: grafana
                                            restart: unless-stopped
                                            ports:
                                              - '3000:3000'
                                            volumes:
                                              - /volume2/docker/grafana/data:/var/lib/grafana
                                              - /volume2/docker/grafana/config:/etc/grafana0
                                        

                                        Das Verzeichnis /etc/grafana0 ist (normalerweise) in keinem Image von Grafana vorhanden. Es dient sozusagen als Vorlagenspeicher für das spätere /etc/grafana. Obwohl das Verzeichnis intern nicht existiert, kann es im externen Verzeichnis config auf der Synology gefüllt werden. Hierzu ..

                                        • verbindet man sich über das Terminal via ..
                                          sudo docker exec -it grafana /bin/bash
                                          .. mit Grafana im Container Manager, wobei grafana dem Namen des Grafana-Containers entspricht.
                                        • Im Terminal kopiert man nun mittels
                                          cp -r /etc/grafana/* /etc/grafana0/ den Inhalt von ../grafana/config in das externe Verzeichnis.

                                        Der letzte Schritt sorgt dafür, dass das externe Verzeichnis ../docker/grafana/config mit korrekten Daten der Standardkonfiguration von Grafana gefüllt wurde.

                                        Nun gilt es den Grafana-Container wieder zu löschen und man kann anschließend mittels ..

                                        services:
                                          grafana:
                                            image: grafana/grafana-oss
                                            container_name: grafana
                                            restart: unless-stopped
                                            ports:
                                              - '3000:3000'
                                            volumes:
                                              - /volume2/docker/grafana/data:/var/lib/grafana
                                              - /volume2/docker/grafana/config:/etc/grafana
                                        

                                        .. die gewünschte Installation erzeugen, bei der nun das interne Verzeichnis /var/bin/grafana auf das externe ../docker/grafana/data und das interne /etc/grafana auf das externe Verzeichnis ../docker/grafana/config gemappt wurde.

                                        Meine Empfehlung

                                        Ich bevorzuge grundsätzlich die 2. Methode, die es erlaubt, die Datei grafana.ini komfortabel mit dem Editor der Synology zu bearbeiten.

                                        CodierknechtC Offline
                                        CodierknechtC Offline
                                        Codierknecht
                                        Developer Most Active
                                        schrieb am zuletzt editiert von Codierknecht
                                        #64

                                        @legro

                                        Beim Verfahren über das extern gemappte Verzeichnis für /etc/grafana sollte man aber im Hinterkopf behalten:
                                        Das funktioniert nur, solange sich am Aufbau von z.B. der grafana.ini nix ändert.
                                        Wenn die auf die Idee kommen, die Struktur zu ändern oder auch nur neue Einträge vorzunehmen die für den Start notwendig sind, gibt's Ärger.

                                        Aus genau diesem Grund ist der Weg über die Umgebungsvariablen eindeutig vorzuziehen!

                                        "Any fool can write code that a computer can understand. Good programmers write code that humans can understand." (Martin Fowler, "Refactoring")

                                        Proxmox 9.1.1 LXC|8 GB|Core i7-6700
                                        HmIP|ZigBee|Tasmota|Unifi
                                        Zabbix Certified Specialist
                                        Konnte ich Dir helfen? Dann benutze bitte das Voting unten rechts im Beitrag

                                        L 1 Antwort Letzte Antwort
                                        0
                                        • CodierknechtC Codierknecht

                                          @legro

                                          Beim Verfahren über das extern gemappte Verzeichnis für /etc/grafana sollte man aber im Hinterkopf behalten:
                                          Das funktioniert nur, solange sich am Aufbau von z.B. der grafana.ini nix ändert.
                                          Wenn die auf die Idee kommen, die Struktur zu ändern oder auch nur neue Einträge vorzunehmen die für den Start notwendig sind, gibt's Ärger.

                                          Aus genau diesem Grund ist der Weg über die Umgebungsvariablen eindeutig vorzuziehen!

                                          L Offline
                                          L Offline
                                          legro
                                          schrieb am zuletzt editiert von
                                          #65

                                          @codierknecht

                                          Dann sollte ich besser meine Empfehlung nochmals überdenken und die dritte Methode priorisieren.:face_with_rolling_eyes:

                                          Nach über vier Jahren Leidenszeit unter Qivicon/MSH vor den Telekomikern zu ioBroker geflüchtet.
                                          Raspberry Pi 4 mit 8GB + ArgonOneM.2 + 120GB SSD + Coordinator CC26X2R1 + ioBroker + piVCCU3

                                          crunchipC 1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          492

                                          Online

                                          32.5k

                                          Benutzer

                                          81.6k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe