Skip to content

Container engine

Installation

As we are leveraging containers, a container engine such as Docker or Podman is required (only one of them should be installed), as well as their composer.

If you are not familiar with what a container engine or a composer are then please refer to this section first as these fundamentals must be understood.

Versions

When running on Linux, please make sure to not use Docker Desktop but prefer Docker Engine as it is a better choice in our case. Docker Desktop runs a virtual machine which doesn't have access to the same devices as the host has, due to this limitation the /dev/snd device will not be usable and this will prevent the usage of speakers and microphone.

docker-compose versus docker compose

As mentioned by Docker, from July 2023 Compose V1 (docker-compose) will not received updates anymore which makes it deprecated and replaced by Compose V2 (docker compose) directly embedded into the docker command line.

Either you choose to install Docker or Podman and their composer on Linux, Mac OS or Windows, please refer to the official documentation1.

Minimum required versions

In order to get the latest features supported by ovos-docker, please make sure to install a recent version of Docker (>= 24.x.x) or Podman (>= 4.3.x) for your operating system.

Don't be root, be a user

You should not run docker command as root user or using the sudo command, if so then you will get some error messages such as Permission denied and some containers could restart in a loop.

To allow a simple user to execute the docker command, make sure to add the user to the docker group.

sudo usermod -a -G docker $USER

Once added to the docker group you will have to logout from the current session (graphical or SSH) in order to get the group added to your user once you reconnect.

Once reconnected, run the following command to ensure the docker has been appened to your $USER.

id
uid=1000(foobar) gid=1000(foobar) groups=1000(foobar),973(docker)

The GID could differ compare to your setup.

Validation

docker system info
docker container list
podman system info
podman container list