homebridge / docker-homebridge

Homebridge Docker. HomeKit support for the impatient using Docker on x86_64, Raspberry Pi (armhf) and ARM64. Includes ffmpeg + libfdk-aac.
https://hub.docker.com/r/homebridge/homebridge/
GNU General Public License v3.0
2.57k stars 241 forks source link

Docker container can't install #518

Closed Nick-smar closed 7 months ago

Nick-smar commented 10 months ago

Current Situation

Hi,

I'm transfering my Homebridge from on older RPI to an EDGE device.

My 'original' compose file is not working for the homebridge part. Now I'm in the situation that I'm using 1/1 the compose file as mentioned in the documentation here at Github. But also then I'm stayin in the same loop of re-installing without ever having succes.

Can someone analyse this please? I don't see (nor have the knowledge) what the solution could be.

Currently running on Debian GNU/Linux 10 (buster)

Thanks

Docker Config

version: '2'
services:
  homebridge:
    image: homebridge/homebridge:latest
    restart: always
    network_mode: host
    volumes:
      - ./volumes/homebridge:/homebridge
    logging:
      driver: json-file
      options:
        max-size: "10mb"
        max-file: "1"

Logs

homebridge_1  |  9: 0xabbdee _start [/opt/homebridge/bin/node]
homebridge_1  | Re-installing homebridge...
homebridge_1  | node[130]: ../src/node_platform.cc:68:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
homebridge_1  |  1: 0xb7a940 node::Abort() [node]
homebridge_1  |  2: 0xb7a9be  [node]
homebridge_1  |  3: 0xbe98be  [node]
homebridge_1  |  4: 0xbe99a1 node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [node]
homebridge_1  |  5: 0xb38f5b node::InitializeOncePerProcess(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, node::ProcessFlags::Flags) [node]
homebridge_1  |  6: 0xb395ab node::Start(int, char**) [node]
homebridge_1  |  7: 0x7fc2ba685d90  [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  8: 0x7fc2ba685e40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  9: 0xabbdee _start [node]
homebridge_1  | Aborted (core dumped)
homebridge_1  | /opt/homebridge/bin/node[127]: ../src/node_platform.cc:68:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
homebridge_1  |  1: 0xb7a940 node::Abort() [/opt/homebridge/bin/node]
homebridge_1  |  2: 0xb7a9be  [/opt/homebridge/bin/node]
homebridge_1  |  3: 0xbe98be  [/opt/homebridge/bin/node]
homebridge_1  |  4: 0xbe99a1 node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [/opt/homebridge/bin/node]
homebridge_1  |  5: 0xb38f5b node::InitializeOncePerProcess(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, node::ProcessFlags::Flags) [/opt/homebridge/bin/node]
homebridge_1  |  6: 0xb395ab node::Start(int, char**) [/opt/homebridge/bin/node]
homebridge_1  |  7: 0x7f8c3ed59d90  [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  8: 0x7f8c3ed59e40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  9: 0xabbdee _start [/opt/homebridge/bin/node]
homebridge_1  | Re-installing homebridge...
homebridge_1  | node[135]: ../src/node_platform.cc:68:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
homebridge_1  |  1: 0xb7a940 node::Abort() [node]
homebridge_1  |  2: 0xb7a9be  [node]
homebridge_1  |  3: 0xbe98be  [node]
homebridge_1  |  4: 0xbe99a1 node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [node]
homebridge_1  |  5: 0xb38f5b node::InitializeOncePerProcess(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, node::ProcessFlags::Flags) [node]
homebridge_1  |  6: 0xb395ab node::Start(int, char**) [node]
homebridge_1  |  7: 0x7f872260fd90  [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  8: 0x7f872260fe40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  9: 0xabbdee _start [node]
homebridge_1  | Aborted (core dumped)
homebridge_1  | /opt/homebridge/bin/node[132]: ../src/node_platform.cc:68:std::unique_ptr<long unsigned int> node::WorkerThreadsTaskRunner::DelayedTaskScheduler::Start(): Assertion `(0) == (uv_thread_create(t.get(), start_thread, this))' failed.
homebridge_1  |  1: 0xb7a940 node::Abort() [/opt/homebridge/bin/node]
homebridge_1  |  2: 0xb7a9be  [/opt/homebridge/bin/node]
homebridge_1  |  3: 0xbe98be  [/opt/homebridge/bin/node]
homebridge_1  |  4: 0xbe99a1 node::NodePlatform::NodePlatform(int, v8::TracingController*, v8::PageAllocator*) [/opt/homebridge/bin/node]
homebridge_1  |  5: 0xb38f5b node::InitializeOncePerProcess(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, node::ProcessFlags::Flags) [/opt/homebridge/bin/node]
homebridge_1  |  6: 0xb395ab node::Start(int, char**) [/opt/homebridge/bin/node]
homebridge_1  |  7: 0x7fde7bb33d90  [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  8: 0x7fde7bb33e40 __libc_start_main [/lib/x86_64-linux-gnu/libc.so.6]
homebridge_1  |  9: 0xabbdee _start [/opt/homebridge/bin/node]
^CGracefully stopping... (press Ctrl+C again to force)
Stopping homeautomation_homebridge_1 ... done

Host Operating System

Ubuntu / Debian (or a variant)

Host Architecture

x86_64 / amd64

NorthernMan54 commented 10 months ago

Something is not right with your setup. Did you try setting it up from scratch and not transferring it ? Then use the homebridge backup and restore to configure your new implementation

Nick-smar commented 10 months ago

Hi NorthernMan54,

just to be clear, it's really the container that won't start (or install?) correct from the very first time. The very first time it did a pull, everything extracted and then we come in the loop as the logs above. I was never able to start the UI and place back the backup. Also in the volumes there is nothing... just the new volumes created....

Nick-smar commented 10 months ago

Is my architecture supported?

This is what is supported: The Homebridge Docker image supports amd64, arm32v6 and arm64v8 host architectures. The correct image for your system will automatically be downloaded.

This is what I have...

Architecture: x86_64 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian Address sizes: 36 bits physical, 48 bits virtual CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 NUMA node(s): 1 Vendor ID: GenuineIntel CPU family: 6 Model: 55 Model name: Intel(R) Atom(TM) CPU E3845 @ 1.91GHz Stepping: 9 CPU MHz: 1915.900 CPU max MHz: 1915.9000 CPU min MHz: 499.8000 BogoMIPS: 3831.80 Virtualization: VT-x L1d cache: 24K L1i cache: 32K L2 cache: 1024K NUMA node0 CPU(s): 0-3

NorthernMan54 commented 9 months ago

@Nick-smar Sorry for the delay in getting to you.

Your architecture should be supported, but it appears to be grabbing something incorrect. Are you possibly running the 32 bit version of linux ? On intel platforms we are supporting 64 bit only

github-actions[bot] commented 7 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

rk295 commented 7 months ago

I'm on Ubuntu x86_64 and have this same problem. I've reverted to the previous oznu container which works.

kikearciniegas commented 6 months ago

Same error here, but running on a Firewalla Gold, where I already have other docker containers running flawlessly... did you manage to make it work?

FWG Box Version 1.9770 Docker Version 19.03.6 Operating System: Ubuntu 18.04.3 LTS Architecture: x86_64

rk295 commented 6 months ago

Same error here, but running on a Firewalla Gold, where I already have other docker containers running flawlessly... did you manage to make it work?

In short, no. The old container is the best I could do. I spent a bit of time trying some things mentioned in other issues - none worked. It looks like a problem with the original node container that homebridge and others are built upon.

I'm using a v. old host OS (Ubuntu 16.04), which I think might be the problem, although the host effecting the container doesn't feel like it ought to happen 🤷

NorthernMan54 commented 6 months ago

@rk295 @rk295 If you look at the changes made to Dockerfile over time, you can see the progressions of OS versions inside the docker container. We are currently leveraging ubuntu 22.04, previously it was 20.04 and before that it was 16.15.

Am thinking you will need to significantly update your host operating system to use the more recent versions.

Nick-smar commented 6 months ago

Hi, From my side I can only tell I wasn't able to install the container that time. So I just installed it directly on the system. If i find a moment next days I will retry to build the container. But I’m not going to run anymore from the container because even with a backup I need to replace every item back in a room on the iphone. That takes to much time. That will be when my next big f***-up happens 😀

rk295 commented 6 months ago

Am thinking you will need to significantly update your host operating system to use the more recent versions.

Agreed, this is the conclusion I came to. So much for container encapsulation! :(