[GUIDE] Synology docker for echo-speaks-server ( echo-speaks)




5 Likes

Problem docker on the PC looks different . I figured it out you press run and then it has a pull down menu under the 3 dots. Then select terminal.

So how do you redirect echo speaks to your local IP?

Do you have instructions on what to do after the docker image is running?

Go to your browser and enter YOUR_NAS_IP:8091. It should bring the amazon login page.

After the last screenshot, I had to do this in the Web Server pop-up window:

IMPORTANT: the ipAddress field in one of the screenshots is for the ip address of the NAS, NOT the ip address of the hubitat.

Then as @jbilodea mentioned (thanks!), I have to go to <nas_ip_address:8091> to confirm that the docker instance is up.

Now go to hubitat portal. If Echo Speaks was configured for Heroku before, then the instructions below will reset that first:

  1. Open Echo Speaks app.
  2. Go into Alexa Login Service section
  3. Expand Reset Options and toggle Reset Service Data > Leave App
  4. Go back to Echo Speaks app. It should show steps to setup cookie server. At top, disable 'Deploy server to Heroku' and click Begin Server Setup.
  5. A new window will show a url for appCallbackUrl. Copy the url.

Now to go back to <nas_ip_address:8091>

  1. Login to amazon
  2. Paste in the App Callback Url
  3. Click Save Settings

Go back to hubitat portal and check login status. Should have green checkmarks.
It should also show that Server as <nas_ip_address:8091>. If you had previously entered the wrong ipAddress variable value, then the Echo Speaks app will show the wrong ip and it's not going to work.

1 Like

I've followed the instructions above (thanks for those!) religiously, yet keep seeing the well-known 0.0.0.0 IP issue as shown in the Echo Speaks app's config page. Went around a few more times, making sure I hadn't omitted any steps, but now have a red x under Login status. :frowning:

(Even restarted the server hoping for all-green results, but no such luck.)

App: v4.2.2.0 Notes
Device: v4.2.2.0
Action: v4.2.2.0
Server: v2.8.0 Running on Synology NAS in Docker app (no errors)

Has a later/newer Docker container image been pushed out to solve this issue?
Kinda wish I hadn't tinkered with it, because it was all green checks until I did, lol.

According to the registry page, the image was updated on 11/28/2022.

No idea why your echo speaks thinks the server is 0.0.0.0. Maybe check the spelling of environment variable ipAddress (all lower-case except for A).

It's unclear how that ipAddress is transferred to Echo Speaks app. I'm guessing when you are on <nas_ip_address:8091> and click Save Settings, it connects to hubitat via the appCallbackUrl and sends the nas ip and port.

And your docker containers are using bridge networking?

1 Like

Evidently it affects a subset of those installing the ES server under Docker.

1 Like

Yep, that was the ticket! Had not until now understood that this env var was required for Docker installs using the pre-fabbed Container image, but evidently so.
Happily, adding it brought the ES app up to speed on where the server lives:
From


To

Thanks for steering me straight! Will leave these posts here for others similarly afflicted.

1 Like

Got this working in Docker Desktop on Windows. In case anyone wants to run this with an old-fashioned Docker run command...

docker run -d --name echo-speaks -e LOG_LEVEL=debug -e TZ=America/New_York -e ipAddress=192.168.50.15 -p 8091:8091 --restart always tonesto7/echo-speaks-server:latest

Change IP and TZ as needed. You can also leave the debug and TZ environment variables out if you'd like. Navigate to IP:port and follow setup then return to Echo Speaks app in Hubitat for callback URL. Works perfectly for me.

I can't get past the Amazon Authorization after it send the # code to verify the amazon login. The page keeps refreshing and if I do happen to get it in in time I get a page error Cannot POST /ap/cvf/approval/verifyOtp

Tried different browsers and the same thing.

Anyone know how I can get past this issue?

some people reported, that they have to try several times.

Try these instructions: [GUIDE] Echo Speaks Server on Docker (and alternates)

I have, can't get the Amazon OTP to get authorized.

I use OTP via an authenticator app and had no issues on my end. I know not helpful, but it does work. Not sure what the issue might be.

graceful setting timeout for PID: 1
3-12-2023 - 1:30:55pm info: 	-- Echo Speaks Web Service Starting Up! Takes about 10 seconds before it's available... --
getRemoteCookie...
3-12-2023 - 1:30:55pm info: 	** Echo Speaks Config Service (v2.8.0) is Running at (IP: 192.168.0.95 | Port: 8091) | ProcessId: 1 **
3-12-2023 - 1:30:55pm info: 	** On Heroku: (false) **
3-12-2023 - 1:30:55pm info: 	Checking for Server Version Updates...
Alexa-Cookie: Use as Login-Amazon-URL: amazon.com
Alexa-Cookie: Use as Base-Amazon-URL: amazon.com
Alexa-Cookie: Use as User-Agent: Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/51.0.2704.103 Safari/537.36
Alexa-Cookie: Use as Accept-Language: en-US
Alexa-Cookie: Proxy-Mode enabled if needed: 192.168.0.95:8091 to listen on 0.0.0.0
Proxy Init: loaded temp data store ■■■ fallback former data
Proxy Init: reuse frc from former data
Proxy Init: reuse map-md from former data
Proxy Init: reuse deviceId from former data
3-12-2023 - 1:30:55pm error: 	generateAlexaCookie: You can try to get the cookie manually by opening http://192.168.0.95:8091/ with your browser.
3-12-2023 - 1:30:55pm debug: 	Alexa Login Status: There was an error
3-12-2023 - 1:30:56pm info: 	Server Version is Up-to-Date.

Thanks for the OTP authenticator app suggestion, that worked.

1 Like

My synology will show this message:
Docker container tonesto7-echo-speaks-server1 stopped unexpectedly
It looks to be happening regularly every five days. Is this expected and normal? What exactly is happening?

There is some sort of bug that causes it to exit right after the cookie refresh in some cases. If you set the restart policy to always restart it will just fire back up again and is not a concern.

Can't seem to get this working with docker container on my Synology box. Was working fine on Heroku before. Any suggestions?