Docker images starten, reagieren aber nicht (raspi; bullseye)

Hallo

Es sieht so aus als ob irgendwas wesentliches bei den Docker Images (stable, testing, nightly) nicht mehr funktioniert. Zumindest wenn ich es auf meinen PI4 teste.

docker exec -it woke homegear -v
Homegear version 0.7.50-3478
Copyright (c) 2013-2020 Homegear GmbH

Required library versions:
  - libhomegear-base: 0.7.50-3478
  - libhomegear-node: 0.1.8-60
  - libhomegear-ipc:  0.1.2-46

Included open source software:
  - Node.js (license: MIT License, homepage: nodejs.org)
  - PHP (license: PHP License, homepage: www.php.net):
      This product includes PHP software, freely available from <http://www.php.net/software/>
      Copyright (c) 1999-2020 The PHP Group. All rights reserved.

Um zu testen ob ein Image funktioniert kann ich es ohne volumes aber mit Portfreigaben starten.
Es hat zwar keinerlei Funktion, sollte aber starten und die Web-Elemente sollten ansprechbar sein.

hier das Docker-compose yml File:

networks:
  woke:
    driver: bridge
    driver_opts:
      com.docker.network.bridge.name: br-woke
    enable_ipv6: true
    ipam:
      config:
      - subnet: 192.168.9.0/24
      - subnet: fd00:0:0:9::/64
      driver: default
    name: woke
services:
  woke:
    container_name: woke
    environment:
      HOST_USER_GID: '1000'
      HOST_USER_ID: '1000'
      TZ: Europe/Berlin
    hostname: woke
    image: homegear/homegear:latest
    networks:
      woke: null
    ports:
    - protocol: tcp
      published: 8080
      target: 80
    - protocol: tcp
      published: 8443
      target: 443
    - protocol: tcp
      published: 2001
      target: 2001
    - protocol: tcp
      published: 2002
      target: 2002
    - protocol: tcp
      published: 2003
      target: 2003
    restart: unless-stopped
    stop_grace_period: 60s
version: '3'

Der Start funktioniert soweit - bis auf das thread limit:

Generating RSA private key, 2048 bit long modulus (2 primes)

............................+++++

........+++++

e is 65537 (0x010001)

Signature ok

subject=C = AU, ST = Some-State, O = Internet Widgits Pty Ltd

Getting Private key

Generating DH parameters, 1024 bit long safe prime, generator 5

This is going to take a long time

.....................................................................+.............................+...........+......................+....................................................+.............+.....................................................................................................................+..................................................+....................................................................+....................................+........................................................................+........................+........................................++*++*++*++*++*

DH parameters appear to be ok.

chown: cannot access '/etc/homegear/ca/private/*.key': No such file or directory

01/13/22 19:40:28.876 Loading settings from /etc/homegear/main.conf

01/13/22 19:40:28.879 Loading RPC server settings from /etc/homegear/rpcservers.conf

01/13/22 19:40:28.881 Loading RPC client settings from /etc/homegear/rpcclients.conf

01/13/22 19:40:28.882 Debug: hostname of RPC client ExampleClient1 set to myhostname

01/13/22 19:40:28.882 Debug: caFile of RPC client ExampleClient1 set to /path/to/ca-certficate

01/13/22 19:40:28.882 Debug: verifyCertificate of RPC client ExampleClient1 set to 1

01/13/22 19:40:28.882 Debug: forceSSL of RPC client ExampleClient1 set to 0

01/13/22 19:40:28.882 Debug: authType of RPC client ExampleClient1 set to 1

01/13/22 19:40:28.882 Debug: userName of RPC client ExampleClient1 set to myuser

01/13/22 19:40:28.882 Debug: password of RPC client ExampleClient1 was set.

01/13/22 19:40:28.883 Debug: certFile of RPC client ExampleClient1 set to /path/to/client.crt

01/13/22 19:40:28.883 Debug: keyFile of RPC client ExampleClient1 set to /path/to/client.key

01/13/22 19:40:28.883 Debug: retries of RPC client ExampleClient1 set to 3

