Use gitlab with a docker container. This guide is vastly learned from this reference document: https://gitlab.com/gitlab-org/gitlab-ce/tree/master/docker
However there are some more ideas and gotchas, so I decided to write this gist.
Start by creating & running our container. Replace ports (host:container) as desired.
sudo docker run --detach \
--publish 8443:443 --publish 8080:80 --publish 2222:22 \