You are trying to install an outdated and unsupported third party docker image, from an outdated guide.
Use my sample Stacks/compose file in the first post, and follow this instruction to rebuild the image for the Pi processor.
So like this:
version: "3"
services:
echo-speaks-server:
container_name: echo-speaks-server
build: https://github.com/tonesto7/echo-speaks-server.git
restart: unless-stopped
# Network mode host allows IP to be automatically detected
# Windows MUST change from host to bridge mode and set IP in settings below
network_mode: host
#network_mode: bridge
# Port mappings are ignored with host mode
ports:
- 8091:8091 # WebUI must match PORT below
# Set environment variables
environment:
- useHeroku=false
- hubPlatform=Hubitat
#### UNCOMMENT Options to use them (remove the # and keep the -) ####
## Host IP Address Override if needed
## MUST Uncomment next line and set IP when using network_mode: bridge
#- ipAddress=192.168.1.XXX
## Change WebUI Port if needed
#- PORT=8091
# Keeps login and session if re-deployed
volumes:
- data:/root
volumes:
data: {}
A couple of questions on this.
Is the IP address that needs to be entered the local IP address behind the NAT (i.e. 192.168.x.x) or is it the public IP address visible from outside the NAT?
I can probably answer this once I get the answer above, but do the HE hub and the Echo Speaks server directly communication over the local LAN? I have multiple VLANs and the server I was going to use is on a different VLAN than my HE hub which are isolated from each other.
If they need to be on the same VLAN I will probably dig out an old Raspberry Pi and try to get it to work.
Its the local host LAN IP. By default the app on HE will give you a cloud link to give to the server, so it will connect to your hub via the cloud connection. But I think for the hub reaching back out to the server it will try to use a local connection. So you may need some local communication for it to work.
I've been busy with other things and finally back to trying to get the Pi working... Note I had docker desktop working...
On the Pi, trying the npm and nodejs route..got everything installed and can open up a window to the pi server and sign into Amazon and successfully get cookies. then reconfigured the echo speak app to point to the pi and when I click on sign in from the echo speak app ..i get
An unexpected error has occurred trying to load the app. Check Logs for more information.
Looking in the logs, i see app:8622024-02-17 12:44:11.485 AMwarn EchoApp (v4.2.3.0) | Echo Speaks Authentication is no longer valid... Please login again and commands will be allowed again!!! | Method: (getEchoDevices)
app:8622024-02-17 12:44:11.483 AMwarn EchoApp (v4.2.3.0) | Echo Speaks Authentication is no longer valid... Please login again and commands will be allowed again!!! | Method: (checkGuardSupport)
Note I did try rebooting hub
I then pointed the echo speak to my docker install that was working and get the same blank window w done.
Sorry to keep asking questions but any suggestions?
You could try setting that ipAddress variable on the server to a hostname, not sure if it will work or not. That is basically what the server will then tell the HE app how to reach it. Not sure if it will work.
In case anyone else is having this problem - the docker app seems to only work when on the "host" network (and I'm just now realizing that there's a "network_mode: bridge" and a method to set a static IP in the yaml that I was missing). In any case, If you're using host mode and you're running any other web services on the host IP that have also set cookies, the other cookie data seems to interfere with this sign-in process. My workaround was:
Restart the docker container
Open Hubitat interface in a new Private/Incognito browsing session
Navigate to the echo speaks app and follow the login link/instructions from there
Close the login popup (if it doesn't close on its own)
Back on the Echo Speaks app tab in your incognito browser, click "Next" (if it didn't progress on its own).
It worked immediately when I did that. Tested and I was able to get speech exactly as expected.
Reboot your ES server. If possible, try using a different browser. I had this issue when trying to set things up using Chrome. Firefox worked best in my situation.
Just wanted to give a heads up that I was able to retire my Synolgoy / Docker image of Echo Speaks server yesterday and replace it with a native LXC container in Proxmox. The instructions for Linux only install worked well:
I created a Debian 12 container with small drive (2 GB) and small memory (1 GB) to cover the install. Setup a network interface on the same segment and VLAN as my existing Hubitat that is running Eco Speaks and then ran the command to install Node and then the server code. Tested that the application was running by going into the web page via the IP address of the container and everything looked good.
Repointing the Hubitat at the new server was simple by resetting the server connection in the Hubitat Echo Speaks app and then running though the setup again. I did have the issue where "not logged in" wasn't going away and a quick cycle of the Proxmox container after the callback and login was completed appeared to clear up the message on the Hubitat.
Now that it's been up overnight and seems to be stable I am going to reduce the memory needed to 512 MB since it seem to take only 90 MB of RAM to run the server. I also setup high availability in Proxmox to allow the container to move from one Proxmox server to another in case of a failure.