Keep rhasspy running

I didn’t know screen, seems nice indeed.

But from the start, I think rhasspy should run as a service, automatically started when the pi boot.

With snips, it always works, you can ssh and read service log, or stop it and run it in console to see the debug, etc.

Are you saying I should try docker install instead of venv ? And does the container will start itself at boot, so when something goes really wrong I can try sudo reboot or even just unplug and replug the pi ?

Yes, if Docker is configured to start at boot, it restarts all Docker containers that were running.

I’m not a big fan of systemd services. As you have already discovered in your issue about Rhasspy as a service, there are just too many things that can fail, with paths and so on. Running a Docker container instead of a systemd service is conceptually much simpler and hence more reliable.

Ok, I think I will test with a docker container.
Would you tell me how to configure it to start at boot ? Maybe add this in the doc

1 Like

If you’re following these installation instructions on a Raspberry Pi, this will configure Docker to start at boot by default: it enables the Docker engine’s systemd service.

Ok, so if I get it correctly, the official, most supported and reliable way of running rhasspy is actually docker with these instructions ?

How do you update it then, when there is some commits ?

I’m not the one who can declare things official with Rhasspy :wink: But if you ask me, I would say Docker is the most reliable way, yes.

About updating your Docker image, see:

This depends on the Docker image @synesthesiam publishes on Docker Hub being up-to-date. I don’t think he publishes a new version for every commit, but I see a new Docker image appearing very often. When we have CI/CD ready, a new docker image could be published for each commit.

2 Likes

Ok, installed docker, I have the ui so I guess all works, but:

  • all my previous settings are there, and seems my config folder didn’t changed: nice
  • still can’t put several intents files: integer division or modulo by zero
  • Still have timeout after first wakeword when starting

Seems rhasspy really don’t like me :woozy_face:

At least I can close ssh and still get rhasspy running, will see if it stays on all day long.

Maybe in the interface, a way to reboot the rpi could be nice.

Also, is there a way to access the container py file, alter them, and restart it ?

Also, seems docker container doesn’t have /api/intents :disappointed_relieved:

Containers are by design immutable. All changes you make while running them, except for external volumes you have mounted in them, will be lost after a restartyou recreate them.

I see, like a VM that would get back to snapshot :confused:

So I can’t debug anything or try new stuff on rhasspy files. But I could find solutions later for this, actually I can’t use rhasspy at all being venv or docker so I will wait for bugfixs :sleepy:

You can commit changes to a container and restart it but it might not be a good idea to change the files inside because they will reverted on the next pull…

No problem, I’m definitely not ready to help on dev part. Would better concentrate on get rhasspy running so I could really start to put in a production test environment. So many fix and features to add before that.

1 Like

How can I check when the docker container is updated ?

We really need a way to restart the pi from the console.
I sent some request on /api/text-to-intent but I guess too many, or too fast, it crashed rhasspy. The console was still accessible, but no wakeword, nothing responding.

BUT, actually, reboot the pi, the docker DOES NOT start automatically !

So yes, I can close / don’t need ssh, but I can’t unplug/replug the pi when it is not reachable and have rhasspy running without getting a PC, an ssh console, and run it.

We really need something on this, not production ready just on this aspect alone.

This is special. My docker setup on Raspbian Buster always starts automatically.
With the following commands I have installed everything:

Docker install:

curl -sSL https://get.docker.com | sh

Add User Pi to the Docker user group:

sudo usermod -a -G docker $USER

Restart!!!

Install Rhasspy Image in Docker:

docker run -e -p 12101:12101
–restart unless-stopped
-v “$HOME/.config/rhasspy/profiles:/profiles”
–device /dev/snd:/dev/snd
synesthesiam/rhasspy-server:latest
–user-profiles /profiles
–profiles de

For me the Docker engine also starts automatically on Raspbian Buster and restarts all containers that have –restart unless-stopped . So @KiboOst this looks weird to me, what installation instructions did you follow? This isn’t a Rhasspy problem, it seems to be a problem with your Raspbian installation.

I’ve installed it exactly like you.
Get raspbian buster lite, etcher, ssh file, boot and then installed seed driver picotts then rhasspy docker like you.

Do a sudo reboot in ssh, rhasspy doesn’t start

We really need as easy as possible setup :wink:

What does docker ps show after a reboot?

CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
42a21bcbd5a7 synesthesiam/rhasspy-server:latest “/run.sh --user-prof…” 28 hours ago Up 2 hours 0.0.0.0:12101->121 01/tcp charming_maxwell

Seems to be running?