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

very odd, I tried it the same way like 10 times in a row and it randomly took on the last time. Appreciate the help

1 Like

ok, total noob question. How did you get this to run on your QNAP? I have a TS-433 and cannot get it to run. I've been trying to use the yaml above with the build command but it fails every time. I've even downgraded the container station. Any assistance would be greatly appreciated.

Fails how? Error message? That YAML should work as a docker-compose file in Container Station from what I am reading (have never actually used it though).

Also, you could try installing Portainer first, then use that to manage your containers. I found this guider for Portainer: [GUIDE] Portainer docker on Container station - QNAP NAS Community Forum

Out of order - recently lost my NAS (I blew it up purposefully :slight_smile: ). My synologyNAS is my ES server.
Reinstall would not work - over and over. I checked settings and tweak values - the env var with my ipAddress was helpful as at first I got the 0.0.0.0 problem and that fixed it.
Repeated tweaks and changes always got me right to the login status with a red check mark.
My nas IP is handled by a DHCP server on a windows server - in my browser (Firefox on a win10 station) I was entering xxx.xxx.xxx:8091 and I'd get the Alexa login page, run the steps then it would say 'successful', 5 secs later refresh but still have red check.
Frustrated I entered 'synologynas1:8091' into my browser and got an error 404. I hand typed the correct ip xxx.xxx.xxx.xxx:8091 and the amazon login came up, I clicked the login button and this time I got a 'Authentication successful' with a green check and it began working. It may be a cache issue or ajax buffering... I cleared cache, did it all again, and it worked immediately. I'm back and running.

3 Likes

I plan to try the install ...but have a question...
can i setup separate servers, 1 for my amazon account and 1 for my nephews amazon account?
Any tips or gotchas?

Thx!

You could run two on docker on the same machine, just change the port on one or both. If you are hosting it for someone else their hub would need to be able to reach it so you would have to open the port on your router. Then if you have a dynamic public IP from your ISP you would need a DDNS so they can always reach it.

1 Like

Thanks for the great info... I guess i'd rather not open ports..
So thinking stand alone ..like raspberry Pi... anyone set this up on a raspberry pi zero (has 512 MB memory) ?

Yes I know it has been done on a zero, they said it was working fine. Not sure if they did docker or without but it should work either way.

You only would need to open ports if you wanted to host as cookie server on your network (behind your NAT) for someone else to use whos hub is outside your LAN. The TCP port to access that cookie server would need to be forwarded from your router to your server (often known as opening the port). It would be relatively safe, IMO no more dangerous than hosting the server publicly on Heroku.

echo speaks in coming up with the wrong ip address and when i click to change it comes up with a blank page that spns forever

the correct ip is 192.168.11.10

see pic. how do i change it.

Change it in your .yml config file:

## MUST Uncomment next line and set IP when using network_mode: bridge
#- ipAddress=192.168.1.XXX

Should become this:

## MUST Uncomment next line and set IP when using network_mode: bridge
- ipAddress=192.168.11.10

I'll be curious if you get this running. I was never able to get past the authentication. It would tell me the cookie was successfully copied, but then would show the "Go to login page" button. After getting stuck in that loop, I called it quits.

Please let us know how you do.

Restart the container. Or possibly you are using a newer MFA authentication that's not working right on the library used for the server. Using and OTP code from an authenticator app works for sure, not sure about anything else.

Restarted multiple times.
Deleted container, installed new.
It was a very consistent error... lol.

MFA authentication is possible, although I don't remember turning that on for Amazon. I will look into that.

Where would I enter the OTP code from an authenticator app?

After you enter your password it would ask for it. If its not enabled I suspect it would just log right in. If you don't already have MFA/2FA enabled on your amazon account I would recommend it, unless you have a very secure unique password.

1 Like

Not using yml.just added container changed port to 8091 or it would use nat from 327xx to 8091. And it works fine and i can log in and get the cookie with the correct ip.

I tried adding the ip address to the docker config as a user variable . No change.

@kahn-hubitat Its not a user variable its an environment variable. I think you need to delete the container and launch it again using the flag I have in my guide. Also be aware that variable is case sensitive on some systems, so it must be exactly as shown.

docker run \
  --network host \
  --name echo-speaks-server \
  -e ipAddress=X.X.X.X \
  --restart=unless-stopped \
  -d tonesto7/echo-speaks-server

verySecureUniquePassword01... how'd you know :wink:

I have two authenticator apps for work.
I think one is Microsoft and one is Authy.

I'll try enabling Authy with Amazon, and try the integration again.
Appreciate the suggestion!

1 Like

I am also using Authy and I have logged into the ES server many times with the OTP.

1 Like

Dont think so.when i deleted and re added it the other variables are automatically filled in and i just pick add so it is in the same section as the others. only reason i called it "user" is i added.
.it.

But will try an.manual command line.launch and see if that helps. Thanks

If you are able to add it to a running container I had not figured that out. But you would need to restart the container after adding it so the server would restart and pick it up. It only checks it when it first launches.

got father got it using the correct ip.. but even though docker says all ok i am logged in.. app does not

ie