#Hey hopefully a docker-wizard can help

1 messages · Page 1 of 1 (latest)

golden forge
#
  1. host is the DNS name or local IP where Piper etc can be found
  2. port is the port that Piper or Whisper runs on
  3. Have you looked in the pinned messages for the example compose file?
  4. Docker desktop is nerfed, but as long as you don't need host networking that'll work (and you don't need it for the Wyoming stuff)
  5. Wyoming is the protocol that Piper and Whisper (and other things) speak
#

Here's my wyoming integration page

rugged swallow
#

Ah that's brilliant, I'll have another crack in a bit and document if I run into any pain points in getting setup.

rugged swallow
#

@golden forge

So quick update:
I've grabbed these two docket images,

docker pull rhasspy/wyoming-whisper
docker pull rhasspy/wyoming-piper

ran with these two commands, they appear running in my docker desktop UI

docker run -it -p 10300:10300 -v C:\Users<username>\Documents\DockerData:/data rhasspy/wyoming-whisper --model tiny-int8 --language en

docker run -it -p 10200:10200 -v C:\Users<username>\Documents\DockerData:/data rhasspy/wyoming-piper --voice en_US-lessac-medium

all good so far...

I open HA, navigate to Devices & Services -> Add Integration -> Piper -> enter my machine details running docker... and it just spins infinitely

#

host: local ip of the machine (192.168.0.10), port 10200 for piper and 10300 for whisper, both just spin in the UI after I hit 'add'

this is just a very simple network setup, both devices on a home router with direct visbility to one another

maybe there's a way I can test the two docket images are exposed correctly? debug a firewall or port issue?

west bloom
#

Good news! I have a near-identical setup, just on Linux, so I can help you figure out your issue.

You want to open a command line on your docker host server (in this case sounds like it's Windows?)

Step 1, check that they're running properly, and that the ports are configured correctly.

docker ps should give you something like this: https://scr.wzd.li/scr/2024-03-21_14-49-28.png

Then, using the names that appear on the very right edge of the list, you want to run

docker logs <name>

I've named my containers, but in your case it might be something like my music assistant one, which is docker logs determined_hellman
You can also use the container ID instead of the name.

rugged swallow
#

ah awesome! yes I did try that and it looked..correct.. to me.. I guess.

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
1f453bbea4c5 rhasspy/wyoming-piper "bash /run.sh --voic…" About an hour ago Up 6 seconds 0.0.0.0:10200->10200/tcp elated_almeida
b9545b7c35bb rhasspy/wyoming-whisper "bash /run.sh --mode…" About an hour ago Up 3 seconds 0.0.0.0:10300->10300/tcp stoic_driscoll

to my eye that's forwarding correctly to my host machine

west bloom
#

Ideally you should see:

> docker logs whisper
INFO:__main__:Ready

> docker logs piper
INFO:__main__:Ready

Which does match.

rugged swallow
#

INFO:wyoming_piper.download:Downloaded /data/en_US-lessac-medium.onnx (https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/lessac/medium/en_US-lessac-medium.onnx)
INFO:wyoming_piper.download:Downloaded /data/en_US-lessac-medium.onnx.json (https://huggingface.co/rhasspy/piper-voices/resolve/v1.0.0/en/en_US/lessac/medium/en_US-lessac-medium.onnx.json)
INFO:main:Ready
INFO:main:Ready
PS C:\Users\matts> docker logs stoic_driscoll
config.json: 100%|█████████████████████████████████████████████████████████████████| 2.02k/2.02k [00:00<00:00, 1.11MB/s]
vocabulary.txt: 100%|████████████████████████████████████████████████████████████████| 460k/460k [00:00<00:00, 3.09MB/s]
model.bin: 100%|███████████████████████████████████████████████████████████████████| 42.1M/42.1M [00:00<00:00, 52.0MB/s]
tokenizer.json: 100%|██████████████████████████████████████████████████████████████| 2.48M/2.48M [00:00<00:00, 7.43MB/s]
INFO:main:Ready
docker run -it -p 10200:10200 -v C:\Users<>\Documents\DockerData:/data rhasspy/wyoming-piper --voice en_US-lessac-medium
INFO:main:Ready
INFO:main:Ready

west bloom
#

now wait a little, and then run docker ps again to ensure they're not randomly shutting down. See how in your example the status is only "Up x seconds"

rugged swallow
#

oh I gave them a restart to make sure there was no funny business

west bloom
#

If they're stable, then in your luckiest situation they'll actually automatically show up in HA as discovered, and you can just add them with one click.

If they don't show up, I'd start by ensuring the firewall on the NUC have the ports opened, as Windows Firewall can be a bit strict.

rugged swallow
#

I did try just disabling windows firewall as a precaution, making sure no VPN stuff was running. maybe I should give that another shake

west bloom
#

Once you have the relevant Firewall ports open, check HA again, and if it's still not there automatically, then you can try adding them manually as you did before. If the services are detected, it'll be instant. If there's something blocking it, or they're not correctly exposed, it'll sit there a while and we'll have to try some more things.

rugged swallow
#

I wish there was a test url + package I could send to the localhost:10200 to confirm the way is clear

west bloom
#

Does a standard ping work between the two machines?

#

As a note, you specifically want to select "Wyoming Protocol" in the HA Integrations list, not Piper or Whisper.

rugged swallow
#

AH HA! victory!

so I realised when you asked about ping, I had pinged extensively from host to HA, but not the reverse!

pinging the reverse wa failing, poppig open windows firewall and again just shutting everything down, the ping worked. then so did the add-device! so it was windows firewall getting in the way

#

I'll have to make sure I poke some holes in there for HA to use

west bloom
#

That tracks. For a normal user environment, that's very good for a firewall. For a server, it can add some challenges.

#

Luckily in this case you only have to poke 1 hole per service, and those holes will go straight to Docker containers

rugged swallow
#

I'm so used to hosting game servers that just punch through automatically, I forgot to check it. thanks for your help! you're a star!

west bloom
#

No worries! 🙂

rugged swallow
#

it'll just be TCP right? I assume Wyoming isn't doing UDP comms