01/13/22 19:40:28.884 Debug: timeout of RPC client ExampleClient1 set to 15000000

01/13/22 19:40:28.884 Debug: hostname of RPC client ExampleClient2 set to 192.168.178.89

01/13/22 19:40:28.884 Debug: retries of RPC client ExampleClient2 set to 5

01/13/22 19:40:28.884 Debug: timeout of RPC client ExampleClient2 set to 30000000

01/13/22 19:40:28.888 Setting allowed core file size to "4294967295" for user with id 0 and group with id 0.

01/13/22 19:40:28.888 Core file size now is "4294967295".

01/13/22 19:40:28.888 Setting maximum thread priority to "0" for user with id 0 and group with id 0.

01/13/22 19:40:28.888 Maximum thread priority now is "0".

01/13/22 19:40:33.671 RPC Server (Port 443): Info: Enabling no authentication.

01/13/22 19:40:33.671 RPC Server (Port 443): Info: Enabling session authentication for WebSockets.

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Startup complete. Waiting for physical interfaces to connect.

01/13/22 19:40:33.689 Info: Waiting for physical interfaces to connect (0 of 180s).

01/13/22 19:40:33.689 All physical interfaces are connected now.

01/13/22 19:40:33.689 Starting UPnP server...

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.862 Starting Homegear WebSSH...

01/13/22 19:40:33.863 Info: Setting allowed core file size to "4294967295" for user with id 0 and group with id 0.

01/13/22 19:40:33.863 Info: Core file size now is "4294967295".

01/13/22 19:40:33.866 Info: Slave device is: /dev/pts/0

01/13/22 19:40:33.870 Starting Homegear Management...

01/13/22 19:40:33.872 Info: Setting allowed core file size to "4294967295" for user with id 0 and group with id 0.

01/13/22 19:40:33.872 Info: Core file size now is "4294967295".

01/13/22 19:40:33.878 IPC Server: Info: Connection accepted. Client number: 0, file descriptor ID: 6

01/13/22 19:40:33.877 Startup complete.

01/13/22 19:40:33.882 IPC Server: Info: Client 0 successfully registered RPC method "websshGetLastOutputs" (this method is registered by 1 client(s)).

01/13/22 19:40:33.882 IPC Server: Info: Client 0 successfully registered RPC method "websshInput" (this method is registered by 1 client(s)).

01/13/22 19:40:33.883 Service disabled in influxdb.conf. Exiting.

01/13/22 19:40:33.884 IPC Server: Info: Client 0 successfully registered RPC method "websshSetScreenSize" (this method is registered by 1 client(s)).

01/13/22 19:40:33.884 Info: RPC methods successfully registered.

01/13/22 19:40:36.646 Startup complete.

01/13/22 19:40:36.646 IPC Server: Info: Connection accepted. Client number: 1, file descriptor ID: 7

01/13/22 19:40:36.648 IPC Server: Info: Client 1 successfully registered RPC method "managementGetCommandStatus" (this method is registered by 1 client(s)).

01/13/22 19:40:36.649 IPC Server: Info: Client 1 successfully registered RPC method "managementSleep" (this method is registered by 1 client(s)).

01/13/22 19:40:36.650 IPC Server: Info: Client 1 successfully registered RPC method "managementDpkgPackageInstalled" (this method is registered by 1 client(s)).

01/13/22 19:40:36.651 IPC Server: Info: Client 1 successfully registered RPC method "managementGetSystemInfo" (this method is registered by 1 client(s)).

01/13/22 19:40:36.652 IPC Server: Info: Client 1 successfully registered RPC method "managementGetConfigurationEntry" (this method is registered by 1 client(s)).

01/13/22 19:40:36.653 IPC Server: Info: Client 1 successfully registered RPC method "managementServiceCommand" (this method is registered by 1 client(s)).

01/13/22 19:40:36.654 IPC Server: Info: Client 1 successfully registered RPC method "managementReboot" (this method is registered by 1 client(s)).

