In this reference guide, you'll learn more about the intricacies of the signal & slot concept in PyQt. This concept is very important when dealing with GUI development and while it's beautifully solved by Qt, it can be a little confusing in the beginning.
Our second tutorial in the QGIS plugin development series focuses on QGIS and user interaction. You will learn how capture a point clicked on the map canvas by the user, a few practical examples of the concept of signals & slots in PyQt, and then some more.
If you want to know how to setup Valhalla on your Ubuntu with elevation support, then go ahead with this tutorial. By the end you will have had to prepare your Valhalla setup with all necessary packages and dependencies to finally be able to use Valhalla with elevation support.
If you simply want to run Valhalla within a docker container, then feel free to dive into this tutorial. However, to understand the individual steps being called in the provided Dockerfile please refer to part 1 and 2 of this Valhalla Routing series of tutorials.