Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Einsteigerfragen
    4. Installation
    5. Installation ioBroker Container (podman)

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    Installation ioBroker Container (podman)

    This topic has been deleted. Only users with topic management privileges can see it.
    • P
      pepe last edited by

      Hallo,

      ich versuche ioBroker auf einen Container mit Hilfe von Podman (ähnlich Docker) zu installieren.
      Die Installation selbst klappt. iobroker startet und der Prozess ist ersichtlich.

      Jedoch kann ich die WebGui nicht erreichen. Es wird kein Port freigegeben (über portscan wird nichts angezeigt)

      bisher folgendes versucht:

      • reboot
      • reinstall
      • reboot service

      jemand ne idee was da noch sein kann?

      thx

      Logs


      ------------------------- 2022-08-19 11:35:40 -------------------------


      ----- Welcome to your ioBroker-container! -----
      ----- Startupscript is now running. -----
      ----- Please be patient! -----


      ----- Debugging information -----


      ----- System -----
      ----- arch: x86_64 -----
      ----- hostname: a3de179b1c13 -----


      ----- Docker-Image -----
      ----- image: v7.0.1 -----
      ----- build: 2022-07-05T18:51:52+00:00 -----


      ----- Versions -----
      /opt/scripts/iobroker_startup.sh: line 52: /usr/bin/node: Operation not permitted
      ----- node: -----
      /usr/bin/env: ‘node’: Operation not permitted
      ----- npm: -----


      ----- ENV -----
      ----- SETGID: 1000 -----
      ----- SETUID: 1000 -----


      ----- Step 1 of 5: Preparing container -----

      Updating Linux packages on first run...
      dpkg-preconfigure: unable to re-open stdin:
      (Reading database ... 29334 files and directories currently installed.)
      Preparing to unpack .../base-files_11.1+deb11u4_amd64.deb ...
      Unpacking base-files (11.1+deb11u4) over (11.1+deb11u3) ...
      Setting up base-files (11.1+deb11u4) ...
      Installing new version of config file /etc/debian_version ...
      (Reading database ... 29334 files and directories currently installed.)
      Preparing to unpack .../bash_5.1-2+deb11u1_amd64.deb ...
      update-alternatives: warning: alternative /usr/share/man/man7/bash-builtins.7.gz (part of link group builtins.7.gz) doesn't exist; removing from list of alternatives
      update-alternatives: warning: /etc/alternatives/builtins.7.gz is dangling; it will be updated with best choice
      Unpacking bash (5.1-2+deb11u1) over (5.1-2+b3) ...
      Setting up bash (5.1-2+deb11u1) ...
      update-alternatives: error: alternative path /usr/share/man/man7/bash-builtins.7.gz doesn't exist
      (Reading database ... 29333 files and directories currently installed.)
      Preparing to unpack .../dpkg_1.20.11_amd64.deb ...
      Unpacking dpkg (1.20.11) over (1.20.10) ...
      Setting up dpkg (1.20.11) ...
      (Reading database ... 29333 files and directories currently installed.)
      Preparing to unpack .../libgnutls30_3.7.1-5+deb11u2_amd64.deb ...
      Unpacking libgnutls30:amd64 (3.7.1-5+deb11u2) over (3.7.1-5) ...
      Setting up libgnutls30:amd64 (3.7.1-5+deb11u2) ...
      (Reading database ... 29333 files and directories currently installed.)
      Preparing to unpack .../libwbclient0_2%3a4.13.13+dfsg-1~deb11u5_amd64.deb ...
      Unpacking libwbclient0:amd64 (2:4.13.13+dfsg-1~deb11u5) over (2:4.13.13+dfsg-1~deb11u3) ...
      Preparing to unpack .../libssl1.1_1.1.1n-0+deb11u3_amd64.deb ...
      Unpacking libssl1.1:amd64 (1.1.1n-0+deb11u3) over (1.1.1n-0+deb11u2) ...
      Setting up libssl1.1:amd64 (1.1.1n-0+deb11u3) ...
      (Reading database ... 29333 files and directories currently installed.)
      Preparing to unpack .../libtirpc-common_1.3.1-1+deb11u1_all.deb ...
      Unpacking libtirpc-common (1.3.1-1+deb11u1) over (1.3.1-1) ...
      Setting up libtirpc-common (1.3.1-1+deb11u1) ...
      (Reading database ... 29333 files and directories currently installed.)
      Preparing to unpack .../libtirpc-dev_1.3.1-1+deb11u1_amd64.deb ...
      Unpacking libtirpc-dev:amd64 (1.3.1-1+deb11u1) over (1.3.1-1) ...
      Preparing to unpack .../libtirpc3_1.3.1-1+deb11u1_amd64.deb ...
      Unpacking libtirpc3:amd64 (1.3.1-1+deb11u1) over (1.3.1-1) ...
      Setting up libtirpc3:amd64 (1.3.1-1+deb11u1) ...
      (Reading database ... 29333 files and directories currently installed.)
      Preparing to unpack .../00-tzdata_2021a-1+deb11u5_all.deb ...
      Unpacking tzdata (2021a-1+deb11u5) over (2021a-1+deb11u4) ...
      Preparing to unpack .../01-curl_7.74.0-1.3+deb11u2_amd64.deb ...
      Unpacking curl (7.74.0-1.3+deb11u2) over (7.74.0-1.3+deb11u1) ...
      Preparing to unpack .../02-libcurl4_7.74.0-1.3+deb11u2_amd64.deb ...
      Unpacking libcurl4:amd64 (7.74.0-1.3+deb11u2) over (7.74.0-1.3+deb11u1) ...
      Preparing to unpack .../03-distro-info-data_0.51+deb11u2_all.deb ...
      Unpacking distro-info-data (0.51+deb11u2) over (0.51+deb11u1) ...
      Preparing to unpack .../04-dpkg-dev_1.20.11_all.deb ...
      Unpacking dpkg-dev (1.20.11) over (1.20.10) ...
      Preparing to unpack .../05-libdpkg-perl_1.20.11_all.deb ...
      Unpacking libdpkg-perl (1.20.11) over (1.20.10) ...
      Preparing to unpack .../06-libcurl3-gnutls_7.74.0-1.3+deb11u2_amd64.deb ...
      Unpacking libcurl3-gnutls:amd64 (7.74.0-1.3+deb11u2) over (7.74.0-1.3+deb11u1) ...
      Preparing to unpack .../07-libfreetype-dev_2.10.4+dfsg-1+deb11u1_amd64.deb ...
      Unpacking libfreetype-dev:amd64 (2.10.4+dfsg-1+deb11u1) over (2.10.4+dfsg-1) ...
      Preparing to unpack .../08-libfreetype6-dev_2.10.4+dfsg-1+deb11u1_amd64.deb ...
      Unpacking libfreetype6-dev:amd64 (2.10.4+dfsg-1+deb11u1) over (2.10.4+dfsg-1) ...
      Preparing to unpack .../09-libfreetype6_2.10.4+dfsg-1+deb11u1_amd64.deb ...
      Unpacking libfreetype6:amd64 (2.10.4+dfsg-1+deb11u1) over (2.10.4+dfsg-1) ...
      Preparing to unpack .../10-libfribidi-dev_1.0.8-2+deb11u1_amd64.deb ...
      Unpacking libfribidi-dev:amd64 (1.0.8-2+deb11u1) over (1.0.8-2) ...
      Preparing to unpack .../11-libfribidi0_1.0.8-2+deb11u1_amd64.deb ...
      Unpacking libfribidi0:amd64 (1.0.8-2+deb11u1) over (1.0.8-2) ...
      Preparing to unpack .../12-linux-libc-dev_5.10.136-1_amd64.deb ...
      Unpacking linux-libc-dev:amd64 (5.10.136-1) over (5.10.120-1) ...
      Preparing to unpack .../13-nodejs_16.17.0-deb-1nodesource1_amd64.deb ...
      Unpacking nodejs (16.17.0-deb-1nodesource1) over (16.15.1-deb-1nodesource1) ...
      Preparing to unpack .../14-unzip_6.0-26+deb11u1_amd64.deb ...
      Unpacking unzip (6.0-26+deb11u1) over (6.0-26) ...
      Setting up distro-info-data (0.51+deb11u2) ...
      Setting up unzip (6.0-26+deb11u1) ...
      Setting up linux-libc-dev:amd64 (5.10.136-1) ...
      Setting up libcurl3-gnutls:amd64 (7.74.0-1.3+deb11u2) ...
      Setting up nodejs (16.17.0-deb-1nodesource1) ...
      Setting up libwbclient0:amd64 (2:4.13.13+dfsg-1~deb11u5) ...
      Setting up tzdata (2021a-1+deb11u5) ...

      Current default time zone: 'Etc/UTC'
      Local time is now: Fri Aug 19 09:36:35 UTC 2022.
      Universal Time is now: Fri Aug 19 09:36:35 UTC 2022.
      Run 'dpkg-reconfigure tzdata' if you wish to change it.

      Setting up libtirpc-dev:amd64 (1.3.1-1+deb11u1) ...
      Setting up libfreetype6:amd64 (2.10.4+dfsg-1+deb11u1) ...
      Setting up libfribidi0:amd64 (1.0.8-2+deb11u1) ...
      Setting up libdpkg-perl (1.20.11) ...
      Setting up libcurl4:amd64 (7.74.0-1.3+deb11u2) ...
      Setting up curl (7.74.0-1.3+deb11u2) ...
      Setting up libfribidi-dev:amd64 (1.0.8-2+deb11u1) ...
      Setting up dpkg-dev (1.20.11) ...
      Setting up libfreetype-dev:amd64 (2.10.4+dfsg-1+deb11u1) ...
      Setting up libfreetype6-dev:amd64 (2.10.4+dfsg-1+deb11u1) ...
      Processing triggers for libc-bin (2.31-13+deb11u3) ...
      Reading package lists...
      Building dependency tree...
      Reading state information...
      Reading package lists...
      Building dependency tree...
      Reading state information...
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      Done.

      Registering maintenance script as command... Done.

      Installing additional packages is set by ENV.
      Checking the following Packages: ...
      Reading package lists...
      Building dependency tree...
      Reading state information...
      Reading package lists...
      Building dependency tree...
      Reading state information...
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      Done.


      ----- Step 2 of 5: Detecting ioBroker installation -----

      There is no data detected in /opt/iobroker.
      Restoring initial ioBroker installation... Done.


      ----- Step 3 of 5: Checking ioBroker installation -----

      (Re)Setting folder permissions (This might take a while! Please be patient!)... Done.

      Fixing "sudo-bug" by replacing sudo in iobroker with gosu... Done.

      Hostname in ioBroker does not match the hostname of this container.
      Updating hostname to a3de179b1c13... The host for instance "system.adapter.admin.0" was changed from "buildkitsandbox" to "a3de179b1c13".
      The host for instance "system.adapter.discovery.0" was changed from "buildkitsandbox" to "a3de179b1c13".
      The host for instance "system.adapter.backitup.0" was changed from "buildkitsandbox" to "a3de179b1c13".
      Done.


      ----- Step 4 of 5: Applying special settings -----

      Some adapters have special requirements/ settings which can be activated by the use of environment variables.
      For more information see ioBroker Docker Image Docs (https://docs.buanet.de/iobroker-docker-image/docs/).


      ----- Step 5 of 5: ioBroker startup -----

      Starting ioBroker...

      host.a3de179b1c13 check instance "system.adapter.admin.0" for host "a3de179b1c13"
      host.a3de179b1c13 check instance "system.adapter.discovery.0" for host "a3de179b1c13"
      host.a3de179b1c13 check instance "system.adapter.backitup.0" for host "a3de179b1c13"
      object system.meta.uuid created: 45efe401-f5b3-5fdd-fa01-ee94a0b3a78e

      prozess:

      ps aux | grep iobroker
      1000 896 0.9 4.1 652140 72280 ? Sl 09:37 0:41 iobroker.js-controller
      root 14893 0.0 0.1 4064 2212 pts/0 S+ 10:51 0:00 grep --color=auto iobroker

      Glasfaser Homoran 3 Replies Last reply Reply Quote 0
      • Glasfaser
        Glasfaser @pepe last edited by

        @pepe sagte in Installation ioBroker Container (podman):

        Es wird kein Port freigegeben

        Hast du

        -p 8081:8081
        
        1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @pepe last edited by

          @pepe was ist das?
          wenn die Formatierungen nicht absichtlich sind, den Text in code-tags setzen!

          https://forum.iobroker.net/topic/51555/hinweise-für-gute-forenbeiträge/1

          Glasfaser 1 Reply Last reply Reply Quote 0
          • Glasfaser
            Glasfaser @Homoran last edited by

            @homoran sagte in Installation ioBroker Container (podman):

            @pepe was ist das?

            https://www.ionos.de/digitalguide/server/knowhow/podman-vs-docker/

            Zitat:

            Was ist Docker?

            Seit Docker 2013 als Open-Source-Software veröffentlicht wurde, erfreut sich die Technologie großer Beliebtheit. Als leichte und zugleich praktikable sowie verlässliche Lösung für die Anwendungsentwicklung ermöglicht Docker Nutzerinnen und Nutzern eine freiere Herangehensweise. Durch das Image als Abbild eines Containers lassen sich Pakete leicht als Daten transportieren und installieren. Ein einzelnes Docker-Image kann dabei eine unbegrenzte Anzahl von Containern kreieren, um z. B. OpenStack-Clouds zu realisieren. Docker ist dabei mit Ausnahme einiger weniger Schnittstellen zu Betriebssystem oder Hardware komplett isoliert. Die Container selbst enthalten lediglich jene Informationen, die wirklich benötigt werden, und sind dadurch vergleichsweise schlank.

            Was ist Podman?

            An die Stelle Dockers soll nun Podman treten – zumindest nach dem Willen von Red Hat Linux. Podman ist als Pod-Manager für die Erstellung und Weiterverarbeitung von Containern gedacht und mit der OCI-Container-Spezifikation kompatibel. Im Gegensatz zu Docker kommt Podman ohne Root-Rechte aus und soll daher im Vergleich sicherer sein. Podman baut auf Docker auf und war ursprünglich als Debugging-Tool geplant, bevor es zur Alternative bzw. zum Nachfolger der älteren Management-Tools wurde. Um die Umstellung zu erleichtern, ist es möglich, Befehle aus Docker in Podman zu verwenden. Das allein macht Podman allerdings noch nicht zu einem ebenbürtigen Nachfolger.

            Homoran 1 Reply Last reply Reply Quote 0
            • Homoran
              Homoran Global Moderator Administrators @Glasfaser last edited by

              @glasfaser danke! gute Info!

              die Frage bezog sich allerdings auf das -mein Handy Display sprengende- Text Konstrukt

              Glasfaser 1 Reply Last reply Reply Quote 0
              • Glasfaser
                Glasfaser @Homoran last edited by

                @homoran sagte in Installation ioBroker Container (podman):

                -mein Handy Display sprengende-

                Ahhh ...

                @pepe
                Aus/Eingaben bitte in Code/Tags posten

                Codierknecht 1 Reply Last reply Reply Quote 0
                • Codierknecht
                  Codierknecht Developer Most Active @Glasfaser last edited by Codierknecht

                  < gelöscht >

                  1 Reply Last reply Reply Quote 0
                  • Glasfaser
                    Glasfaser @pepe last edited by

                    @pepe sagte in Installation ioBroker Container (podman):

                    ----- Versions -----
                    /opt/scripts/iobroker_startup.sh: line 52: /usr/bin/node: Operation not permitted
                    ----- node: -----
                    /usr/bin/env: ‘node’: Operation not permitted
                    ----- npm: -----

                    Sieht komisch aus

                    Normal so :

                    -----                             Docker-Image                             -----
                    
                    -----                    image:               v7.0.1                       -----
                    
                    -----                    build:               2022-07-05T18:51:52+00:00    -----
                    
                    -----                                                                      -----
                    
                    -----                               Versions                               -----
                    
                    -----                    node:                v16.15.1                     -----
                    
                    -----                    npm:                 8.11.0                       -----
                    
                    -----                                                                      -----
                    
                    -----                                 ENV                                  -----
                    
                    1 Reply Last reply Reply Quote 0
                    • P
                      pepe last edited by

                      Danke für die rasche Rückmeldung

                      Die Installation wird mit folgenden Befehl durchgeführt:

                      podman create -p 8081:8081 -v ./config:/opt/iobroker --name iobroker -h iobroker buanet/iobroker
                      
                      

                      Danach starte ich den Container und er führt die Installation durch.
                      Alles geht soweit durch. Nur der Port 8081 reagiert nicht

                      @Glasfaser - danke für den Hinweis
                      leider keine idee was ich dagegen machen kann

                      kann sein dass die Architektur im Hintergrund nicht passt?
                      das ganze läuft auf einen HP Microserver. Dort wiederum vsphere am laufen wegen verschiedener Betriebssysteme.
                      Auf diesen virtuelle maschine mit micro-os opensuse und dann mittels podman container.

                      Glasfaser M D 3 Replies Last reply Reply Quote 0
                      • Glasfaser
                        Glasfaser @pepe last edited by

                        @pepe sagte in Installation ioBroker Container (podman):

                        -v ./config:/opt/iobroker

                        ist der Punkt vor /config so richtig .
                        Ich kenne leider podman nicht und deine Umgebung .

                        Schau mal hier , vielleicht kannst du mit dieser Config was anfangen :

                        https://forum.iobroker.net/topic/54582/angebot-anleitung-iobroker-im-container

                        1 Reply Last reply Reply Quote 0
                        • M
                          MCU @pepe last edited by

                          @pepe @Glasfaser

                          https://docs.podman.io/en/latest/markdown/podman-create.1.html#publish-p-ip-hostport-containerport-protocol
                          https://docs.podman.io/en/latest/markdown/podman-create.1.html#publish-all-p

                          Ausgewählte Einträge der Doku

                          --publish, -p=[[ip:][hostPort]:]containerPort[/protocol]
                          Publish a container’s port, or range of ports, to the host.
                          Both hostPort and containerPort can be specified as a range of ports. When specifying ranges for both, the number of container ports in the range must match the number of host ports in the range.
                          If host IP is set to 0.0.0.0 or not set at all, the port will be bound on all IPs on the host.
                          By default, Podman will publish TCP ports. To publish a UDP port instead, give udp as protocol. To publish both TCP and UDP ports, set --publish twice, with tcp, and udp as protocols respectively. Rootful containers can also publish ports using the sctp protocol.
                          Host port does not have to be specified (e.g. podman run -p 127.0.0.1::80). If it is not, the container port will be randomly assigned a port on the host.
                          Use podman port to see the actual mapping: podman port $CONTAINER $CONTAINERPORT.
                          
                          Note: If a container will be run within a pod, it is not necessary to publish the port for the containers in the pod. The port must only be published by the pod itself. Pod network stacks act like the network stack on the host - you have a variety of containers in the pod, and programs in the container, all sharing a single interface and IP address, and associated ports. If one container binds to a port, no other container can use that port within the pod while it is in use. Containers in the pod can also communicate over localhost by having one container bind to localhost in the pod, and another connect to that port.
                          
                          --publish-all, -P
                          Publish all exposed ports to random ports on the host interfaces. The default is false.
                          When set to true publish all exposed ports to the host interfaces. The default is false. If the operator uses -P (or -p) then Podman will make the exposed port accessible on the host and the ports will be available to any client that can reach the host. When using -P, Podman will bind any exposed port to a random port on the host within an ephemeral port range defined by /proc/sys/net/ipv4/ip_local_port_range. To find the mapping between the host ports and the exposed ports, use podman port.
                          
                          --volume, -v=[[SOURCE-VOLUME|HOST-DIR:]CONTAINER-DIR[:OPTIONS]]
                          Create a bind mount. If you specify, -v /HOST-DIR:/CONTAINER-DIR, Podman bind mounts /HOST-DIR in the host to /CONTAINER-DIR in the Podman container. Similarly, -v SOURCE-VOLUME:/CONTAINER-DIR will mount the volume in the host to the container.
                          
                          1 Reply Last reply Reply Quote 0
                          • D
                            dukkha @pepe last edited by

                            @pepe Warst du mittlerweile erfolgreich? Auch bei mir will das Image unter Podman nicht funktionieren.

                            P 1 Reply Last reply Reply Quote 0
                            • P
                              Pappnouse @dukkha last edited by Pappnouse

                              @dukkha @pepe @Glasfaser

                              Hi,

                              nachdem ich ein ein wenig rum probiert habe und einige Artikel gelesen habe startet bei mir nun iobroker unter podman.
                              Problem scheint die nodejs zu sein.
                              Nach dem ersten Start des Containers habe ich mich im Container angemeldet:
                              podman exec -it containername /bin/bash

                              Im Container habe ich nodejs neu installiert:
                              sudo apt reinstall nodejs

                              Dann den den Container einmal neu gestartet und siehe da ich kann jetzt per Browser auf die Seite über Port 8081 auf iobroker zugreifen. Die 'Welcome' Seite wird angezeigt und ich kann mit der Einrichtung beginnen.

                              Viele Grüße,
                              Stephan

                              O 1 Reply Last reply Reply Quote 0
                              • O
                                olifre @Pappnouse last edited by

                                @pappnouse @dukkha @Glasfaser

                                Hi zusammen,

                                ich bin ein weiterer Nutzer, der podman für iobroker vorzieht (komme von einer bare metal Installation, möchte nun iobroker und vor Allem die ganzen NodeJS-Dinge aber besser kapseln, und weder das externe Docker-Repo hinzufügen noch die leider wieder etwas veraltete docker.io-Paketierung von Debian nutzen).

                                Ich bin bei meiner Suche auf:
                                https://github.com/buanet/ioBroker.docker/issues/294
                                gestoßen. Wennich den Container beim ersten Start (leeres /opt/iobroker) mit:

                                podman run -cap-add net_raw  -p 8081:8081 -p 8082:8082 -p 8087:8087 -p 1883:1883 --name iobroker -v /opt/iobroker:/opt/iobroker --detach=true --restart='always' docker://buanet/iobroker:latest
                                

                                starte, also insbesondere mit der Option --cap-add net_raw, klappt auch node auf Anhieb ohne Reinstallation.

                                Ich hoffe, das hilft jemandem — offizieller Support des offiziellen Images für Podman wäre natürlich super, aber bereits jetzt entscheide ich mich für diesen Weg.

                                stuehmer created this issue in buanet/ioBroker.docker

                                closed ioBroker container run by podman: add some documentation #294

                                1 Reply Last reply Reply Quote 0
                                • First post
                                  Last post

                                Support us

                                ioBroker
                                Community Adapters
                                Donate

                                906
                                Online

                                31.9k
                                Users

                                80.1k
                                Topics

                                1.3m
                                Posts

                                8
                                14
                                1487
                                Loading More Posts
                                • Oldest to Newest
                                • Newest to Oldest
                                • Most Votes
                                Reply
                                • Reply as topic
                                Log in to reply
                                Community
                                Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                The ioBroker Community 2014-2023
                                logo