fix: use version 3.8 of the Docker Compose specification
See also the Compose and Docker compatibility matrix [1].
While at it, reorder top-level configuration elements and
separate each by a blank line to enhance readability.
[1] https://docs.docker.com/compose/compose-file/compose-file-v3/#compose-and-docker-compatibility-matrix