I’m not fond of docker but if it’s a way to got it reliable, I can give it a try.
Actually I have installed samba on the Pi, so I have a network drive on my Windows PC on the Pi, which is really nice to edit profile, intents, slots files and such. Is it still possible with docker ? Sorry, I dunno docker at all, played once with a container on my synolofy NAS and had some problems routing usb port etc.
Actually testing rhasspy, of course the goal is to have it 7/7 24/24 and robust to be able to ask him something anytime without taking care of it. So this is an important aspect
Maybe it’s something related to your ssh connection. You can solve this by starting a screen session after logging in with ssh, and starting Rhasspy in this screen session. So when your ssh connection fails, Rhasspy keeps running in the detached screen session.
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.
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.
I’m not the one who can declare things official with Rhasspy 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.
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.
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
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.
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.
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.