Docker Neustart Modul-Funktionen nicht mehr registriert

Hallo zusammen,

nach einem Container-Restart werden die Funktionen in den Modulen nicht mehr erkannt. Kann es daran liegen, dass ich /root nicht als volume eingebunden habe? Wofür wird dieser Ordner benötigt?

Hier meine Docker Compose:

version: '3'

services:
  symcon:
    container_name: symcon
    image: symcon/symcon
    labels:
      - traefik.backend=symcon
      - traefik.frontend.rule=xxx.de
      - traefik.docker.network=web
      - traefik.port=80
    networks:
#      - web
      - internal
    ports:
      - 3777:3777
      - 5544:5544
    restart: unless-stopped
    volumes:
      - "./data:/var/lib/symcon"
      - "./log:/var/log/symcon"

networks:
#  web:
#    external: true
  internal:
    external: false

Sobald ich auf „Install Again“ klicke werden die Funktionen neu registriert und es geht wieder.

Vielen Dank!

baba

Es hat nichts mit Docker zu tun.

Die Log zeigt folgendes

04.04.2022 22:37:42 | 00000 | MESSAGE | PHPLibrary           | Registriere Funktion... Reflection parse error:
Warning: Skript #14577 exisitert nicht in /var/lib/symcon/scripts/24194.ips.php on line 2

Warning: require_once(/usr/share/symcon/scripts): failed to open stream: No such file or directory in /var/lib/symcon/scripts/24194.ips.php on line 2

Fatal error: require_once(): Failed opening required '' (include_path='.:/var/lib/symcon/scripts') in /var/lib/symcon/scripts/24194.ips.php on line 2

Zeile 2 ist:
require_once(IPS_GetScriptFile(14577));
Und das script existiert

@paresy hast du vielleicht eine Idee?

//EDIT:

**user@server**:**~/docker/symcon/data/scripts**$ cat __autoload.php

<?

// IPS_Log

if (file_exists(IPS_GetKernelDir()."/scripts/24194.ips.php")) {

require_once(IPS_GetKernelDir()."/scripts/24194.ips.php");

}

?>

Das habe ich vor Ewigkeiten mal gebaut, damit ich IPS_Log überall verwenden kann

//EDIT 2:
Fehlermeldung in Log für alle Modulfunktionen:

Fatal error: Uncaught Error: Call to undefined function ECHOIO_GetLastDevice() in /-:1
Stack trace:
#0 {main}
  thrown in /- on line 1

Funktioniert es denn wenn du die __autoload.php entfernst?

/root musst du auch mounten, weil dort die Lizenz gespeichert wird.

paresy