Terrain from GeoTIFF

I want to load a GeoTIFF with surface information (= a DEM) which represents buildings of a city into Cesium. It is just one part of a city.
How do I have to include this tif for Cesium to interpret the height stored in this file and show the Buildings etc. as terrain?
Do I need to store them as a WebMapService?

You can upload the GeoTIFF to Cesium ion, which can convert to terrain (quantized mesh format). This page is a good reference on that:

Although if the heightmap strictly represents buildings, I’m not sure if that would look great rendered as terrain. I know a common approach with FME is to extrude heights from a heightmap to build 3D models, and then to create 3D Tiles out of that.

Just make sure they’re 8-bit singleband and georeferenced in some way and it should work.

I’ve used this tool: https://github.com/tum-gis/cesium-terrain-builder-docker without problem in the past. Feed it your tif and it will generate a directory full of terrain tiles. Then just upload those tiles to your web server and give that url to the TerrainProvider and it should just work.