A little bit more than one year ago, I started playing with Docker. I now run almost all server applications I use in containers: two Drupal web servers, a phpBB forum, a reverse proxy, a DNS server, a MineOS server for my son, etc. I have had the opportunity to investigate how to handle various requirements: data persistence, application update, microservice architecture, service dependency, etc. But I still consider myself as a naive beginner: the applications I have dockerized are for my personal use only. Consequently I've never been exposed to real-life constraints (large number of connections, security, high availability, etc.)
From time to time, I'm asked by some friends to help them, in my field of expertise, to solve some issues they face or to rapidly develop proofs of concept. Deliverables are source code and possibly some electronic schematics. Until recently, I have used email and file transfer to deliver those elements. And I have used a private version control system. Some weeks ago, I decided to spend some time in checking whether a dockerized GitLab could be a good solution to replace my archaic way of handling and sharing source code and schematics.
After some tests, I got the answer: yes! This article describes the few steps I followed to set up my configuration.