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. ioBroker Allgemein
  4. [HowTo] ioBroker unter Docker auf Synology DiskStation

NEWS

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

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    2.0k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    16
    1
    2.7k

[HowTo] ioBroker unter Docker auf Synology DiskStation

Geplant Angeheftet Gesperrt Verschoben ioBroker Allgemein
iobrokerdockerbuanetsynologydiskstation
2.9k Beiträge 248 Kommentatoren 1.6m Aufrufe 123 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.
  • S Online
    S Online
    stevie77
    schrieb am zuletzt editiert von
    #1769

    So, ich hab mir jetzt wie angeraten ne eigene Default-Bridge gebastelt, wo alle erzeugten Container zusätzlich reinkommen. Mir war zu Beginn der Vorteil von Docker Compose ja nicht so ganz klar und der Aufwand ist initial auch nicht ganz gering (einige Nacht-Sessions jetzt), aber wenn man es mal hat, ist der Aufwand für z.B. eine weitere Testinstanz ja quasi super gering. Externes ioBroker-Verzeichnis kopieren, docker-compose.yml leicht anpassen und man hat eine neue ioBroker-Installation samt DB und DB-Client zum Testen. Sehr geil! Vielen Dank an alle für eure Unterstützung!

    Der Vollständigkeit halber:

    version: "3.8"
    services:
    
        iobroker:
          container_name: iobroker
          image: buanet/iobroker:latest
          hostname: iobroker
          restart: always
          mac_address: 02-42-C0-A8-01-F9
          dns:
            - 127.0.0.1
            - 192.168.1.1
          networks:
            iobroker-network:
              ipv4_address: 192.168.1.224
            default-network:
          volumes:
            - "/home/pi/docker-data/iobroker-data:/opt/iobroker"
          environment:
            - PACKAGES=nano
          depends_on:
            - mysql-iobroker
    
        mysql-iobroker:
          container_name: mysql-iobroker
          image: hypriot/rpi-mysql:latest
          restart: always
          networks:
            default-network:
          ports: 
            - "3306:3306"
          volumes:
            - db-data:/var/lib/mysql
          environment:
            - MYSQL_DATABASE=iobroker
            - MYSQL_USER=x
            - MYSQL_PASSWORD=y
            - MYSQL_ROOT_PASSWORD=z
    
        phpmyadmin:
          container_name: phpmyadmin-iobroker
          image: jackgruber/phpmyadmin
          restart: always
          networks:
            default-network:
          ports:
            - "8080:80"
          volumes:
            - temp-data:/sessions
          environment:
            - PMA_ARBITRARY=1
            - PMA_HOST=mysql-iobroker
            - PMA_PORT=3306
          depends_on:
          - mysql-iobroker
    
    volumes:
    
      db-data:
      temp-data:
    
    networks:
    
      iobroker-network:
        external:
          name: iobroker-network
      default-network:
        name: default-network
        driver: bridge
    

    Dann kann ich mich jetzt ja endlich wieder konkreten Projekten in ioBroker widmen und das mal besser kennenlernen. :-)

    Viele Grüße,
    Steffen

    PS: Wie sichert man eigentlich die SD-Karte eines Raspberry Pi 4 komplett? Einfach kopieren wird zum Wiederherstellen ja wahrscheinlich nichts bringen...

    FoodFighterF 1 Antwort Letzte Antwort
    0
    • Q qosi

      @andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

      @RK62 @Holzlenkrad

      Zur installation von zusätzlichen Linux Paketen könnt ihr auch eine Umgebungsvariable benutzen. in diesem Fall die Variable "PACKAGES" (Siehe hier). Die manuelle Installatation innerhalb eines Containers ist kein guter Weg, da du diesen Schritt immer wiederholen musst, wenn du einen neuen Container erstellst...

      @Holzlenkrad sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

      Ach so, hier hieß es schon ein paar Mal, dass der Kernel der Diskstation einen Bug in Verbindung mit dem Netmode host hat.

      Das ist korrekt, allerdings habe ich im aktuellen Beta (v3.0.2) dazu was getan. Dort sollte der "Host-mode" wieder funktionieren.

      sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which node))
      

      Sollte im aktuellen Beta nicht funktionieren, da das Image statt "sudo" den Befehl "gosu" verwendet.

      Capabilities wie "NET_ADMIN" oder "NET_RAW" sollten/ müssen bei Bedarf auch in den erweiterten Container-Einstellungen gesetzt werden. Geht allerdings nur im Portainer:

      bce61a95-d2db-4fef-8480-e9fd198325f6-image.png

      MfG,
      André

      Guten Abend,
      ich versuche seit einigen Tagen mein RPI Iobroker Installation auf meine Synology, im Docker unter zu bringen.
      Bis jetzt habe ich soweit alles zum laufen bekommen, bis auf zwei Dinge hmip, und den radar2 Adapter.

      Auch mit den Env Variable Packages "vi libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools", dem einschalten der Capabilities, versucht den Befehl in der konsole mit

      gosu root setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which node))
      

      oder auch

      sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which node))
      

      Kommt dieser Fehler...

      Failed to set capabilities on file `/usr/bin/node' (Operation not supported)
      The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
      

      Komme ich nicht weiter und der Adapter bringt mir ständig diesen Fehler...

      radar2.0	2020-04-24 22:07:37.928	error	(12366) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
      radar2.0	2020-04-24 22:07:37.927	error	(12366) uncaught exception: bind EACCES 0.0.0.0:67
      

      Habe eine macvlan Konfiguration...

      Hat jemand eine Idee oder weiss was dem kleinen Radar2 hier fehlt?
      Bin ich mit den setcap auf dem richtigen Weg? Warum will er den die Befehle hier nicht nehmen?

      Würde mich über Hilfe oder ein Link zur Problemlösung freuen, danke!

      Q Offline
      Q Offline
      qosi
      schrieb am zuletzt editiert von
      #1770

      @qosi said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

      @andre said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

      @RK62 @Holzlenkrad

      Zur installation von zusätzlichen Linux Paketen könnt ihr auch eine Umgebungsvariable benutzen. in diesem Fall die Variable "PACKAGES" (Siehe hier). Die manuelle Installatation innerhalb eines Containers ist kein guter Weg, da du diesen Schritt immer wiederholen musst, wenn du einen neuen Container erstellst...

      @Holzlenkrad sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

      Ach so, hier hieß es schon ein paar Mal, dass der Kernel der Diskstation einen Bug in Verbindung mit dem Netmode host hat.

      Das ist korrekt, allerdings habe ich im aktuellen Beta (v3.0.2) dazu was getan. Dort sollte der "Host-mode" wieder funktionieren.

      sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which node))
      

      Sollte im aktuellen Beta nicht funktionieren, da das Image statt "sudo" den Befehl "gosu" verwendet.

      Capabilities wie "NET_ADMIN" oder "NET_RAW" sollten/ müssen bei Bedarf auch in den erweiterten Container-Einstellungen gesetzt werden. Geht allerdings nur im Portainer:

      bce61a95-d2db-4fef-8480-e9fd198325f6-image.png

      MfG,
      André

      Guten Abend,
      ich versuche seit einigen Tagen mein RPI Iobroker Installation auf meine Synology, im Docker unter zu bringen.
      Bis jetzt habe ich soweit alles zum laufen bekommen, bis auf zwei Dinge hmip, und den radar2 Adapter.

      Auch mit den Env Variable Packages "vi libcap2-bin arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools", dem einschalten der Capabilities, versucht den Befehl in der konsole mit

      gosu root setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which node))
      

      oder auch

      sudo setcap 'cap_net_raw,cap_net_admin+eip' $(readlink -f $(which node))
      

      Kommt dieser Fehler...

      Failed to set capabilities on file `/usr/bin/node' (Operation not supported)
      The value of the capability argument is not permitted for a file. Or the file is not a regular (non-symlink) file
      

      Komme ich nicht weiter und der Adapter bringt mir ständig diesen Fehler...

      radar2.0	2020-04-24 22:07:37.928	error	(12366) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
      radar2.0	2020-04-24 22:07:37.927	error	(12366) uncaught exception: bind EACCES 0.0.0.0:67
      

      Habe eine macvlan Konfiguration...

      Hat jemand eine Idee oder weiss was dem kleinen Radar2 hier fehlt?
      Bin ich mit den setcap auf dem richtigen Weg? Warum will er den die Befehle hier nicht nehmen?

      Würde mich über Hilfe oder ein Link zur Problemlösung freuen, danke!

      Hallo zusammen,

      ich habe weitere Pakete der ENV hinzugefügt, die in auf der Suche nach einer Lösung zu dem Thema Radar2 gefunden habe.
      build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools openssh-server

      Leider hilft das auch nicht weiter...

      Muss ich den iobroker im host bridge laufen lassen und nicht in einer macvlan konfiguration?
      Für jegliche Hilfe bin ich dankbar!

      1 Antwort Letzte Antwort
      0
      • FoodFighterF Offline
        FoodFighterF Offline
        FoodFighter
        schrieb am zuletzt editiert von FoodFighter
        #1771

        Ich habe jetzt auch einfach mal für jeden Container ein vollumfassendes Compose-File gemacht.
        Schaden kann es nicht, ich sehe es als Einstellungs-Backup.
        Ich habe bewusst für jeden Container ein eigenes Compose-File erstellt zwecks Modularität.

        Zur Vollständigkeit auch meine kompletten Docker-(Compose) Files:

        $ docker network create \
          --driver=macvlan \
          --subnet=192.168.178.0/24 \
          --ip-range=192.168.178.12/32 \
          --gateway=192.168.178.1 \
          --opt parent=eth0 \
          iob_public
        
        $ docker network create \
          --driver=bridge \
          --subnet=172.20.0.0/16 \
          --gateway=172.20.0.1 \
          my-bridge-network
        

        version: "2"
        
        services:
         portainer:
           container_name: portainer
           image: portainer/portainer
           command: -H unix:///var/run/docker.sock
           hostname: portainer
           restart: always
           networks:
             bridge-network:
               ipv4_address: 172.20.0.2
           ports:
             - 9000:9000
             - 8000:8000
           volumes:
             - /var/run/docker.sock:/var/run/docker.sock
             - portainer_data:/data
        
        volumes:
         portainer_data:
        
        networks:
         bridge-network:
           external:
             name: my-bridge-network
        

        version: "2"
        
        services:
          pihole:
            container_name: pihole
            image: pihole/pihole:latest
            hostname: pihole
            restart: unless-stopped
            network_mode: host
            dns:
              - 127.0.0.1
              - 192.168.178.1
            environment:
              TZ: 'Europe/Berlin'
              WEBPASSWORD: 'denkstewohl:P'
              DNS1: '192.168.178.1'
              DNS2: 'no'
              CONDITIONAL_FORWARDING: 'true'
              CONDITIONAL_FORWARDING_IP: '192.168.178.1'
              CONDITIONAL_FORWARDING_DOMAIN: 'fritz.box'
        	  IPv6: 'true'
              ServerIP: '192.168.178.11'
              ServerIPv6: 'fd00::4db4:550f:97c6:aff4'
            volumes:
               - '/home/pi/pihole/pihole/:/etc/pihole/'
               - '/home/pi/pihole/dnsmasq.d/:/etc/dnsmasq.d/'
        

        version: "2"
        
        services:
          iobroker:
            container_name: iobroker
            image: buanet/iobroker:latest
            hostname: iobroker
            restart: unless-stopped
            mac_address: 2A-F7-E1-A3-9D-C8
            dns:
              - 127.0.0.1
              - 192.168.178.1
            networks:
              iobroker-network:
                ipv4_address: 192.168.178.12
              bridge-network:
                ipv4_address: 172.20.0.3
            volumes:
              - "/home/pi/iobroker/iobrokerdata:/opt/iobroker"
            environment:
              - PACKAGES=vim nano build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
              - USBDEVICES=/dev/ttyACM0
            devices:
              - "/dev/ttyACM0:/dev/ttyACM0"
        networks:
          iobroker-network:
            external:
              name: iob_public
          bridge-network:
            external:
              name: my-bridge-network
        

        version: "2"
        
        services:
          influxdb:
            container_name: influxdb
            image: influxdb:latest
            hostname: InfluxDB
            restart: unless-stopped
            networks:
              bridge-network:
                ipv4_address: 172.20.0.4
            ports:
              - 8086:8086
            volumes:
              - /home/pi/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
              - /home/pi/influxdb/influxdb_data:/var/lib/influxdb
            environment:
              - TZ="Europe/Berlin"
        
        networks:
          bridge-network:
            external:
              name: my-bridge-network
        

        version: "2"
        
        services:
          mosquitto:
            container_name: mosquitto
            image: eclipse-mosquitto
            hostname: mosquitto
            restart: unless-stopped
            networks:
              bridge-network:
                ipv4_address: 172.20.0.5
            ports:
              - 1883:1883
              - 9001:9001
            volumes:
              - /home/pi/mosquitto/config:/mosquitto/config/:ro
              - /home/pi/mosquitto/log:/mosquitto/log
              - /home/pi/mosquitto/data:/mosquitto/data
            environment:
              - TZ="Europe/Berlin"
        
        networks:
          bridge-network:
            external:
              name: my-bridge-network
        

        Vielleicht hilft es irgendwann mal jemanden weiter, der hier drüber stolpert.
        Bevor das aber völlig ins OffTopic läuft soll es das diesbezüglich gewesen sein.

        S 1 Antwort Letzte Antwort
        0
        • S stevie77

          So, ich hab mir jetzt wie angeraten ne eigene Default-Bridge gebastelt, wo alle erzeugten Container zusätzlich reinkommen. Mir war zu Beginn der Vorteil von Docker Compose ja nicht so ganz klar und der Aufwand ist initial auch nicht ganz gering (einige Nacht-Sessions jetzt), aber wenn man es mal hat, ist der Aufwand für z.B. eine weitere Testinstanz ja quasi super gering. Externes ioBroker-Verzeichnis kopieren, docker-compose.yml leicht anpassen und man hat eine neue ioBroker-Installation samt DB und DB-Client zum Testen. Sehr geil! Vielen Dank an alle für eure Unterstützung!

          Der Vollständigkeit halber:

          version: "3.8"
          services:
          
              iobroker:
                container_name: iobroker
                image: buanet/iobroker:latest
                hostname: iobroker
                restart: always
                mac_address: 02-42-C0-A8-01-F9
                dns:
                  - 127.0.0.1
                  - 192.168.1.1
                networks:
                  iobroker-network:
                    ipv4_address: 192.168.1.224
                  default-network:
                volumes:
                  - "/home/pi/docker-data/iobroker-data:/opt/iobroker"
                environment:
                  - PACKAGES=nano
                depends_on:
                  - mysql-iobroker
          
              mysql-iobroker:
                container_name: mysql-iobroker
                image: hypriot/rpi-mysql:latest
                restart: always
                networks:
                  default-network:
                ports: 
                  - "3306:3306"
                volumes:
                  - db-data:/var/lib/mysql
                environment:
                  - MYSQL_DATABASE=iobroker
                  - MYSQL_USER=x
                  - MYSQL_PASSWORD=y
                  - MYSQL_ROOT_PASSWORD=z
          
              phpmyadmin:
                container_name: phpmyadmin-iobroker
                image: jackgruber/phpmyadmin
                restart: always
                networks:
                  default-network:
                ports:
                  - "8080:80"
                volumes:
                  - temp-data:/sessions
                environment:
                  - PMA_ARBITRARY=1
                  - PMA_HOST=mysql-iobroker
                  - PMA_PORT=3306
                depends_on:
                - mysql-iobroker
          
          volumes:
          
            db-data:
            temp-data:
          
          networks:
          
            iobroker-network:
              external:
                name: iobroker-network
            default-network:
              name: default-network
              driver: bridge
          

          Dann kann ich mich jetzt ja endlich wieder konkreten Projekten in ioBroker widmen und das mal besser kennenlernen. :-)

          Viele Grüße,
          Steffen

          PS: Wie sichert man eigentlich die SD-Karte eines Raspberry Pi 4 komplett? Einfach kopieren wird zum Wiederherstellen ja wahrscheinlich nichts bringen...

          FoodFighterF Offline
          FoodFighterF Offline
          FoodFighter
          schrieb am zuletzt editiert von
          #1772

          @stevie77 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

          Wie sichert man eigentlich die SD-Karte eines Raspberry Pi 4 komplett? Einfach kopieren wird zum Wiederherstellen ja wahrscheinlich nichts bringen...

          Da gibt es viele Möglichkeiten.
          Im Einfachsten Fall fährst du den Pi herunter und clonst die komplette SD-Karte mit z.B. Win32DiskManager

          Hier werden weitere Möglichkeiten beschrieben.

          Ich persönlich halte es so:
          Auf dem RPi selbst läuft nur Docker - sonst nichts.
          Die Container bekommen alle ein Volume ins Pi-Home-Verzeichnis gemountet, in dem dann die jeweiligen Einstellungen drin liegen.
          Das Home-Verzeichnis sichere ich ab und zu mal auf den NAS.

          Sollte der Pi die Segel streichen -> Neues Raspbian auf eine SD-Karte spielen, Docker installieren, die Backups der Container zurück ins Home-Verzeichnis ziehen -> die o.g. Docker-Compose-Files nacheinander ausführen -> fertig.

          Das umständlichste dabei wäre es dann das Raspbian wieder auf die SSD zu verschieben und den PI nur noch von SD booten zu lassen....Vielleicht kann Raspbian das ja endlich bald mal komplett von SSD - dann wird auch das lachhaft.

          1 Antwort Letzte Antwort
          0
          • FoodFighterF FoodFighter

            Ich habe jetzt auch einfach mal für jeden Container ein vollumfassendes Compose-File gemacht.
            Schaden kann es nicht, ich sehe es als Einstellungs-Backup.
            Ich habe bewusst für jeden Container ein eigenes Compose-File erstellt zwecks Modularität.

            Zur Vollständigkeit auch meine kompletten Docker-(Compose) Files:

            $ docker network create \
              --driver=macvlan \
              --subnet=192.168.178.0/24 \
              --ip-range=192.168.178.12/32 \
              --gateway=192.168.178.1 \
              --opt parent=eth0 \
              iob_public
            
            $ docker network create \
              --driver=bridge \
              --subnet=172.20.0.0/16 \
              --gateway=172.20.0.1 \
              my-bridge-network
            

            version: "2"
            
            services:
             portainer:
               container_name: portainer
               image: portainer/portainer
               command: -H unix:///var/run/docker.sock
               hostname: portainer
               restart: always
               networks:
                 bridge-network:
                   ipv4_address: 172.20.0.2
               ports:
                 - 9000:9000
                 - 8000:8000
               volumes:
                 - /var/run/docker.sock:/var/run/docker.sock
                 - portainer_data:/data
            
            volumes:
             portainer_data:
            
            networks:
             bridge-network:
               external:
                 name: my-bridge-network
            

            version: "2"
            
            services:
              pihole:
                container_name: pihole
                image: pihole/pihole:latest
                hostname: pihole
                restart: unless-stopped
                network_mode: host
                dns:
                  - 127.0.0.1
                  - 192.168.178.1
                environment:
                  TZ: 'Europe/Berlin'
                  WEBPASSWORD: 'denkstewohl:P'
                  DNS1: '192.168.178.1'
                  DNS2: 'no'
                  CONDITIONAL_FORWARDING: 'true'
                  CONDITIONAL_FORWARDING_IP: '192.168.178.1'
                  CONDITIONAL_FORWARDING_DOMAIN: 'fritz.box'
            	  IPv6: 'true'
                  ServerIP: '192.168.178.11'
                  ServerIPv6: 'fd00::4db4:550f:97c6:aff4'
                volumes:
                   - '/home/pi/pihole/pihole/:/etc/pihole/'
                   - '/home/pi/pihole/dnsmasq.d/:/etc/dnsmasq.d/'
            

            version: "2"
            
            services:
              iobroker:
                container_name: iobroker
                image: buanet/iobroker:latest
                hostname: iobroker
                restart: unless-stopped
                mac_address: 2A-F7-E1-A3-9D-C8
                dns:
                  - 127.0.0.1
                  - 192.168.178.1
                networks:
                  iobroker-network:
                    ipv4_address: 192.168.178.12
                  bridge-network:
                    ipv4_address: 172.20.0.3
                volumes:
                  - "/home/pi/iobroker/iobrokerdata:/opt/iobroker"
                environment:
                  - PACKAGES=vim nano build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev
                  - USBDEVICES=/dev/ttyACM0
                devices:
                  - "/dev/ttyACM0:/dev/ttyACM0"
            networks:
              iobroker-network:
                external:
                  name: iob_public
              bridge-network:
                external:
                  name: my-bridge-network
            

            version: "2"
            
            services:
              influxdb:
                container_name: influxdb
                image: influxdb:latest
                hostname: InfluxDB
                restart: unless-stopped
                networks:
                  bridge-network:
                    ipv4_address: 172.20.0.4
                ports:
                  - 8086:8086
                volumes:
                  - /home/pi/influxdb/influxdb.conf:/etc/influxdb/influxdb.conf
                  - /home/pi/influxdb/influxdb_data:/var/lib/influxdb
                environment:
                  - TZ="Europe/Berlin"
            
            networks:
              bridge-network:
                external:
                  name: my-bridge-network
            

            version: "2"
            
            services:
              mosquitto:
                container_name: mosquitto
                image: eclipse-mosquitto
                hostname: mosquitto
                restart: unless-stopped
                networks:
                  bridge-network:
                    ipv4_address: 172.20.0.5
                ports:
                  - 1883:1883
                  - 9001:9001
                volumes:
                  - /home/pi/mosquitto/config:/mosquitto/config/:ro
                  - /home/pi/mosquitto/log:/mosquitto/log
                  - /home/pi/mosquitto/data:/mosquitto/data
                environment:
                  - TZ="Europe/Berlin"
            
            networks:
              bridge-network:
                external:
                  name: my-bridge-network
            

            Vielleicht hilft es irgendwann mal jemanden weiter, der hier drüber stolpert.
            Bevor das aber völlig ins OffTopic läuft soll es das diesbezüglich gewesen sein.

            S Online
            S Online
            stevie77
            schrieb am zuletzt editiert von
            #1773

            @FoodFighter sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

            Ich habe jetzt auch einfach mal für jeden Container ein vollumfassendes Compose-File gemacht.
            Schaden kann es nicht, ich sehe es als Einstellungs-Backup.
            Ich habe bewusst für jeden Container ein eigenes Compose-File erstellt zwecks Modularität.

            Zur Vollständigkeit auch meine kompletten Docker-(Compose) Files:

            $ docker network create \
              --driver=macvlan \
              --subnet=192.168.178.0/24 \
              --ip-range=192.168.178.12/32 \
              --gateway=192.168.178.1 \
              iob_public
            
            $ docker network create \
              --driver=bridge \
              --subnet=172.20.0.0/16 \
              --gateway=172.20.0.1 \
              my-bridge-network
            

            Hatte mich davon inspiriert vorhin auch daran versucht das Netzwerk per Docker zu erzeugen (geht ja schneller als mit Portainer). Leider hat dein Beispiel erst bei mir funktioniert, als ich noch die Parent network card mit angegeben habe (vorher war der ioBroker nicht sichtbar, IP 224 nicht anpingbar).

            docker network create --driver=macvlan --subnet=192.168.1.0/24 --ip-range=192.168.1.224/28 --gateway=192.168.1.1 -o parent=eth0 iobroker-network
            

            Macht auch Sinn, da dies in Portainer ein Pflichtfeld für MACVLAN ist. Kannst du mir erklären, warum das bei dir ja offensichtlich ohne funktioniert?

            FoodFighterF 1 Antwort Letzte Antwort
            0
            • andreA andre

              ÜBERARBEITUNG dieses Beitrags am 15.10.2020

              Es ist viel Wasser die Elbe hinab geflossen und auch der ioBroker unter Docker hat sich verändert, sodass dieses Thema in seine Komplexität schlicht nicht (mehr) in einen Post passt.
              Aus diesem Grund ist das Tutorial aus diesem Post nicht mehr aktuell und wird auch nicht weiter gepflegt.
              Für weitere Informationen zum Thema ioBroker unter Docker (mit oder ohne Synology DiskStation) stelle ich euch ab heute eine eigene Website zur Verfügung welche ich Stück für Stück mit relevanten Informationen zum Thema erweitern werde. Dieses und weitere Tutorials findet ihr ab sofort unter:

              https://smarthome.buanet.de

              Direktlink:
              (https://smarthome.buanet.de/2019/05/iobroker-unter-docker-auf-der-synology-diskstation-v3/)

              Selbstverständlich bleibt dieser Threat hier als Support-Thread geöffnet. Es wird auch von niemanden verlangt die 2000+ Post zu lesen! Trotzdem hoffe ich. dass ihr den Thread vor dem Stellen der Frage einmal durchsucht.

              @Glasfaser sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

              @andre

              Danke andre , für deine kurze Stellungnahme ;)

              @andre sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:
              Das kann man sicher nicht erwarten! Was ich aber beobachte ist, dass offenbar nur die Wenigsten wissen, dass man auch einen Thread durchsuchen kann. Denn dann werden aus 2100 Beiträgen plötzlich nur 20 oder 30 Posts zu einem bestimmten Thema... Immer noch
              mühsam, aber das ist eben so!

              Damit andere wissen was du meinst :

              In User Einstellung aktivieren :

              1.JPG

              STRG + F

              2.JPG

              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
              Original Post vom 2. Februar 2017
              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

              Kleine Wette:

              Ich wette, dass es möglich ist ioBroker in weniger als zwei Minuten in Betrieb zu nehmen ohne einen einzigen Befehl in eine Kommandozeile einzutippen. :)

              Spaß beiseite, ich habe mich in den vergangenen Tagen einmal ausgiebig mit dem Virtualisierungstool Docker beschäftigt. Herausgekommen ist dieses kleine aber feine Setup inkl. einem ioBroker-Docker-Image auf Basis von Debian. Vielleicht ja eine echte Alternative zu Einplatinen-Rechnern oder Dauerlauf-PCs….

              Vorraussetzung:

              • Unterstütze Synology DiskStation mit installiertem Docker Paket (https://www.synology.com/de-de/dsm/app_packages/Docker)

              Dann kann es auch schon los gehen…

              Schritt 1: Image herunterladen

              Öffne den Bereich "Registrierung" in der Docker-Oberfläche auf des Synology DiskStation und gebe in das Suchfeld "iobroker" ein. Markiere das Image "buanet/iobroker" und klicke auf dne Downloas-Button. Das Image wird nun heruntergeladen.

              914_01_pull_image.jpeg
              Schritt 2: Container aus Image erstellen

              Öffne den Bereich "Abbild" in der Docker-Oberfläche. Hier sollte nun das Image "buanet/iobroker:latest" zur Verfügung stehen. Wähle das Image aus und klicke auf den Starten-Button.

              914_02_image_downloaded.jpeg
              Es öffnet sich ein Wizard zum Erstellen eines Containers. Vergebe einen Containernamen und klicke auf den Button "Erweiterte Einstellungen".

              914_03_container_wizard.jpeg
              In den Erweiterten Einstellungen wähle das Kontrollkästchen "Automatischen Neustart aktivieren" aus um sicherzustellen, dass der Container sich im Fehlerfall selbstständig neu startet.

              914_04_container_wizard_advanced1.jpeg
              Unter Netzwerk wähle "Dasselbe Netzwerk wie Docker Host verwenden". Diese Einstellung sorgt dafür, dass siche ioBroker später "anfühlt" als würde es direkt auf der DiskStation laufen und vermeidet Probleme mit dem Hostnamen.

              914_05_container_wizard_advanced2.jpeg
              Schließe die Erweiterten Einstellungen mit OK, und klicke den Weiter-Button. In der Zusammenfassung sind nochmals alle Einstellungen aufgeführt. Klicke auf "Übernehmen".

              914_06_container_wizard_end.jpeg
              Schritt 3: Container überprüfen

              Öffne den Bereich "Container" in der Docker-Oberfläche. Hier sollte nun der erstellte Container erscheinen. Prüfe ob der Container eingeschaltet ist und sich im Status "Läuft" befindet.

              914_07_container_started.jpeg
              Wähle den Container aus und klicke auf "Details".

              914_08_container_details1.jpeg
              Unter "Prozess" siehst du ob ioBroker erfolgreich gestartet ist. Falls dem so ist, sieht es ungefähr so aus:

              914_09_container_details2.jpeg
              Unter "Terminal" hast du direkten Zugriff auf die Kommandozeile des Containers. Sollte die Kommandozeile leer sein, klicke in das große graue Feld und drücke Enter. Nun sollte es wie folgt aussehen:

              914_10_container_details3.jpeg
              Über die Kommandozeile kannst du nun z.B. optionale Softwarepakete nachinstallieren (manche Adapter/ Funktionen benötigen das) oder auch mit den bekannten Befehlen deine ioBroker-Installation steuern, wie z.B. einen Neustart des Dienstes:

              cd /opt/iobroker
              iobroker stop
              iobroker start
              

              Schritt 4: ioBroker Weboberfläche öffnen

              Wenn der Container ordnungsgemäß eingerichtet und gestartet ist, sollte deine neue ioBroker-Installation nun über das Webinterface erreichbar sein. Öffne dazu einfach den entsprechenden Pfad in einem Webbrowser:

              http://[name_oder_ip_der_diskstation]:8081
              

              Als kleines Goodie obendrauf, hier die Anleitung nochmal als kleines Video: https://www.youtube.com/watch?v=G-A3Q1Pq0YQ

              Ich habe meine ioBroker Installation vor 2 Tagen auf Docker umgezogen. Bisher keine Probleme.

              Aktuell habe ich noch kein automatisiertes Backup aktiv (muss noch ein Script schreiben). Manuell lässt sich der ioBroker Container ganz einfach über die Docker-Öberfläche sichern: Bereich "Container", ioBroker Container auswählen, unter "Einstellungen" > "Export" wählen und "Containerinhalt und -einstellungen exportieren". Dann lässt sich das Backup direkt auf der Synology ablegen.

              MfG,

              André

              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
              Hinzugefügt am 08.03.2017
              xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

              Es gibt ein neues Docker-Image im Docker Hub (sobald es fertig generiert ist). Darin enthalten jetzt ein Fix für die Zeitzone. Es sollte ab sofort automatisch Europe/Berlin eingestellt sein.

              Außerdem habe ich ein bisschen rum experimentiert und es jetzt ermöglicht auch Updates des Docker Images einfach einspielen zu können. Dazu liegt mein ioBroker-Verzeichnis jetzt direkt auf der Synology und wird nur in den Container gemountet. Dies ermöglicht es nun den Container aus zu tauschen und meine ioBroker-Installation bei zu behalten.

              Das Ganze betrachte ich jetzt mal als Thema für "Fortgeschrittene" weshalb ich meine Anleitung jetzt auch ein wenig kürzer fasse.

              Advanced Schritt 1.

              ioBroker-Verzeichnis "erstellen" (oder halt ein eigenes Backup nehmen):

              Damit wir ein lauffähiges ioBroker-Verzeichnis bekommen muss einmal ein Container nach der obigen Anleitung erstellt werden. Läuft der Container, kann man über die Kommandozeile einfach ioBroker stoppen und das komplette ioBroker-Verzeichnis aus dem Container heraus auf die Synology kopieren, z.B. in den Ordner /volume1/docker/iobroker.

              Ich habe dazu den ioBroker-Ordner im Container in ein .tar-Verzeichnis gepackt, über ein gemountetes Verzeichnis auf die Synology kopiert und dort wieder entpackt.

              Advanced Schritt 2.

              Den Container aus Advanced Schritt 1 löschen und einen neuen erstellen (gerade gesehen, man muss nicht löschen, man kann auch bearbeiten). In Schritt zwei der "einfachen" Anleitung vor dem Schließen der erweiterten Einstellungen die Registerkarte "Volume" öffnen und den Pfad /opt/iobroker im Container auf den Pfad im Dateisystem der Synology (z.B. /docker/iobroker) mounten. So sieht das aus:

              914_volume.png
              Wichtig: Der Ordner auf der Synology muss sich in einem "gemeinsamen Ordner" befinden welcher über die Oberfläche des DiskStation angelegt worden ist. Bei mir ist das der Ordner "docker" (Im Filesystem der DiskStation also /volume1/docker).

              Advanced Schritt 3.

              Weiter wie in der Anleitung oben.

              Wir sollten nun einen Docker-Container haben, der für das ioBroker-Verzeichnis auf das Dateisystem der DiskStation zugreift.

              Falls es nun vielleicht ein Update des Images gibt, können wir das Image einfach herunter laden, den alten Container deaktivieren oder löschen und wie beschrieben einen neuen Container mit gemountetem Verzeichnis aus dem neuen Image erstellen. Die ioBroker Installation bleibt davon unberührt (auf der DiskStation).

              J Offline
              J Offline
              jgee2
              schrieb am zuletzt editiert von
              #1774

              Hi @andre und alle anderen ioBroker-Fans!

              Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.

              Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.

              Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:

              root@xyz:/opt/iobroker# pkill io
              root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production
              sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt
              npm ERR! code EINVALIDTAGNAME
              npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
              npm ERR! A complete log of this run can be found in:
              npm ERR!     /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.log
              

              Das Log File zeigt folgendes:

              0 info it worked if it ends with ok
              1 verbose cli [ '/usr/bin/node',
              1 verbose cli   '/usr/bin/npm',
              1 verbose cli   'install',
              1 verbose cli   'iobroker.js-controller',
              1 verbose cli   '–-production' ]
              2 info using npm@6.14.4
              3 info using node@v10.20.1
              4 verbose config Skipping project config: /opt/iobroker/.npmrc. (matches userconfig)
              5 verbose npm-session b424af1cc19f8c6a
              6 silly install loadCurrentTree
              7 silly install readLocalPackageData
              8 silly fetchPackageMetaData error for iobroker.js-controller@^3.0.19 install iobroker.js-controller –-production is not a legal HTTP header value
              9 timing stage:rollbackFailedOptional Completed in 5ms
              10 timing stage:runTopLevelLifecycles Completed in 2794ms
              11 verbose stack Error: Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
              11 verbose stack     at invalidTagName (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:91:15)
              11 verbose stack     at fromRegistry (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:296:13)
              11 verbose stack     at resolve (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:81:12)
              11 verbose stack     at npa (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:52:10)
              11 verbose stack     at /usr/lib/node_modules/npm/lib/install/deps.js:227:14
              11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:35
              11 verbose stack     at Array.forEach (<anonymous>)
              11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:11
              11 verbose stack     at Array.forEach (<anonymous>)
              11 verbose stack     at asyncMap (/usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:51:8)
              11 verbose stack     at exports.getAllMetadata (/usr/lib/node_modules/npm/lib/install/deps.js:224:3)
              11 verbose stack     at Installer.loadArgMetadata (/usr/lib/node_modules/npm/lib/install.js:366:3)
              11 verbose stack     at /usr/lib/node_modules/npm/lib/install.js:701:16
              11 verbose stack     at BB.join.then (/usr/lib/node_modules/npm/lib/install/read-shrinkwrap.js:33:16)
              11 verbose stack     at tryCatcher (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
              11 verbose stack     at Promise._settlePromiseFromHandler (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:517:31)
              12 verbose cwd /opt/iobroker
              13 verbose Linux 3.10.105
              14 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller" "–-production"
              15 verbose node v10.20.1
              16 verbose npm  v6.14.4
              17 error code EINVALIDTAGNAME
              18 error Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
              19 verbose exit [ 1, true ]
              

              Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?

              Viele Grüße

              Jo

              KnallochseK GlasfaserG andreA 3 Antworten Letzte Antwort
              0
              • J jgee2

                Hi @andre und alle anderen ioBroker-Fans!

                Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.

                Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.

                Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:

                root@xyz:/opt/iobroker# pkill io
                root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production
                sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt
                npm ERR! code EINVALIDTAGNAME
                npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                npm ERR! A complete log of this run can be found in:
                npm ERR!     /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.log
                

                Das Log File zeigt folgendes:

                0 info it worked if it ends with ok
                1 verbose cli [ '/usr/bin/node',
                1 verbose cli   '/usr/bin/npm',
                1 verbose cli   'install',
                1 verbose cli   'iobroker.js-controller',
                1 verbose cli   '–-production' ]
                2 info using npm@6.14.4
                3 info using node@v10.20.1
                4 verbose config Skipping project config: /opt/iobroker/.npmrc. (matches userconfig)
                5 verbose npm-session b424af1cc19f8c6a
                6 silly install loadCurrentTree
                7 silly install readLocalPackageData
                8 silly fetchPackageMetaData error for iobroker.js-controller@^3.0.19 install iobroker.js-controller –-production is not a legal HTTP header value
                9 timing stage:rollbackFailedOptional Completed in 5ms
                10 timing stage:runTopLevelLifecycles Completed in 2794ms
                11 verbose stack Error: Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                11 verbose stack     at invalidTagName (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:91:15)
                11 verbose stack     at fromRegistry (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:296:13)
                11 verbose stack     at resolve (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:81:12)
                11 verbose stack     at npa (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:52:10)
                11 verbose stack     at /usr/lib/node_modules/npm/lib/install/deps.js:227:14
                11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:35
                11 verbose stack     at Array.forEach (<anonymous>)
                11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:11
                11 verbose stack     at Array.forEach (<anonymous>)
                11 verbose stack     at asyncMap (/usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:51:8)
                11 verbose stack     at exports.getAllMetadata (/usr/lib/node_modules/npm/lib/install/deps.js:224:3)
                11 verbose stack     at Installer.loadArgMetadata (/usr/lib/node_modules/npm/lib/install.js:366:3)
                11 verbose stack     at /usr/lib/node_modules/npm/lib/install.js:701:16
                11 verbose stack     at BB.join.then (/usr/lib/node_modules/npm/lib/install/read-shrinkwrap.js:33:16)
                11 verbose stack     at tryCatcher (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
                11 verbose stack     at Promise._settlePromiseFromHandler (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:517:31)
                12 verbose cwd /opt/iobroker
                13 verbose Linux 3.10.105
                14 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller" "–-production"
                15 verbose node v10.20.1
                16 verbose npm  v6.14.4
                17 error code EINVALIDTAGNAME
                18 error Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                19 verbose exit [ 1, true ]
                

                Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?

                Viele Grüße

                Jo

                KnallochseK Offline
                KnallochseK Offline
                Knallochse
                schrieb am zuletzt editiert von Knallochse
                #1775

                @jgee2 Ich glaube, nach dem Update von NPM musst du einen reinstall machen. Such mal nach reinstall.sh

                HM&HMIP über 100 Geräte + IoBroker auf DS918+ uvm.

                1 Antwort Letzte Antwort
                0
                • J jgee2

                  Hi @andre und alle anderen ioBroker-Fans!

                  Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.

                  Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.

                  Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:

                  root@xyz:/opt/iobroker# pkill io
                  root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production
                  sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt
                  npm ERR! code EINVALIDTAGNAME
                  npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                  npm ERR! A complete log of this run can be found in:
                  npm ERR!     /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.log
                  

                  Das Log File zeigt folgendes:

                  0 info it worked if it ends with ok
                  1 verbose cli [ '/usr/bin/node',
                  1 verbose cli   '/usr/bin/npm',
                  1 verbose cli   'install',
                  1 verbose cli   'iobroker.js-controller',
                  1 verbose cli   '–-production' ]
                  2 info using npm@6.14.4
                  3 info using node@v10.20.1
                  4 verbose config Skipping project config: /opt/iobroker/.npmrc. (matches userconfig)
                  5 verbose npm-session b424af1cc19f8c6a
                  6 silly install loadCurrentTree
                  7 silly install readLocalPackageData
                  8 silly fetchPackageMetaData error for iobroker.js-controller@^3.0.19 install iobroker.js-controller –-production is not a legal HTTP header value
                  9 timing stage:rollbackFailedOptional Completed in 5ms
                  10 timing stage:runTopLevelLifecycles Completed in 2794ms
                  11 verbose stack Error: Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                  11 verbose stack     at invalidTagName (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:91:15)
                  11 verbose stack     at fromRegistry (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:296:13)
                  11 verbose stack     at resolve (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:81:12)
                  11 verbose stack     at npa (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:52:10)
                  11 verbose stack     at /usr/lib/node_modules/npm/lib/install/deps.js:227:14
                  11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:35
                  11 verbose stack     at Array.forEach (<anonymous>)
                  11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:11
                  11 verbose stack     at Array.forEach (<anonymous>)
                  11 verbose stack     at asyncMap (/usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:51:8)
                  11 verbose stack     at exports.getAllMetadata (/usr/lib/node_modules/npm/lib/install/deps.js:224:3)
                  11 verbose stack     at Installer.loadArgMetadata (/usr/lib/node_modules/npm/lib/install.js:366:3)
                  11 verbose stack     at /usr/lib/node_modules/npm/lib/install.js:701:16
                  11 verbose stack     at BB.join.then (/usr/lib/node_modules/npm/lib/install/read-shrinkwrap.js:33:16)
                  11 verbose stack     at tryCatcher (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
                  11 verbose stack     at Promise._settlePromiseFromHandler (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:517:31)
                  12 verbose cwd /opt/iobroker
                  13 verbose Linux 3.10.105
                  14 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller" "–-production"
                  15 verbose node v10.20.1
                  16 verbose npm  v6.14.4
                  17 error code EINVALIDTAGNAME
                  18 error Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                  19 verbose exit [ 1, true ]
                  

                  Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?

                  Viele Grüße

                  Jo

                  GlasfaserG Offline
                  GlasfaserG Offline
                  Glasfaser
                  schrieb am zuletzt editiert von Glasfaser
                  #1776

                  @jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                  Invalid tag name "–-production":

                  Mache es so ...

                  vorher mal ... schadet nicht

                  apt-get update
                  apt-get upgrade
                  
                  curl -sL https://deb.nodesource.com/setup_12.x | bash -
                  apt install -y nodejs
                  npm rebuild
                  

                  Synology 918+ 16GB - ioBroker in Docker v9 , VISO auf Trekstor Primebook C13 13,3" , Hikvision Domkameras mit Surveillance Station .. CCU RaspberryMatic in Synology VM .. Zigbee CC2538+CC2592 .. Sonoff .. KNX .. Modbus ..

                  J 1 Antwort Letzte Antwort
                  0
                  • GlasfaserG Glasfaser

                    @jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                    Invalid tag name "–-production":

                    Mache es so ...

                    vorher mal ... schadet nicht

                    apt-get update
                    apt-get upgrade
                    
                    curl -sL https://deb.nodesource.com/setup_12.x | bash -
                    apt install -y nodejs
                    npm rebuild
                    
                    J Offline
                    J Offline
                    jgee2
                    schrieb am zuletzt editiert von
                    #1777

                    @Glasfaser

                    danke für den Tipp. Leider habe ich den gleicher Fehler immer noch. Vielleicht mache ich aber was grundsätzlich falsch. Ich bin so vorgegangen:

                    • per SSH als root auf die Synology
                    • per "docker exec -it <container name> /bin/bash" in den Container
                    • dort wie von dir beschrieben die Kommandos abgesetzt.
                    • danach iobroker per "gosu iobroker node node_modules/iobroker.js-controller/controller.js" neugestartet.

                    Das Ergebnis ist:

                    host.xyz check instance "system.adapter.admin.0" for host "xyz"
                    host.xyz check instance "system.adapter.discovery.0" for host "xyz"
                    host.xyz check instance "system.adapter.info.0" for host "xyz"
                    host.xyz check instance "system.adapter.smartmeter.0" for host "xyz"
                    host.xyz check instance "system.adapter.knx.0" for host "xyz"
                    host.xyz check instance "system.adapter.influxdb.0" for host "xyz"
                    host.xyz check instance "system.adapter.robonect.0" for host "xyz"
                    host.xyz check instance "system.adapter.sma-speedwire.0" for host "xyz"
                    host.xyz check instance "system.adapter.javascript.0" for host "xyz"
                    host.xyz check instance "system.adapter.feiertage.0" for host "xyz"
                    host.xyz check instance "system.adapter.web.0" for host "xyz"
                    host.xyz check instance "system.adapter.sonos.0" for host "xyz"
                    host.xyz check instance "system.adapter.unifi.0" for host "xyz"
                    host.xyz check instance "system.adapter.vis.0" for host "xyz"
                    host.xyz check instance "system.adapter.vaillant.0" for host "xyz"
                    host.xyz check instance "system.adapter.alexa2.0" for host "xyz"
                    host.xyz check instance "system.adapter.iot.0" for host "xyz"
                    ================================== > LOG REDIRECT system.adapter.javascript.0 => false [Process stopped]
                    ================================== > LOG REDIRECT system.adapter.javascript.0 => false [system.adapter.javascript.0.logging]
                    

                    Mach ich was grundsätzlich falsch?

                    @Knallochse, das script habe ich leider nicht finden können.

                    1 Antwort Letzte Antwort
                    0
                    • S stevie77

                      @FoodFighter sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                      Ich habe jetzt auch einfach mal für jeden Container ein vollumfassendes Compose-File gemacht.
                      Schaden kann es nicht, ich sehe es als Einstellungs-Backup.
                      Ich habe bewusst für jeden Container ein eigenes Compose-File erstellt zwecks Modularität.

                      Zur Vollständigkeit auch meine kompletten Docker-(Compose) Files:

                      $ docker network create \
                        --driver=macvlan \
                        --subnet=192.168.178.0/24 \
                        --ip-range=192.168.178.12/32 \
                        --gateway=192.168.178.1 \
                        iob_public
                      
                      $ docker network create \
                        --driver=bridge \
                        --subnet=172.20.0.0/16 \
                        --gateway=172.20.0.1 \
                        my-bridge-network
                      

                      Hatte mich davon inspiriert vorhin auch daran versucht das Netzwerk per Docker zu erzeugen (geht ja schneller als mit Portainer). Leider hat dein Beispiel erst bei mir funktioniert, als ich noch die Parent network card mit angegeben habe (vorher war der ioBroker nicht sichtbar, IP 224 nicht anpingbar).

                      docker network create --driver=macvlan --subnet=192.168.1.0/24 --ip-range=192.168.1.224/28 --gateway=192.168.1.1 -o parent=eth0 iobroker-network
                      

                      Macht auch Sinn, da dies in Portainer ein Pflichtfeld für MACVLAN ist. Kannst du mir erklären, warum das bei dir ja offensichtlich ohne funktioniert?

                      FoodFighterF Offline
                      FoodFighterF Offline
                      FoodFighter
                      schrieb am zuletzt editiert von
                      #1778

                      @stevie77 said in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                      Macht auch Sinn, da dies in Portainer ein Pflichtfeld für MACVLAN ist. Kannst du mir erklären, warum das bei dir ja offensichtlich ohne funktioniert?

                      Ja macht Sinn und ist auch richtig so - das ist mir durch die Lappen gegangen.
                      Danke für den Hinweis - Ich hab es oben korrigiert

                      1 Antwort Letzte Antwort
                      0
                      • J jgee2

                        Hi @andre und alle anderen ioBroker-Fans!

                        Seit letzter Woche habe ich den ioBroker auch auf einer Synology Diskstation innerhalb eines Docker Containers laufen, so wie André das auf seinem hervorragenden Blog beschrieben hat.

                        Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.

                        Danach habe ich versucht, den JS-controller neu zu installieren, was zu dieser Fehlermeldung geführt hat:

                        root@xyz:/opt/iobroker# pkill io
                        root@xyz:/opt/iobroker# npm install iobroker.js-controller –-production
                        sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt
                        npm ERR! code EINVALIDTAGNAME
                        npm ERR! Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                        npm ERR! A complete log of this run can be found in:
                        npm ERR!     /opt/iobroker/.npm/_logs/2020-04-27T11_26_04_789Z-debug.log
                        

                        Das Log File zeigt folgendes:

                        0 info it worked if it ends with ok
                        1 verbose cli [ '/usr/bin/node',
                        1 verbose cli   '/usr/bin/npm',
                        1 verbose cli   'install',
                        1 verbose cli   'iobroker.js-controller',
                        1 verbose cli   '–-production' ]
                        2 info using npm@6.14.4
                        3 info using node@v10.20.1
                        4 verbose config Skipping project config: /opt/iobroker/.npmrc. (matches userconfig)
                        5 verbose npm-session b424af1cc19f8c6a
                        6 silly install loadCurrentTree
                        7 silly install readLocalPackageData
                        8 silly fetchPackageMetaData error for iobroker.js-controller@^3.0.19 install iobroker.js-controller –-production is not a legal HTTP header value
                        9 timing stage:rollbackFailedOptional Completed in 5ms
                        10 timing stage:runTopLevelLifecycles Completed in 2794ms
                        11 verbose stack Error: Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                        11 verbose stack     at invalidTagName (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:91:15)
                        11 verbose stack     at fromRegistry (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:296:13)
                        11 verbose stack     at resolve (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:81:12)
                        11 verbose stack     at npa (/usr/lib/node_modules/npm/node_modules/npm-package-arg/npa.js:52:10)
                        11 verbose stack     at /usr/lib/node_modules/npm/lib/install/deps.js:227:14
                        11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:35
                        11 verbose stack     at Array.forEach (<anonymous>)
                        11 verbose stack     at /usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:52:11
                        11 verbose stack     at Array.forEach (<anonymous>)
                        11 verbose stack     at asyncMap (/usr/lib/node_modules/npm/node_modules/slide/lib/async-map.js:51:8)
                        11 verbose stack     at exports.getAllMetadata (/usr/lib/node_modules/npm/lib/install/deps.js:224:3)
                        11 verbose stack     at Installer.loadArgMetadata (/usr/lib/node_modules/npm/lib/install.js:366:3)
                        11 verbose stack     at /usr/lib/node_modules/npm/lib/install.js:701:16
                        11 verbose stack     at BB.join.then (/usr/lib/node_modules/npm/lib/install/read-shrinkwrap.js:33:16)
                        11 verbose stack     at tryCatcher (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/util.js:16:23)
                        11 verbose stack     at Promise._settlePromiseFromHandler (/usr/lib/node_modules/npm/node_modules/bluebird/js/release/promise.js:517:31)
                        12 verbose cwd /opt/iobroker
                        13 verbose Linux 3.10.105
                        14 verbose argv "/usr/bin/node" "/usr/bin/npm" "install" "iobroker.js-controller" "–-production"
                        15 verbose node v10.20.1
                        16 verbose npm  v6.14.4
                        17 error code EINVALIDTAGNAME
                        18 error Invalid tag name "–-production": Tags may not have any characters that encodeURIComponent encodes.
                        19 verbose exit [ 1, true ]
                        

                        Leider übersteigt dies meine Kenntnisse. Kann mir jemand helfen oder einen Tipp geben?

                        Viele Grüße

                        Jo

                        andreA Offline
                        andreA Offline
                        andre
                        Developer
                        schrieb am zuletzt editiert von
                        #1779

                        @jgee2
                        Hallo Jo,
                        ich glaube du bringst da irgendwas durcheinander...

                        @jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                        Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.

                        Was hast du jetzt genau vor? Du schreibst "NPM" aktualisieren, Nimmst die "Version 10 auf 12" (Versionen von Node) und postest die Fehlermeldungen vom Update des js-controllers... Das sind 3 völlig unterschiedliche Dinge...

                        In meiner Knowledgebase ist das Update vom js-controller beschrieben. Da wäre das Update dann aktuell von Version 2 auf 3. Das wäre dann das Update was du unter Umständen auch im Admin des ioBrokers angezeigt bekommst...

                        Ich ignoriere jetzt einfach mal "NPM" und "Version 10 auf 12" und beziehe mich auf deine Fehlermeldung beim Ausführen des "npm install..."

                        Deine Fehlermeldung "sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt" ist nicht neu. Hast du die mal durch die Suche in diesem Thread gejagt?
                        Das ist ein Thema was hier alle paar Monate wieder aufschlägt.
                        Es handelt sich um einen bekannten Bug der in Erscheinung tritt wenn man den Container auf einer Synology DS ausführt und das "Host-Netzwerk" verwendet. Synology verwendet in der aktuellen DSM Version einen veralteten Linux Kernel. In diesem Kernel gibt es einen Bug. Der verhindert das Ausführen von sudo innerhalb eines Containers der im Host Mode läuft.... Leider wird beim "npm install..." innerhalb der routine "sudo" aufgerufen. Resultat: Die Installation schlägt fehl.

                        Eine Workaround für das Update des js-controllers im ioBroker-Container wäre folgendes (vorausgesetzt du hast dein ioBroker-Verzeichnis außerhalb des Containers liegen und in den Container gemountet):

                        1. Backup machen! (z.B. per duplizieren des ioBroker-Verzeichnisses oder über "iobroker backup" und sichern des Backup-Files)
                        2. Container löschen
                        3. Container mit Bridge Netzwerk anstatt Host erstellen (restliche Config natürlich gleich)
                        4. Update des js-controllers über Kommandozeile durchführen ("pkill io", "npm install..")
                        5. Container löschen
                        6. Neuen Container mit Host Netzwerk erstellen

                        Ich hoffe das hilft dir weiter.

                        MfG,
                        André

                        Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                        J 1 Antwort Letzte Antwort
                        -1
                        • Q Offline
                          Q Offline
                          qosi
                          schrieb am zuletzt editiert von
                          #1780

                          Hallo noch mal,

                          habe das Gefühl meine Frage/Problem geht irgendwie unter, ich versuche es noch einmal, jedoch diesmal nicht als Reply auf ein Posting.
                          Hoffe mit diesem letzten Versuch auf mein Problem aufmerksam zu machen, ggf. poste ich hier auch falsch...k.a...:confused:

                          Ich wäre super Dankbar wenn jemand hier auf eine Quelle verweisen könnte wo ich nachlesen kann, oder ggf. anhand meiner Infos die Lösung kennt.

                          Hier der Post um den es geht:
                          https://forum.iobroker.net/post/419686

                          Vielen Dank!:spock-hand:

                          andreA 1 Antwort Letzte Antwort
                          0
                          • Q qosi

                            Hallo noch mal,

                            habe das Gefühl meine Frage/Problem geht irgendwie unter, ich versuche es noch einmal, jedoch diesmal nicht als Reply auf ein Posting.
                            Hoffe mit diesem letzten Versuch auf mein Problem aufmerksam zu machen, ggf. poste ich hier auch falsch...k.a...:confused:

                            Ich wäre super Dankbar wenn jemand hier auf eine Quelle verweisen könnte wo ich nachlesen kann, oder ggf. anhand meiner Infos die Lösung kennt.

                            Hier der Post um den es geht:
                            https://forum.iobroker.net/post/419686

                            Vielen Dank!:spock-hand:

                            andreA Offline
                            andreA Offline
                            andre
                            Developer
                            schrieb am zuletzt editiert von andre
                            #1781

                            @qosi
                            Hallo,
                            hast du denn beim Erstellen deines Containers die Capabilities gesetzt?
                            Hier ein paar Infos: Docker Doku.
                            Und hier findet man das im Portainer:
                            d93930b0-f8ca-4a41-b123-822b10ff228f-image.png
                            Vermutlich fehlt dir der "NET_ADMIN".
                            Ob noch Weiteres zu tun ist kann ich nicht genau sagen. Ich verwende den Adapter nur auf einem Raspberry-Multihost-Slave...

                            MfG,
                            André

                            Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                            Q 1 Antwort Letzte Antwort
                            0
                            • andreA andre

                              @qosi
                              Hallo,
                              hast du denn beim Erstellen deines Containers die Capabilities gesetzt?
                              Hier ein paar Infos: Docker Doku.
                              Und hier findet man das im Portainer:
                              d93930b0-f8ca-4a41-b123-822b10ff228f-image.png
                              Vermutlich fehlt dir der "NET_ADMIN".
                              Ob noch Weiteres zu tun ist kann ich nicht genau sagen. Ich verwende den Adapter nur auf einem Raspberry-Multihost-Slave...

                              MfG,
                              André

                              Q Offline
                              Q Offline
                              qosi
                              schrieb am zuletzt editiert von qosi
                              #1782

                              @andre
                              Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:
                              f522277e-8f7e-4880-8640-1a7910629f8c-image.png
                              Brachte nix...dann noch in CMD hinzugefügt...
                              8a4cc906-e11e-4bb9-8f79-b03ea2a79ceb-image.png
                              Brachte auch nichts...
                              Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...
                              fb1eac29-a434-4fe1-979f-6b3988808e9b-image.png

                              Das sind meine Pakete

                              build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nano
                              

                              Leider will er einfach nicht...

                              radar2.0	2020-04-27 23:51:48.223	info	(643) radar2 set to scan every 20 seconds and printers every 720 minutes.
                              radar2.0	2020-04-27 23:51:48.222	info	(643) arp-scan will use the following interfaces: [ 'eth0' ]
                              radar2.0	2020-04-27 23:51:48.221	info	(643) Remove name end for host names: .fritz.box
                              radar2.0	2020-04-27 23:51:48.221	info	(643) use known IP list: [ '1.1.1.1' ]
                              radar2.0	2020-04-27 23:51:48.220	info	(643) use known BT list: [ '01:12:23:34:45:56' ]
                              radar2.0	2020-04-27 23:51:48.219	info	(643) radar2 set to flag items away if they are not seen for 2 minutes
                              radar2.0	2020-04-27 23:51:48.218	warn	(643) node-bluetooth not found!
                              radar2.0	2020-04-27 23:51:47.975	warn	(643) Noble not available, Error: { Error: EAFNOSUPPORT, Address family not supported by protocolat new Hci (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)at new NobleBindi
                              radar2.0	2020-04-27 23:51:47.024	info	(643) Adapter disconnected and stopped with dostop(false) and callback(true)
                              radar2.0	2020-04-27 23:51:47.023	error	(643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
                              radar2.0	2020-04-27 23:51:47.022	error	(643) uncaught exception: bind EACCES 0.0.0.0:67
                              radar2.0	2020-04-27 23:51:46.850	info	(643) net-ping not available! Will try to use normal ping!
                              radar2.0	2020-04-27 23:51:46.815	info	(643) radar2 initialization started...
                              radar2.0	2020-04-27 23:51:46.796	warn	(643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer!
                              radar2.0	2020-04-27 23:51:46.731	info	(643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19
                              

                              Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
                              Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.

                              Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
                              Danke für die Doku, werde die mir noch mal in Detail reinziehen.

                              Hier vielleicht noch der Log vom Container start...log.txt

                              andreA D 2 Antworten Letzte Antwort
                              0
                              • Q qosi

                                @andre
                                Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:
                                f522277e-8f7e-4880-8640-1a7910629f8c-image.png
                                Brachte nix...dann noch in CMD hinzugefügt...
                                8a4cc906-e11e-4bb9-8f79-b03ea2a79ceb-image.png
                                Brachte auch nichts...
                                Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...
                                fb1eac29-a434-4fe1-979f-6b3988808e9b-image.png

                                Das sind meine Pakete

                                build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nano
                                

                                Leider will er einfach nicht...

                                radar2.0	2020-04-27 23:51:48.223	info	(643) radar2 set to scan every 20 seconds and printers every 720 minutes.
                                radar2.0	2020-04-27 23:51:48.222	info	(643) arp-scan will use the following interfaces: [ 'eth0' ]
                                radar2.0	2020-04-27 23:51:48.221	info	(643) Remove name end for host names: .fritz.box
                                radar2.0	2020-04-27 23:51:48.221	info	(643) use known IP list: [ '1.1.1.1' ]
                                radar2.0	2020-04-27 23:51:48.220	info	(643) use known BT list: [ '01:12:23:34:45:56' ]
                                radar2.0	2020-04-27 23:51:48.219	info	(643) radar2 set to flag items away if they are not seen for 2 minutes
                                radar2.0	2020-04-27 23:51:48.218	warn	(643) node-bluetooth not found!
                                radar2.0	2020-04-27 23:51:47.975	warn	(643) Noble not available, Error: { Error: EAFNOSUPPORT, Address family not supported by protocolat new Hci (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)at new NobleBindi
                                radar2.0	2020-04-27 23:51:47.024	info	(643) Adapter disconnected and stopped with dostop(false) and callback(true)
                                radar2.0	2020-04-27 23:51:47.023	error	(643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
                                radar2.0	2020-04-27 23:51:47.022	error	(643) uncaught exception: bind EACCES 0.0.0.0:67
                                radar2.0	2020-04-27 23:51:46.850	info	(643) net-ping not available! Will try to use normal ping!
                                radar2.0	2020-04-27 23:51:46.815	info	(643) radar2 initialization started...
                                radar2.0	2020-04-27 23:51:46.796	warn	(643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer!
                                radar2.0	2020-04-27 23:51:46.731	info	(643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19
                                

                                Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
                                Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.

                                Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
                                Danke für die Doku, werde die mir noch mal in Detail reinziehen.

                                Hier vielleicht noch der Log vom Container start...log.txt

                                andreA Offline
                                andreA Offline
                                andre
                                Developer
                                schrieb am zuletzt editiert von
                                #1783

                                @qosi sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                                Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)

                                Hallo,
                                für mich sieht das soweit eigentlich gut aus. In der einzigen Fehlermeldung die ich finden konnte meckert er an, dass er den Port 67 nicht öffnen kann. Hast du die Fehlermeldung mal durch die Forensuche gejagt?

                                Ich empfehle dir da mal diesen Thread:
                                https://forum.iobroker.net/topic/19794/adapter-neuer-radar2-adapter

                                MfG,
                                André

                                Bitte keine Support-Fragen per PN! Nutzt die öffentliche Kanäle damit auch andere von den Antworten profitieren können!

                                1 Antwort Letzte Antwort
                                0
                                • Q qosi

                                  @andre
                                  Vielen Dank, habe die --privileged hinzugefügt, erst im Portainer eingeschaltet:
                                  f522277e-8f7e-4880-8640-1a7910629f8c-image.png
                                  Brachte nix...dann noch in CMD hinzugefügt...
                                  8a4cc906-e11e-4bb9-8f79-b03ea2a79ceb-image.png
                                  Brachte auch nichts...
                                  Dann noch mehr von den capabilities eingeschaltet, NET_Admin war schon an...
                                  fb1eac29-a434-4fe1-979f-6b3988808e9b-image.png

                                  Das sind meine Pakete

                                  build-essential libcairo2-dev libcap2-bin libpango1.0-dev libjpeg-dev librsvg2-dev arp-scan bluetooth bluez libbluetooth-dev libudev-dev net-tools net-ping nano
                                  

                                  Leider will er einfach nicht...

                                  radar2.0	2020-04-27 23:51:48.223	info	(643) radar2 set to scan every 20 seconds and printers every 720 minutes.
                                  radar2.0	2020-04-27 23:51:48.222	info	(643) arp-scan will use the following interfaces: [ 'eth0' ]
                                  radar2.0	2020-04-27 23:51:48.221	info	(643) Remove name end for host names: .fritz.box
                                  radar2.0	2020-04-27 23:51:48.221	info	(643) use known IP list: [ '1.1.1.1' ]
                                  radar2.0	2020-04-27 23:51:48.220	info	(643) use known BT list: [ '01:12:23:34:45:56' ]
                                  radar2.0	2020-04-27 23:51:48.219	info	(643) radar2 set to flag items away if they are not seen for 2 minutes
                                  radar2.0	2020-04-27 23:51:48.218	warn	(643) node-bluetooth not found!
                                  radar2.0	2020-04-27 23:51:47.975	warn	(643) Noble not available, Error: { Error: EAFNOSUPPORT, Address family not supported by protocolat new Hci (/opt/iobroker/node_modules/@abandonware/noble/lib/hci-socket/hci.js:74:18)at new NobleBindi
                                  radar2.0	2020-04-27 23:51:47.024	info	(643) Adapter disconnected and stopped with dostop(false) and callback(true)
                                  radar2.0	2020-04-27 23:51:47.023	error	(643) Error: bind EACCES 0.0.0.0:67 at state.handle.lookup (dgram.js:242:18) at process._tickCallback (internal/process/next_tick.js:63:19)
                                  radar2.0	2020-04-27 23:51:47.022	error	(643) uncaught exception: bind EACCES 0.0.0.0:67
                                  radar2.0	2020-04-27 23:51:46.850	info	(643) net-ping not available! Will try to use normal ping!
                                  radar2.0	2020-04-27 23:51:46.815	info	(643) radar2 initialization started...
                                  radar2.0	2020-04-27 23:51:46.796	warn	(643) adapter.objects.getObjectList is deprecated, and will be removed in the future. Please use adapter.getObjectList/Async. Report this to Developer!
                                  radar2.0	2020-04-27 23:51:46.731	info	(643) starting. Version 1.0.9 in /opt/iobroker/node_modules/iobroker.radar2, node: v10.20.1, js-controller: 3.0.19
                                  

                                  Hab den js-controller auf 3.0.19 gebracht, vielleicht bin ich mit den aktuellen node usw. Versionen zu aktuell...?
                                  Ich habe den Container erst mal da, der Mount ist auch da, werde weiter stöbern dazu und auf neues Update hoffen.

                                  Im Moment wieder zurück auf dem RPI und hoffen, dass die SD Karte wieder mal eine Zeitlang hält.
                                  Danke für die Doku, werde die mir noch mal in Detail reinziehen.

                                  Hier vielleicht noch der Log vom Container start...log.txt

                                  D Offline
                                  D Offline
                                  duffbeer2000
                                  schrieb am zuletzt editiert von duffbeer2000
                                  #1784

                                  @qosi Sobald du den Privileged mode aktiviert hast interessieren die capabilities nicht mehr da sie dann alle aktiviert sind. Sicherheitstechnisch solltest du den Privileged mode deaktivieren und nur die benötigten capabilities aktivieren. Ich kann das nicht oft genug sagen.

                                  Wenn ein externer angreifer in einen Container eindringt der im Privileged mode läuft, kann er auf eurem Host (Diskstation) sehr großen Schaden anrichten, wie z.B. alle Platten löschen.

                                  Und nun zum eigentlichen Problem:

                                  • schalte den Container aus
                                  • Da du vorher ohne priviledged ausgekommen bist schalt es wieder aus
                                  • dreh die capabilities wieder auf den Ursprungszustand zurück
                                  • aktiviere folgende capabilities zusätzlich zu den Standardmäßigen.: "NET_ADMIN" "NET_RAW" und "NET_BIND_SERVICE"
                                  • Starte den Container wieder
                                  • Führe in der Console folgende Befehle aus:
                                  gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp-scan`)
                                  gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which node`)
                                  gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which arp`)
                                  gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hcitool`)
                                  gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which hciconfig`)
                                  gosu root setcap cap_net_admin,cap_net_raw,cap_net_bind_service=+eip $(eval readlink -f `which l2ping`)
                                  
                                  • Starte den Container neu
                                  Q 1 Antwort Letzte Antwort
                                  0
                                  • andreA andre

                                    @jgee2
                                    Hallo Jo,
                                    ich glaube du bringst da irgendwas durcheinander...

                                    @jgee2 sagte in [HowTo][Anleitung] Installation ioBroker in Docker auf Synology DiskStation:

                                    Heute habe ich versucht, NPM von Version 10 auf 12 zu aktualisieren, so wie in dem Blog beschrieben. Leider hat der Neustart nicht mehr geklappt.

                                    Was hast du jetzt genau vor? Du schreibst "NPM" aktualisieren, Nimmst die "Version 10 auf 12" (Versionen von Node) und postest die Fehlermeldungen vom Update des js-controllers... Das sind 3 völlig unterschiedliche Dinge...

                                    In meiner Knowledgebase ist das Update vom js-controller beschrieben. Da wäre das Update dann aktuell von Version 2 auf 3. Das wäre dann das Update was du unter Umständen auch im Admin des ioBrokers angezeigt bekommst...

                                    Ich ignoriere jetzt einfach mal "NPM" und "Version 10 auf 12" und beziehe mich auf deine Fehlermeldung beim Ausführen des "npm install..."

                                    Deine Fehlermeldung "sudo: Die Audit-Nachricht kann nicht gesendet werden: Die Operation ist nicht erlaubt" ist nicht neu. Hast du die mal durch die Suche in diesem Thread gejagt?
                                    Das ist ein Thema was hier alle paar Monate wieder aufschlägt.
                                    Es handelt sich um einen bekannten Bug der in Erscheinung tritt wenn man den Container auf einer Synology DS ausführt und das "Host-Netzwerk" verwendet. Synology verwendet in der aktuellen DSM Version einen veralteten Linux Kernel. In diesem Kernel gibt es einen Bug. Der verhindert das Ausführen von sudo innerhalb eines Containers der im Host Mode läuft.... Leider wird beim "npm install..." innerhalb der routine "sudo" aufgerufen. Resultat: Die Installation schlägt fehl.

                                    Eine Workaround für das Update des js-controllers im ioBroker-Container wäre folgendes (vorausgesetzt du hast dein ioBroker-Verzeichnis außerhalb des Containers liegen und in den Container gemountet):

                                    1. Backup machen! (z.B. per duplizieren des ioBroker-Verzeichnisses oder über "iobroker backup" und sichern des Backup-Files)
                                    2. Container löschen
                                    3. Container mit Bridge Netzwerk anstatt Host erstellen (restliche Config natürlich gleich)
                                    4. Update des js-controllers über Kommandozeile durchführen ("pkill io", "npm install..")
                                    5. Container löschen
                                    6. Neuen Container mit Host Netzwerk erstellen

                                    Ich hoffe das hilft dir weiter.

                                    MfG,
                                    André

                                    J Offline
                                    J Offline
                                    jgee2
                                    schrieb am zuletzt editiert von
                                    #1785

                                    @andre,

                                    Hi André,

                                    ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.

                                    Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.

                                    Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...

                                    Beste Grüße

                                    Jo

                                    D RK62R 2 Antworten Letzte Antwort
                                    0
                                    • J jgee2

                                      @andre,

                                      Hi André,

                                      ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.

                                      Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.

                                      Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...

                                      Beste Grüße

                                      Jo

                                      D Offline
                                      D Offline
                                      duffbeer2000
                                      schrieb am zuletzt editiert von duffbeer2000
                                      #1786

                                      @jgee2 Probier mal folgendes bevor du einzelne Sachen wiederherstellst:

                                      • erstelle dir ein neues iobroker_data-Verzeichnis (kannst auch anders nennen)
                                      • lege in das neue iobroker_data-Verzeichnis das Backup-File
                                      • erstelle dir nochmal einen nackten Container mit dem neuen iobroker_data-Verzeichnis
                                      • starte den Container

                                      Jetzt sollte automatisch ein Restore laufen, das dauert einige Zeit bis es komplett abgeschlossen ist. Je nach Anzahl an Adaptern bis zu 2 Stunden oder mehr.

                                      Und heb dir das alte iobroker_data-Verzeichnis auf, dann kann man wenns nicht funktioniert auch damit weiter machen.

                                      J 1 Antwort Letzte Antwort
                                      0
                                      • J jgee2

                                        @andre,

                                        Hi André,

                                        ja, da habe ich viel durcheinander gebracht, bitte entschuldige. Versucht hatte ich tatsächlich ein Update des js-controllers, das dann fehlgeschlagen ist. Nochmals danke für deine Hilfe.

                                        Leider bekomme ich auch mit deiner Anleitung hier den Container nicht zum Laufen. Weder im Bridge- noch im Host-Modus. Ich habe daraufhin einen neuen ("nackten") Container installiert und darin mein Backup mit "iobroker restore 0" hergestellt. Sobald das Backup wiederhergestellt wurde, funktioniert auch der Container nicht mehr. Ich scheine mir da richtig was kaputt gemacht zu haben.

                                        Ich habe bereits begonnen, alles neu aufsetzen, das ist soweit lediglich Arbeit... Nur einige meiner Javascripts würde ich gerne wiederherstellen, da da viel Arbeit reingeflossen ist. Weißt du (oder sonst jemand), wie ich aus dem ioBroker Backup einzelne Teile, nämlich die eigenen Javascript-Dateien, wiederherstellen kann? Soweit ich das sehen kann, liegen die alle in einer ziemlich großen JSON-Datei, in meinem Fall 8 MB. Da hat mein Atom Editor große Schwierigkeiten mit...

                                        Beste Grüße

                                        Jo

                                        RK62R Offline
                                        RK62R Offline
                                        RK62
                                        schrieb am zuletzt editiert von
                                        #1787

                                        @jgee2 Beim neuen System / nach der Reparatur empfiehlt es sich diese Einstellung in der javascript-Instanz zu setzen:

                                        daac53f4-ac73-491a-bd12-8b6046489994-image.png

                                        Das Verzeichnis solltest Du vorher manuell anlegen.

                                        Damit werden dann permanent alle Skripte lokal auf das Filesystem synchronisiert und können dort oder im Admin geändert werden.
                                        Mit Hyperbackup hat man dann auch Generationssicherungen der Skripte und kann problemlos auch ein einzelnes mal wieder zurückholen.

                                        Gruß, Ralf

                                        J 1 Antwort Letzte Antwort
                                        2
                                        • D duffbeer2000

                                          @jgee2 Probier mal folgendes bevor du einzelne Sachen wiederherstellst:

                                          • erstelle dir ein neues iobroker_data-Verzeichnis (kannst auch anders nennen)
                                          • lege in das neue iobroker_data-Verzeichnis das Backup-File
                                          • erstelle dir nochmal einen nackten Container mit dem neuen iobroker_data-Verzeichnis
                                          • starte den Container

                                          Jetzt sollte automatisch ein Restore laufen, das dauert einige Zeit bis es komplett abgeschlossen ist. Je nach Anzahl an Adaptern bis zu 2 Stunden oder mehr.

                                          Und heb dir das alte iobroker_data-Verzeichnis auf, dann kann man wenns nicht funktioniert auch damit weiter machen.

                                          J Offline
                                          J Offline
                                          jgee2
                                          schrieb am zuletzt editiert von
                                          #1788

                                          @duffbeer2000

                                          Hi! Das habe ich gemacht. Die Fehlermeldung beim Starten des Containers war sinngemäß, dass Dateien im Verzeichnis entdeckt wurden, die kein ioBroker Backup wären. Da habe ich dann aufgegeben. Vermutlich war das Backup bereits korrupt. Hab was draus gelernt: Meine ioBroker-Instanz wird bei mir jetzt genauso pfleglich behandelt, wie auch andere Daten. Backups mache ich jetzt regelmäßig und automatisch...

                                          Trotzdem danke und viele Grüße

                                          Jo

                                          D 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
                                          FAQ Cloud / IOT
                                          HowTo: Node.js-Update
                                          HowTo: Backup/Restore
                                          Downloads
                                          BLOG

                                          848

                                          Online

                                          32.4k

                                          Benutzer

                                          81.5k

                                          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