[GUIDE] Echo Speaks Server on Docker (or without)

I haven't used Portainer in a while, but as I recall, you should see your environment variables in the container.

To that note, there are only 2 other environment variables other than Port that are set. You can see them below. The callback URL variable is optional. You can set that from the app web page during Echo Speaks setup.

Set environment variables

environment:
  - useHeroku=false
  - hubPlatform=Hubitat
  
 ## Set callback URL here if you want
 ##- appCallbackUrl=
3 Likes

Got it installed on my Pi4 and the EchoSpeaks went nicely except for the fact that using 2 factor authentication on Amazon.ca gave me a bunch of errors and when I finally turned that off all went well.

1 Like

Did you do this?

@aaiyar, I just went ahead and did it. Wow! I like it. Now I can do the other stuff with it!

Bit of a pain getting it working, because I didn't find @jtp10181's answers in another thread until after. Oh well. Now I understand the process and containers better. Win!

1 Like

Answers for what? If something is missing from this guide let me know and I can fix it.

Yes. It worked last year when I had Portainer CE installed on the Raspberry. I consolidated and moved containers over the weekend which included replacing Portainer CE on the Raspberry with Portainer Agent. From my new Portainer CE (on Synology) I tried to deploy Echo Speaks to the Raspberry using Docker Compose with the image definition modified (as I did last year). Installation failed.

You had provided Docker installation instructions in another thread. Nothing missing here. :slight_smile:

I just created a Docker / Portainer install guide for linux-based systems, essentially just dumping all of the commands I used and liberally add comments. Please link it in your guide above.

2 Likes

Hi, I got this working on my synology / docker. I keep getting "Amazon cookie refresh failed 408" errors for weeks but it's working.
Anyone know what to do about that 408 error?
I as wondering also where I can find the access token (?access_token=XXXXXX-XXXX-XXXX-XXXX-XXXXXXXX) for the callback URL?

When you do the server setup via the Hubitat app it gives you the access token to use.

If you don't have the callback url set correctly then the cookie server wont be able to send anything back to the hub.

It sounds like you got it working at least once, and sometimes that will work for a long time without needing to refresh the cookie. The refresh interval it does is very aggressive but prevents it from unexpectedly getting disconnected.

Sounds like you need to reset it on the Hubitat app, and go through the setup again. You can leave your docker container running.

1 Like

Currently running ES cookie server (non docker) in a headless Ubuntu VM in VirtualBox on my Win10 PC. It has been 100% reliable. I'll be (in place) upgrading this machine to Win11 before fall. It is currently the last Win10 machine in the stable save my work laptop soon to be retired (along with me).

Thinking of moving the service to an RPi3B I've had running NUT Server (also 100% reliable) for at least as long as ES cookie server.

Anyone see any issue or concerns with this? IOW, talk me out of it...

You should have zero issues. I used to run ES server on a RPi 3B for quite some time.

Right, was more concerned about any potential conflicts with the existing NUT Server running on the RPi. The CPU and memory, etc. are extremely underutilized and I'd like to deprecate the Ubuntu VM from my Win10 host before I try to upgrade it to Win11.

As long as you don't have any port conflicts between applications, you'll be fine.

Thanks very much for this great guide Jeff!!
I just finished setting up my Echo Speaks server on a Raspberry Pi4 running via Docker and Portainer.
I used to have the server on Heroku, but then the login got messed up and I didn't feel like going down that rabbit hole to try to fix it.
Cheers!
Dylan

3 Likes

Took me until now to get around to adding the local server to fix this. I already had a node server running on my Mac mini, so no docker needed.

Nice and straight forward instructions that covered all the bases. Thank you so much for this Jeff!

2 Likes

I keep getting this when I log in but tried the trouble shooting with nothing working, if the log in page is .com and I am in the UK should that make a difference?

Amazon Alexa Cookie Retrieved Successfully

"Nothing working" is pretty vague.
What does it show on the Hubitat app?

1 Like

Apologies, fell into my own trap there. I get through the login part through the Echo Speaks Service webpage which I managed to deploy on Docker, says its got the cookie from amazon and closes after the five seconds. The Echo Speaks app sees it on Habitat but consistently says I need to log in even after following the trouble shooting elements above.

I get these messages in the Container Logs:
10-26-2025 - 7:22:07pm error: generateAlexaCookie: You can try to get the cookie manually by opening http://Redacted:8091/ with your browser.
10-26-2025 - 7:22:07pm debug: Alexa Login Status: There was an errroe

UPDATE: Stand down, for some reason doing it on my tablet worked. No idea why

I had some issues after migrating to a new hub and I ended up having to clear the browser cache to get it to work, so probably using a different browser/device was the fix.

1 Like

Hi All,

I have been trying to set this up with no success, i have it running on a container on a truenas. I am from Australia so have set my regionLocale to en-AU and amazonDomain to amazon.com.au i am getting these these in the logs of the container though

2025-11-10 06:43:56.726710+00:00Alexa-Cookie: Use as Login-Amazon-URL: amazon.com

2025-11-10 06:43:56.726812+00:00Alexa-Cookie: Use as Base-Amazon-URL: amazon.com

and

2025-11-10 06:43:41.077461+00:00Alexa-Cookie: Response (401)

2025-11-10 06:43:41.078191+00:00Get User data Response: ""

2025-11-10 06:43:41.078888+00:0011-10-2025 - 5:43:41pm error: generateAlexaCookie: Unexpected end of JSON input

2025-11-10 06:43:41.080007+00:0011-10-2025 - 5:43:41pm debug: Alexa Login Status: There was an error

2025-11-10 06:43:42.007975+00:0011-10-2025 - 5:43:42pm info: ** ServerVersion Sent to Hubitat Endpoint Successfully! **

2025-11-10 06:43:44.614635+00:00getRemoteCookie...

any advise would be appreciated i am at a lose here