01/13/22 19:40:36.655 IPC Server: Info: Client 1 successfully registered RPC method "managementShutdown" (this method is registered by 1 client(s)).

01/13/22 19:40:36.656 IPC Server: Info: Client 1 successfully registered RPC method "managementSetConfigurationEntry" (this method is registered by 1 client(s)).

01/13/22 19:40:36.658 IPC Server: Info: Client 1 successfully registered RPC method "managementWriteCloudMaticConfig" (this method is registered by 1 client(s)).

01/13/22 19:40:36.658 IPC Server: Info: Client 1 successfully registered RPC method "managementSetUserPassword" (this method is registered by 1 client(s)).

01/13/22 19:40:36.659 IPC Server: Info: Client 1 successfully registered RPC method "managementInstallNode" (this method is registered by 1 client(s)).

01/13/22 19:40:36.660 IPC Server: Info: Client 1 successfully registered RPC method "managementUninstallNode" (this method is registered by 1 client(s)).

01/13/22 19:40:36.661 IPC Server: Info: Client 1 successfully registered RPC method "managementGetNodePackages" (this method is registered by 1 client(s)).

01/13/22 19:40:36.661 IPC Server: Info: Client 1 successfully registered RPC method "managementAptRunning" (this method is registered by 1 client(s)).

01/13/22 19:40:36.662 IPC Server: Info: Client 1 successfully registered RPC method "managementAptUpdate" (this method is registered by 1 client(s)).

01/13/22 19:40:36.663 IPC Server: Info: Client 1 successfully registered RPC method "managementAptUpgrade" (this method is registered by 1 client(s)).

01/13/22 19:40:36.663 IPC Server: Info: Client 1 successfully registered RPC method "managementAptUpgradeSpecific" (this method is registered by 1 client(s)).

01/13/22 19:40:36.664 IPC Server: Info: Client 1 successfully registered RPC method "managementAptFullUpgrade" (this method is registered by 1 client(s)).

01/13/22 19:40:36.665 IPC Server: Info: Client 1 successfully registered RPC method "managementHomegearUpdateAvailable" (this method is registered by 1 client(s)).

01/13/22 19:40:36.665 IPC Server: Info: Client 1 successfully registered RPC method "managementSystemUpdateAvailable" (this method is registered by 1 client(s)).

01/13/22 19:40:36.666 IPC Server: Info: Client 1 successfully registered RPC method "managementAptInstall" (this method is registered by 1 client(s)).

01/13/22 19:40:36.667 IPC Server: Info: Client 1 successfully registered RPC method "managementAptRemove" (this method is registered by 1 client(s)).

01/13/22 19:40:36.667 IPC Server: Info: Client 1 successfully registered RPC method "managementCreateBackup" (this method is registered by 1 client(s)).

01/13/22 19:40:36.668 IPC Server: Info: Client 1 successfully registered RPC method "managementRestoreBackup" (this method is registered by 1 client(s)).

01/13/22 19:40:36.669 IPC Server: Info: Client 1 successfully registered RPC method "managementSystemReset" (this method is registered by 1 client(s)).

01/13/22 19:40:36.670 IPC Server: Info: Client 1 successfully registered RPC method "managementCaExists" (this method is registered by 1 client(s)).

01/13/22 19:40:36.671 IPC Server: Info: Client 1 successfully registered RPC method "managementCreateCa" (this method is registered by 1 client(s)).

01/13/22 19:40:36.672 IPC Server: Info: Client 1 successfully registered RPC method "managementCreateCert" (this method is registered by 1 client(s)).

01/13/22 19:40:36.672 IPC Server: Info: Client 1 successfully registered RPC method "managementDeleteCert" (this method is registered by 1 client(s)).

01/13/22 19:40:36.673 IPC Server: Info: Client 1 successfully registered RPC method "managementGetNetworkConfiguration" (this method is registered by 1 client(s)).

01/13/22 19:40:36.674 IPC Server: Info: Client 1 successfully registered RPC method "managementSetNetworkConfiguration" (this method is registered by 1 client(s)).

