Since forever, GitLab to me has been a great example for what it should take to self host software.
You run the GitLab container and it basically configures itself and has excellent docs on how to configure everything from a small personal setup to a full blown cluster setup for enterprise companies.
