Echo Speaks / Heroku end anxiety support group. See one solution below. šŸ™‚

@brad5 Strange as it sounds, restart the Echo Speaks Cookie authorization server and then try to authenicate from the Echo Speaks app and then it should work.

1 Like

I restarted the whole rPi and that worked, thanks!

1 Like

Hey just a note for your docker instructions. The docker compose file saved the cookie in a directory which did not have appropriate permissions. This may be why it didnt work for some. I had to move it to a folder on my unraid appdata and it worked almost immediately afterwards.

@bbjamm This is one of the reasons why I suggest the node.js install instead. Docker can be more complicated. In your case, the ./data folder was not owned by the user. So, in this case I suggest that you add your username to the docker group. The file ownership of files in the ./data folder will usually be the system ID. To change that, assuming user ubuntu:

sudo usermod -aG docker ubuntu
newgrp docker
groups

Another way to accomplish this is to find out your user id and your group id:

id -u
id -g

Then you could invoke docker-compose with the ID's:

docker-compose run -u 1001:1001 app id

Yet another way is to edit the docker-compose.yml file and include the UID/GID:

services:
  echo-speaks-server:
    image: echo-speaks-server:2.7.2
    build:
      context: ../
    container_name: echo-speaks-server
    restart: always
    user: 1001:1001
    ports:
      - "8091:8091"
    env_file:
      - './env.echo-speaks-server'
    volumes:
      # Data persistency
      - ./data:/mnt/es-data

Awesome @vmsman ! You made this simple. Echo speaks is up and running locally. I just did the install on my 18.x ubuntu system directly, no docker. I don' t use it for much so this works for me.

I will be getting a UM350 after Christmas costs have been forgotten a bit by my wife :wink:

Method I used on raspberry pi was [RELEASE] Echo Speaks V4 - #861 by KurtSanders. Worked well.

1 Like

@ralph.vasquez @vmsman I got the same error installing the non-Docker solution using node.js on my Synology NAS according to the instructions at Echo Speaks Local Cookie Authorization Server - ScottiByte's Discussion Forum. Every other step of the install went smoothly (once I got my git account SSH-enabled) until the failure of the pm2 startup command.

Note that I did have to reboot my server and restart the process manager manually due to the failed pm2 startup command. On my Synology box I apparently do not have any of the init system tools installed that pm2/lib/API/Startup.js is expecting to see, namely at least one of the following:

'systemctl' : 'systemd',
'update-rc.d': 'upstart',
'chkconfig' : 'systemv',
'rc-update' : 'openrc',
'launchctl' : 'launchd',
'sysrc' : 'rcd',
'rcctl' : 'rcd-openbsd',
'svcadm' : 'smf'

Which of these is the best to install to get the echo-speaks-server to run automatically on startup?

In spite of the restart issue, my local server appears to be running according to the status page at port :8091 and I have successfully reset the server info and re-logged into the Amazon authentication in the Echo Speaks app, which correctly picked up on my local server.

My Echo Speaks is running perfectly with the cookie authorization server running on my Pi Zero. So, I should not upgrade, correct?

If itā€™s not brokeā€¦

2 Likes

My server I moved from Herroku and all is running fine but it is at version 2.72. I see of these newer installs are at 2.8. What files do I need to update on the server to correct the version

Keep tinkering and tinkering until it is?

Asking for a friendā€¦

4 Likes

For those who just stopped the app on heroku and removed their credit card number , be aware they still charged me 5 dollars since I had not removed the account.

1 Like

Are you running all of this within a QNAP Container Station LXDs? I had mixed experiences with CS and various applications. PiHole ran fine, but Home Assistant was a nightmare (think it didnā€™t like the Network Bridging) until I gave up and installed it within Virtual Station. Problems immediately solved and it was within the same main network subnet.

I was thinking of just setting up a QNAP Virtual Station Ubuntu install then running your steps within that. Not sure if you have any thoughts or preferences regarding this and your preferred method. The NAS is probably beginning to hate me.

I am running the server in container station. You can search for the ā€œtonesto7/echo-speaks-serverā€ image, configure the settings, and be up and running very quickly. See the Echo Speaks thread for further dialog on this.

I have run this and many other containers in the past on container station. I tend to recommend managing LXD containers from the QNAP command line. I do not like running docker instances directly inside of container station because of lack of management control. So, I tend to nest my docker containers inside of LXD. I have had as many as 36 containers running on my QNAP TS-1277.

EDIT: Google is my friend. Happened to search this and lo and behold, itā€™s you:

So my understanding is simple and unfortunately Iā€™m easily confused :

  1. youā€™re running something like Ubuntu LXD within Container Station initially?
  2. SSHing into that and installing docker directly.
  3. Then within that running your containers independently (you wouldnā€™t be able so see all these within QNAPā€™s CS main interface)?

Personally Iā€™m liking Virtualization Station and would rather go that route with an Ubuntu install, but I donā€™t like how it uses more resources such as shared Kernels.

I have a TS-473a with QuTS after my 471 died recently (RIP almost 10 years.) Home office. I see youā€™re playing with the big kids on your 1277 lol. What the heck are you doing with all of that horsepower???

@leo_charles LXD containers use a lot less memory and CPU. I create a LXD container and then I install Docker inside of it and install a Docker container.

1 Like

After messing with it I got it setup on Unraid with Portainer.

In Portainer
Add Container
Image Docker.io - tonesto7/echo-speaks-server:latest
Select the advanced options
add a Variable
Name - IPADDRESS
VALUE - ENTERYOURSERVERADDRESS

Deploy
Server should appear at your IPADDRESS:8091 in browser and in your unraid docker list

@leo_charles If you want to tag up and ask questions, meet me on https://chat.scottibyte.com/.

1 Like

@vmsman has a better way to go about this but for simplicity's sake, I thought I'd explain a quick setup on my end us QNAP Container Station and local cookie management. I just don't have the time unfortunately to get into deeper weeds with alternate methods.

Steps:

  1. Install Container Station on your QNAP if you haven't already.
  2. \Create\ and enter eco-speaks into the search field (make sure it has the dash.)
  3. Install Latest.
  4. Keep default settings but set CPU Limit and Memory Limit to minimal.
  5. Advanced Settings\Network\Network Mode\ set to Bridge.
  6. Use Static IP (choose an IP that's available on your network.)
  7. Create and wait.
  8. Go to Container tab on left and then you might have to start the container that has echo-speaks.
  9. Click on the echo speaks container. Should show you the URL (IP address you used) at the top with port 8091. Just remember this is the address.
  10. head back to your ES install on HE and clear out the cookies field with heroku etc.
  11. Add the local server option. You get a warning and a popup saying it's unsupported with a callback URL. Copy that callback URL as you will need to enter it on your Echo Speaks Service page and then save it there.
  12. You'll want to reboot that container with the server, otherwise it will continue to say in HE that you need to log into amazon.

I'm sure I'm missing a few things, but if you got this far you can definitely figure it out. Oh and then run some device tests using ES. It's quite fast now.

2 Likes