Skip to content

Debugging

Enable debug mode

First thing's first, enable the Open Voice OS's debug mode in ~/ovos/config/mycroft.conf to get more verbosity from the logs.

Restart containers

All containers will have to be restarted to receive the configuration change.

docker restart --time 0 $(docker container list --all --filter 'name=ovos' --filter 'name=hivemind' --quiet)
~/ovos/config/mycroft.conf
{
  "debug": true,
  "log_level": "DEBUG"
}

Note

The commands below don't have to be executed in the same order as they are presented, free free to run them in the order you want!

All containers logs

Access all the container logs at the same time, run the following command (make sure it matches the docker compose or podman-compose command you run to deploy the stack).

docker compose --file docker-compose.yml --file docker-compose.raspberrypi.yml --file docker-compose.skills.yml --env-file .env logs --follow --tail 200
podman-compose --file docker-compose.yml --file docker-compose.raspberrypi.yml --file docker-compose.skills.yml --env-file .env logs --follow --tail 200

Specific container logs

Access the logs of a specific container.

docker logs --follow --tail 200 ovos_audio
podman logs --follow --tail 200 ovos_audio

Run command in a container

Execute a command inside a container without going into it.

docker exec --tty --interactive ovos_audio pactl info
podman exec --tty --interactive ovos_audio pactl info

Connect inside a container

Go inside a container and run multiple commands (where sh is the available shell in there).

docker exec --tty --interactive ovos_audio sh
podman exec --tty --interactive ovos_audio sh

Configuration syntax check

Make sure the mycroft.conf configuration file is JSON valid by using the jq command.

jq command

In order to use the jq command, the package should be installed on your operating system.

cat ~/ovos/config/mycroft.conf | jq

If the configuration file is not valid JSON, jq will return something like this:

parse error: Expected another key-value pair at line 81, column 3

Docker/Podman consumption

Get the CPU, memory and I/O consumption per container.

docker stats --all --no-trunc
podman stats --all --no-trunc

Docker/Podman volume usage

Get the disk usage per volumes.

docker system df
podman system df