01/13/22 19:40:36.675 IPC Server: Info: Client 1 successfully registered RPC method "managementCopyDeviceDescriptionFile" (this method is registered by 1 client(s)).

01/13/22 19:40:36.676 IPC Server: Info: Client 1 successfully registered RPC method "managementUploadDeviceDescriptionFile" (this method is registered by 1 client(s)).

01/13/22 19:40:36.677 IPC Server: Info: Client 1 successfully registered RPC method "managementInternalSetReadOnlyTrue" (this method is registered by 1 client(s)).

01/13/22 19:40:36.678 Info: Homegear's process ID is: 13606

01/13/22 19:40:36.678 Info: RPC methods successfully registered.

01/13/22 19:40:36.678 Info: Starting lifetick thread...

01/13/22 19:41:36.752 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:42:13.673 Module EnOcean: Info: Checking for firmware updates.

01/13/22 19:42:36.827 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:43:36.910 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:44:36.997 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:45:37.054 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:46:37.148 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:47:37.227 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:48:37.293 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:49:37.355 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:50:37.418 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:51:37.497 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:52:37.564 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:53:37.625 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:54:37.686 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:55:37.770 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

01/13/22 19:56:37.829 IPC Server: Info: Client number 1 is calling RPC method: lifetick Parameters:

versuch ich jetzt auf das webinterface zuzugreifen zeigen mir die *.err log Files folgendes:

root@woke:/var/log/homegear# tail *.err

==> homegear.err <==

01/13/22 19:40:33.634 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.634 RPC Server (Port 2002): Warning: RPC server has no authorization enabled. Everybody on your local network can login into this installation. It is strongly recommended to enable authorization on all RPC servers when the connected clients support it.

01/13/22 19:40:33.653 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.671 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.671 RPC Server (Port 80): Warning: SSL is not enabled for this RPC server. It is strongly recommended to disable all unencrypted RPC servers when the connected clients support it.

01/13/22 19:40:33.671 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

01/13/22 19:40:33.689 Critical: Can't start more threads. Thread limit reached (333 threads).

==> homegear-management.err <==

==> homegear-webssh.err <==

keinerlei Webinterface ist erreichbar (Port 80, 443, 2001).

nachdem ich die Thread Einstellungen veränderte started alles:

diff homegear/main.conf homegear.config/main.conf
368c368
< scriptEngineMaxScriptsPerProcess = 50
---
> scriptEngineMaxScriptsPerProcess = 250
371c371
< scriptEngineThreadCount = 10
---
> scriptEngineThreadCount = 50
385c385
< nodeBlueProcessingThreadCountServer = 10
---
> nodeBlueProcessingThreadCountServer = 100
388c388
< nodeBlueProcessingThreadCountNodes = 10
---
> nodeBlueProcessingThreadCountNodes = 50
394c394
< maxNodeThreadsPerProcess = 200
---
> maxNodeThreadsPerProcess = 1000

dies entspricht den Einstellungen vor der Änderung: https://github.com/Homegear/Homegear/commit/6b94b4b1a62f5b2f4ebb49351fab3bb071514d0a#diff-f8daa208709fa31d44e319f4fdbd16d53229aa59c05b11325f1d3b0da5393123

… zumindest nicht auf den Ports, denn im docker-compose File verwendest Du 8080 und 8443

    ports:
    - protocol: tcp
      published: 8080
      target: 80
    - protocol: tcp
      published: 8443
      target: 443

war missverständlich …
ich sehe das der browser etwas macht und auf Antwort wartet. aber nichts von homegear zurückkommt.

Nachdem ich die Änderungen in main.conf vornahm läuft alles wie erwartet.

was mich stutzig macht ist das homegear meldet, dass “Can’t start more threads. Thread limit reached (333 threads).”
Wenn ich einen Stress Test durchführe kann ich 3000 Threads unter docker starten und bekomme keine meldung.

Was macht homegear damit diese Meldung generiert wird?

hab inzwischen mal die 64bit version von raspi mit docker installiert.
dort sehe ich das Problem nicht, alles läuft “out of the box” und keinerlei Anpassungen der Threads sind notwendig