Great read. I miss these kinds of articles, compared to the "use this Docker image that has everything pre-configured" articles so common today.
There's a much higher sense of achievement when putting things together with deliberate configuration and sorting out how to glue things together.