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=
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.
@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!
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.
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.
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...
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.
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
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?
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.
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