simojenki / bonob

sonos SMAPI implementation allowing integrating different music sources with sonos.
GNU General Public License v3.0
208 stars 15 forks source link

Unable to get bonob configured correctly #203

Closed Fuzzer32 closed 2 months ago

Fuzzer32 commented 2 months ago

I must have something configured very very wrong and am simply too new to containers and VMs to sniff out where I've gone wrong! This is a brilliant platform!

I'm running docker with portainer on Debian. All updated. I've gotten Navidrome to work correctly, and can stream off of it on a normal app just fine.

I used the docker compose file when I was having trouble with bonob connecting initially. It worked great at first. A week later, it won't connect, no matter what I try.

The only change that I can recall was adding a plex container, and adding GPU passthrough. But I don't know if the timing was that bonob dropped before that or after.

I've gone over all of the documents here (AMAZING documents!) but am simply not seeing where I've gone wrong.

I've tried both host network and bridge. No matter what I try - I'm not able to bring up bonob's URL and it won't let me add it in SONOS.

I also never see any logs for bonob? I'm super new to this, so please let me know what I need to provide and where I retrieve other logs/configurations etc.

The configuration might look weird - been experimenting with quotes and anything else I can think of... Nothing has brought be back up...

Configuration of bonob:

image

image

image

image

simojenki commented 2 months ago

Hi,

You need to simplify things.

Unless you know the IP address of a sonos device and set that up to have a fixed IP address then its probably easier to use 'Host networking' as you seem to have configured.

On the 'command & logging' page there should be no need to override any of these values, you should leave them all as default.

On the configuration page/env vars;

Change those things and then try and start it up, portainer should show you the standard out of the container which should contain some message should something not start up ok.

Fuzzer32 commented 2 months ago

Thank you for that quick reply! Updated configuration below. Same result. When I try to navigate to the bonob URL i get err_connection_refused. Still no log either. I've also gone ahead and added the seed host. Also still the same result.

Last screen shot are my containers. The two that are exited are the original created from a stack that simply quit working.

image

image

image

image

image

simojenki commented 2 months ago

The container started at 19:15 looks like it is running ok.

What happens if you hit http://192.168.1.166:4534 in your browser?

There must be some way in portainer to see the stdout of the container?? Sorry I dont use portainer so cannot be of help there.

Fuzzer32 commented 2 months ago

That's what has me baffled. There's no log, there's a button for it, and works with both Plex and Navidrome. But not bonob. If i try to go to the URL I get connection refused. If I try port :4533, good to go, land right on navidrome. Why or what could possibly block 4534?!

simojenki commented 2 months ago

For some reason portainer has a Entrypoint of 'docker-entrypoint.sh', I'm not sure where that value has come from, it's not part of bonob, try removing it and setting that value back to 'default'.

Also you could try enabling the tty and getting shell access into the container to have a look at what processes are running.

Fuzzer32 commented 2 months ago

Will tackle that some more in the morning. Thank you! Can't focus my mind on anything else with this conundrum!

Fuzzer32 commented 2 months ago

Ok - removed the entry point overrides with the same result. I read a bit about docker so tried the command docker inspect bonob. Found that my container is restarting constantly. Any thoughts on other related settings that can cause issues? Any prerequisite steps that I may not have done?

Fuzzer32 commented 2 months ago

Update - found out why there is no log. The container fails before it can even get to log anything. I found the below in the inspect output after using CLI to create the container.

"ExitCode": 132,

Any experts on this fail code? It seems pretty ambiguous? No description after it, nor in the lines below it.

My entry point continues to default to docker-entrypoint.sh, which I don't know if that is right or wrong?

simojenki commented 2 months ago

I would try getting it to work without adding in the complexity of portainer, then add the complexity when you know it works.

Try running just;

docker run simojenki/bonob

It should log a bunch of stuff to the console. If you still get exit code 132 then you have an issue with docker itself not wanting to run the container on your machine, in which case what hardware are you trying to run it on?

Fuzzer32 commented 2 months ago

ok - now - that was weird! I've been doing the container through docker command line the last few times, but keep getting weird defaults.

Using your command creates a container named cranky_maxwell - same result - code 132 and no log because it fails before it starts.

What I keep noticing is the defaulting to node and app.js with an entry point of docker-entrypoint.sh. But I don't think either of those apply, but I don't have a different override value. None of the other containers I have use that.

System is AMD, proxmox etc - pretty much in alignment with all the walkthroughs and guides really but maybe something got tweaked when I installed the nvidia drivers to be sure I could set the plex container to use the GPU pass through.

simojenki commented 2 months ago

Re: those defaults. Seems that portainer is picking them up from the image, so probably that is ok.

What AMD cpu is it?

Fuzzer32 commented 2 months ago

Ryzen 7 5700G

Fuzzer32 commented 2 months ago

And, I suspect I messed up something trying to get the GPU to pass through, so am throwing a fresh VM am it to see if that clears it up.

simojenki commented 2 months ago

docker exit code 132 sounds like it is trying to run an image that is incompatible with your hardware. AFGAIK your AMD chip should be able to run amd64 images, which is what I use on my old Intel hardware.

What happens if you run an older version of bonob? ie. simojenki/bonob:0.6.0 ? That's an old build from years ago, it should start up however.

Fuzzer32 commented 2 months ago

Thank you so much for all the help!!! I'm certain that I buggered my VM up by getting all the additional nvidia drivers in there. The service was working great until then. I've spun up a new VM with only Debian and docker on it and launched bonob and can get to the URL now. Now I just have to connect it to navidrome. So, operator error.

Maybe this is useful for others though...

Fuzzer32 commented 2 months ago

I am happy to report that I got everything 100% up and running! A lot of work, but it isolates my bonob to a super small VM so I don't jack it up with drivers... 👍🏼 super awesome!!!!