# Zigbee2mqtt: Docker-Testimage basierend auf Gladys v4

**URL:** <https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746>\
**Category:** Développement\
**Created:** [15. November 2020 um 10:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746 "2020-11-15T10:41:16Z")\
**Posts on this page:** 20\
**Page:** 14

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [24. März 2021 um 18:25 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/265 "2021-03-24T18:25:25Z")

</div>

Verwendest du die Variable SQLITE\_FILE\_PATH richtig (wie in deinem docker-compose oben)?

```auto
"SQLITE_FILE_PATH=/var/lib/gladys-z2m/gladys-z2m-production.db"

```

Kannst du mir das Ergebnis der folgenden Befehle geben?

`docker inspect -f '{{ .Mounts }}' gladys-z2m-mqtt`

`docker inspect -f '{{ .Mounts }}' gladys-z2m-zigbee2mqtt`

---

<div class="post-metadata">

**Author:** ![Albenss](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/albenss/32/3916_2.png) [@Albenss](https://community.gladysassistant.com/u/Albenss)\
**Post date:** [24. März 2021 um 18:35 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/266 "2021-03-24T18:35:35Z")

</div>

Mein Befehl lautet wie folgt:

```auto
    docker run -d \
    --log-opt max-size=10m \
    --restart=always \
    --privileged \
    --network=host \
    --name GladysZigbee2mqtt \
    -e NODE_ENV=production \
    -e SERVER_PORT=1080 \
    -e TZ=Europe/Paris \
    -e SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-zigbee2mqtt.db \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /var/lib/z2m-test:/var/lib/gladysassistant \
    -v /dev:/dev \
    -v /run/udev:/run/udev:ro \
    cicoub13/gladys:dev-zigbee2mqtt

```

```auto
$ docker inspect -f '{{ .Mounts }}' gladys-z2m-mqtt

```

```json
[{volume 227a9e1e87d118c13a7d214c28395292e7b69fae2abcf2b330821ceb31add32d /var/lib/docker/volumes/227a9e1e87d118c13a7d214c28395292e7b69fae2abcf2b330821ceb31add32d/_data /mosquitto/data local true } {bind /var/lib/gladysassistant/zigbee2mqtt/mqtt /mosquitto/config true rprivate} {volume c30bc5eede272b937d1e6bb1dd46c224f576b9d3c294bec90ed8cd6cca80926c /var/lib/docker/volumes/c30bc5eede272b937d1e6bb1dd46c224f576b9d3c294bec90ed8cd6cca80926c/_data /mosquitto/log local true }]

```

In Bezug auf den zweiten Befehl kann ich keine Antwort geben, da Z2M nicht erstellt wurde.

```auto
$ docker inspect -f '{{ .Mounts }}' gladys-z2m-zigbee2mqtt
Error: No such object: gladys-z2m-zigbee2mqtt

```

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [24. März 2021 um 19:19 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/267 "2021-03-24T19:19:55Z")

</div>

OK, ich habe verstanden 😅

Wenn du diese beiden Optionen setzt:

- `-v /var/lib/z2m-test:/var/lib/gladysassistant`
- `SQLITE_FILE_PATH=/var/lib/gladysassistant/gladys-zigbee2mqtt.db`

Dann mountest du dein Host-Verzeichnis `/var/lib/z2m-test` im Container als `/var/lib/gladysassistant`  
Dann sagst du Gladys, dass er mit `/var/lib/gladysassistant` arbeiten soll, was er tut, wenn er die Mosquitto- und Z2M-Konfigurationsdateien erstellt. Deshalb findest du die Konfigurationsdateien auch in `/var/lib/z2m-test` auf deinem Host.

Wenn Gladys die anderen Container (Mosquitto und Z2M) erstellt, verwendet er die Variable `SQLITE_FILE_PATH`, um die Volumes zu mounten. Also das `/var/lib/gladysassistant` deines Hosts… Da liegt das Problem. Ich weiß nicht, wie ich erkennen soll, dass `/var/lib/gladysassistant` tatsächlich ein Mount von `/var/lib/z2m-test` ist.

Ich schlage vor, dass du dies mit dieser docker-compose-Datei versuchst 🤔 :

```auto
docker run -d \
    --log-opt max-size=10m \
    --restart=always \
    --privileged \
    --network=host \
    --name GladysZigbee2mqtt \
    -e NODE_ENV=production \
    -e SERVER_PORT=1080 \
    -e TZ=Europe/Paris \
    -e SQLITE_FILE_PATH=/var/lib/z2m-test/gladys-zigbee2mqtt.db \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v /var/lib/z2m-test:/var/lib/z2m-test \
    -v /dev:/dev \
    -v /run/udev:/run/udev:ro \
    cicoub13/gladys:dev-zigbee2mqtt

```

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [24. März 2021 um 19:25 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/268 "2021-03-24T19:25:40Z")

</div>

Die Konfigurationsdateien müssen von Gladys irgendwo auf deinem Host geschrieben werden. Ich habe beschlossen, SQLITE\_FILE\_PATH als das Verzeichnis zu verwenden, in dem diese Dateien geschrieben werden. Aber ohne an den Fall zu denken, in dem du dieses Verzeichnis von einem anderen Pfad auf deinem Host einbindest.

Aber vielleicht sollte man dafür eine andere Variable verwenden? Zum Beispiel HOST\_PATH\_Z2M\_FILES?

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [24. März 2021 um 19:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/269 "2021-03-24T19:41:34Z")

</div>

Hier kommt das Exotische ins Spiel, standardmäßig ist das /var/lib/gladysassistant

Wir werden nicht alle Fälle abdecken und keine Variablen zu den Produktionsinstanzen hinzufügen können

---

<div class="post-metadata">

**Author:** ![Albenss](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/albenss/32/3916_2.png) [@Albenss](https://community.gladysassistant.com/u/Albenss)\
**Post date:** [24. März 2021 um 19:50 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/270 "2021-03-24T19:50:56Z")

</div>

Ich bin nicht einverstanden, alle Bilder, die ich bisher verwendet habe, erlauben es, einen anderen Persistenzpfad als den offiziellen zu verwenden.

Das eigentliche Problem, das wir hier haben, ist, dass wir mehrere Pfade angeben müssen, wenn wir einen alternativen Pfad verwenden.

Müssen wir wirklich einen Pfad für die Datenbank angeben? Können wir nicht einfach alle Dateien im Container in einem einzigen Ordner, z. B. `/var/lib/gladysassistant`, ablegen und den Wert von _SQLITE\_FILE\_PATH_ festlegen (und ihn somit aus der Konfiguration entfernen) und dem Benutzer dann einfach die Angabe des Werts PERSISTANCE\_FOLDER (z. B.) abverlangen, der eine Zuordnung zwischen dem Ordner des Containers und dem Host vornimmt?

Hier haben wir einen Fall, in dem wir, wenn wir mehrere Gladys-Bilder testen möchten, alle Pfade in der Konfiguration ändern müssen, den SQLITE\_FILE\_PATH, den Ordner im Container und den Ordner der Zuordnung auf dem Host.

---

<div class="post-metadata">

**Author:** ![Albenss](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/albenss/32/3916_2.png) [@Albenss](https://community.gladysassistant.com/u/Albenss)\
**Post date:** [24. März 2021 um 20:03 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/271 "2021-03-24T20:03:42Z")

</div>

Tatsächlich funktioniert jetzt alles einwandfrei. Es stimmt, dass man, wie in meiner vorherigen Nachricht erwähnt, drei Werte ändern muss, um dies zu erreichen, aber alle Probleme sind gelöst.

Die beiden Aquara-Gerätetypen, die ich habe, funktionieren gut, der Pfad der Dateien wurde korrekt geändert und die Daten werden korrekt im Dashboard angezeigt. Großartige Arbeit an alle, die an dieser Integration gearbeitet haben. 🙂

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [24. März 2021 um 20:07 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/272 "2021-03-24T20:07:34Z")

</div>

Lies mich nochmal, ich habe nicht gesagt, dass es technisch nicht möglich ist. Ich habe nur gesagt, dass man nicht alle Gladys-Instanz in der Produktion explodieren lassen kann. Denn diese Änderung zerstört alles.

> [@Albenss](#):
>
> Hier sind wir in einem Fall, in dem wir, wenn wir mehrere Gladys-Images testen wollen, alle Pfade der Konfiguration ändern müssen, den SQLITE\_FILE\_PATH, das Verzeichnis im Container und das Mapping-Verzeichnis auf dem Host

Genau, ein besonderer Fall, nicht in der Produktion. Der Befehl von @cicoub13 funktioniert perfekt, weil alle Pfade übereinstimmen.

Kurz gesagt, es ist ein Erbe.

---

<div class="post-metadata">

**Author:** ![lmilcent](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/lmilcent/32/7023_2.png) [@lmilcent](https://community.gladysassistant.com/u/lmilcent)\
**Post date:** [24. März 2021 um 20:20 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/273 "2021-03-24T20:20:37Z")

</div>

Warum macht man es nicht einfach wie bei der Portfreigabe mit Docker?  
Zum Beispiel startet eine Anwendung standardmäßig auf Port 3456, aber du möchtest den Port 80 öffentlich freigeben, dann verwendest du die Option `-p 80:3456`.

Für mich sollte es bei Gladys genauso sein: Alles wird standardmäßig im Container unter `/var/lib/gladysassistant` gespeichert und die Änderung des Pfades erfolgt durch die Änderung des Container-Pfades: `-v /data/beispiel/Gladys:/var/lib/gladysassistant`.

Das erscheint mir einfacher zu machen und zu verstehen!

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [24. März 2021 um 20:54 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/274 "2021-03-24T20:54:05Z")

</div>

Ach, das gilt auch für Gladys, das Problem liegt nicht dort.

Man müsste vom Container aus den Bind-Mount (-v) abrufen können, um ihn an andere Container weiterzugeben. Wenn wir das regeln, ist alles gelöst.

Ziel: Vom Container aus den Bind-Mount auf /var/lib/gladysassistant abrufen.

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [24. März 2021 um 21:29 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/275 "2021-03-24T21:29:44Z")

</div>

@cicoub13 Ich habe gerade schnell ein kleines Stück js mit der von uns verwendeten Bibliothek getestet, ohne es wirklich zu Ende zu führen.

```js
var Docker = require('dockerode');
var docker = new Docker({socketPath: '/var/run/docker.sock'});
// HIER kann man gladys durch os.hostname ersetzen
var container = docker.getContainer('gladys');

 container.inspect(function (err, data) {
         var string = JSON.stringify(data);
         var objectValue = JSON.parse(string);
         console.log(objectValue['HostConfig']['Binds']);
});

```

Gibt die Standard-Mounts zurück

```json
[
  '/var/run/docker.sock:/var/run/docker.sock',
  '/var/lib/gladysassistant:/var/lib/gladysassistant'
]

```

Ein kleiner Regex, um das Host-Bind zu extrahieren, und das sollte diesen Punkt lösen, oder?

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [24. März 2021 um 21:41 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/276 "2021-03-24T21:41:03Z")

</div>

Nicht schlecht. Ich mag die Idee. Aber wie bekomme ich das Richtige zurück? Da man jeden Ordner des Hosts und jeden Ordner in Docker (mit SQLITE\_FILE\_PATH) einbinden kann.  
Und sogar mehrere Ordner.

Und das wird langsam kompliziert 😄

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [24. März 2021 um 22:01 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/277 "2021-03-24T22:01:31Z")

</div>

Ich möchte sagen, dass SQL die Datenbank ist, egal was passiert.

Gladys muss in jedem Fall (für den MQTT- und Zigbee-Teil) ihre Konfiguration in `/var/lib/gladysassystant` schreiben, dort sind wir im Container.  
Wenn man die Bindung auf der Host-Seite abruft, kann man sie verwenden, um die anderen Container zu erstellen und die Persistenz zu verwalten.

Mein vorheriger Post ist kein gutes Beispiel, da ich denselben Pfad binde. Aber nehmen wir zum Beispiel den Fall von @Albenss

```plaintext
-v /var/lib/z2m-test:/var/lib/gladysassistant

```

Mein kleines JS-Skript wird zurückgeben

```json
[
  '/var/run/docker.sock:/var/run/docker.sock',
  '/var/lib/z2m-test:/var/lib/gladysassistant'
]

```

Übrigens habe ich schnell einen regulären Ausdruck getestet (den ich nicht in JS implementieren konnte, aber das ist nicht das Thema 😅 )

> **[regex101: PCRE2 (PHP) Match Workspace](https://regex101.com/r/l9euEp/1)**
>
> Explore and test this PCRE2 (PHP) regular expression online. Understand the pattern with regex explanations, generate code, and export matches to CSV or JSON.

EDIT: regex101 bietet einen Codegenerator zum Testen. 😑 und das erledigt die Arbeit

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [26. März 2021 um 01:32 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/278 "2021-03-26T01:32:45Z")

</div>

@VonOx das scheint mir eine gute Lösung zu sein 🙂 Tatsächlich würde dies verhindern, dass der Benutzer gezwungen wird, diese Daten in /var/lib/gladysassistant auf dem Host zu speichern, wenn er diesen Ordner nicht zur Verfügung hat.

Einziger Hinweis, auf der JS-Seite müssen wir den Regex mit dem basePath und nicht mit `/var/lib/gladysassistant` laufen lassen, und dann sind wir fertig!

@cicoub13 integrierst du das in die PR Zigbee2mqtt?

Abgesehen davon bin ich bereit, die PR zigbee2mqtt zu mergen, ich habe dein Video gesehen @cicoub13 und es ist der Hammer! Das ist wirklich großartige Arbeit, nichts zu beanstanden 🙂 Herzlichen Glückwunsch an alle, die an dieser PR gearbeitet haben, das ist großartig!

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [26. März 2021 um 11:37 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/279 "2021-03-26T11:37:08Z")

</div>

> [@pierre-gilles](#):
>
> Nur ein Hinweis, auf der JS-Seite muss die Regex mit dem basePath und nicht `/var/lib/gladysassistant` laufen, und dann sind wir fertig!

Der basepath? Entschuldigung, ich habe es nicht verstanden

EDIT: Ach der SQLITE\_FILE\_PATH?

Ich kann auch schnell einen PR machen, um die Funktion in der lib/system hinzuzufügen, um die von cicoub nicht laden zu müssen

EDIT2: Basierend auf getNetworkMode ist es etwas schmutzig, da eslint ein bisschen schreit, aber hier ist eine Basis @cicoub13

```js
const get = require('get-value');
const { PlatformNotCompatible } = require('../../utils/coreErrors');
const { exec } = require('../../utils/childProcess');

/**
 * @description Get Gladys host bind folder from docker environment.
 * @returns {Promise} Resolve with host path.
 * @example
 * const getDockerHostFolder = await this.getDockerHostFolder();
 */
async function getDockerHostFolder() {
  if (!this.dockerode) {
    throw new PlatformNotCompatible('SYSTEM_NOT_RUNNING_DOCKER');
  }

  if (!this.dockerHostFolder) {
    const regex = /([\/[\w-]+]*):\/var\/lib\/gladysassistant/gm;
    const cmdResult = await exec('head -1 /proc/self/cgroup | cut -d/ -f3');
    const [containerId] = cmdResult.split('\n');
    const gladysContainer = this.dockerode.getContainer(containerId);
    const gladysContainerInspect = await gladysContainer.inspect();
    const bindPaths = get(gladysContainerInspect, 'HostConfig.Binds');
    const matches = bindPaths.matchAll(regex);
    this.dockerHostFolder = matches[0];
  }

  return this.dockerHostFolder;
}

module.exports = {
  getDockerHostFolder,
};

```

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [26. März 2021 um 12:32 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/280 "2021-03-26T12:32:53Z")

</div>

> [@VonOx](#):
>
> Der Basepath? Entschuldigung, ich habe es nicht verstanden
> 
> EDIT: Ach, der SQLITE\_FILE\_PATH?

Ja, die Funktion basePath, die @cicoub13 in seinem Pull Request verwendet, die den SQLITE\_FILE\_PATH nutzt, um den intern verwendeten Ordner zu finden.

---

<div class="post-metadata">

**Author:** ![cicoub13](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/cicoub13/32/4482_2.png) [@cicoub13](https://community.gladysassistant.com/u/cicoub13)\
**Post date:** [26. März 2021 um 12:34 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/281 "2021-03-26T12:34:21Z")

</div>

Das ist in Arbeit 😉 Es ist kompliziert, alle Fälle zu testen (mehrere Docker-Container, die das Wort „gladys“ enthalten, kein gemountetes Volume, …)

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [26. März 2021 um 12:35 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/282 "2021-03-26T12:35:38Z")

</div>

Muss nach ID erfolgen (wie die Funktion getnetworkmode)

---

<div class="post-metadata">

**Author:** ![VonOx](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/vonox/32/10128_2.png) [@VonOx](https://community.gladysassistant.com/u/VonOx)\
**Post date:** [26. März 2021 um 12:45 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/283 "2021-03-26T12:45:47Z")

</div>

Da liegt der Hund begraben!

Intern muss es immer /var/lib/gladysassistant sein. (Standard festlegen)  
Diese Variable (SQLITE\_FILE\_PATH) muss standardmäßig in der Image mit diesem Pfad enthalten sein.

Hier müssen wir diese Variable (nur für die DB verwendet) und das Persistenz-Bind verwalten

Für die Erstellung der Service-Container zählt nur das Host-Bind, egal wo die DB im Container liegt.

Es gibt zwei Themen:

- Wie die „datas“ von gladys im Image verwalten =\> Standardmäßig /var/lib/gladysassistant
- Wie Service-Container erstellen, die denselben Host-Bind-Pfad wie gladys verwenden =\> Die Funktion, die ich vorschlage (/???/??? auf /var/lib/gladysassistant gebunden)

---

<div class="post-metadata">

**Author:** ![pierre-gilles](https://gladys-assistant-community.b-cdn.net/user_avatar/community.gladysassistant.com/pierre-gilles/32/5886_2.png) [@pierre-gilles](https://community.gladysassistant.com/u/pierre-gilles)\
**Post date:** [26. März 2021 um 13:58 UTC](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746/284 "2021-03-26T13:58:58Z")

</div>

> [@VonOx](#):
>
> Da liegt der Hund begraben!
> 
> Intern muss es immer /var/lib/gladysassistant sein. (Standard festlegen)

Nein, denn lokal auf unseren Maschinen oder außerhalb von Docker kannst du es hinlegen, wo du willst!

Danach stimmt es zwar, dass wir außerhalb von Docker oder auf unseren Maschinen keine Container starten, aber…

[Vorherige Seite](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746.md?page=13)

[Nächste Seite](https://community.gladysassistant.com/t/zigbee2mqtt-image-docker-de-test-basee-gladys-v4/5746.md?page=15)
