Hey, great write-up, thanks for sharing!
I find it interesting how you had to declare a DNS server for federation to work. I played a bit with Docker Lemmy but I ran into weird Docker networking issues when trying to get it to talk to my mail server, which is in another docker container on a seperate VM. I just couldn't get them to talk to each other!
I ended up building Lemmy from scratch, which was painful given the state of documentation, but somehow more workable than that Docker quirk I encountered. It's still a mistery to me how to solve that one, though it's probably just my lack of experience with Docker, I generally prefer setting things up the old fashioned way.