NEWS
Installation ioBroker Container (podman)
-
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-ee94a0b3a78eprozess:
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 -
@pepe sagte in Installation ioBroker Container (podman):
Es wird kein Port freigegeben
Hast du
-p 8081:8081
-
@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
-
@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.
-
@glasfaser danke! gute Info!
die Frage bezog sich allerdings auf das -mein Handy Display sprengende- Text Konstrukt
-
@homoran sagte in Installation ioBroker Container (podman):
-mein Handy Display sprengende-
Ahhh ...
@pepe
Aus/Eingaben bitte in Code/Tags posten -
< gelöscht >
-
@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 -----
-
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 kannkann 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. -
@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
-
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-pAusgewä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.
-
@pepe Warst du mittlerweile erfolgreich? Auch bei mir will das Image unter Podman nicht funktionieren.
-
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/bashIm Container habe ich nodejs neu installiert:
sudo apt reinstall nodejsDann 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 -
Hi zusammen,
ich bin ein weiterer Nutzer, der
podman
füriobroker
vorzieht (komme von einer bare metal Installation, möchte nuniobroker
und vor Allem die ganzen NodeJS-Dinge aber besser kapseln, und weder das externe Docker-Repo hinzufügen noch die leider wieder etwas veraltetedocker.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 auchnode
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.