Thanks for the honest feedback, it's genuinely useful for improving the product.
Out of curiosity, why use the Docker image over our Omnibus package? Omnibus is generally what we recommend, but if that's not good enough we'd love to know how it can be improved.
Even if I trusted it not to munge other things (doubtful), IIRC omnibus does not support my distro (Gentoo), and setting up another distro I have to (remember to) maintain just to support one application does not appeal medium term versus using a popular docker image which has done that for me already in a pre-tested fashion and should handle maintenance smoother.
Basically I'm at this point: 'what's the easiest self-contained box to run and maintain', with conditions 'I have an IP but it's not dedicated (ports 22/80/443 unavailable)' and 'there may not be existing DNS/SSL for this server but I can set it up' and 'SMTP from this IP is not desired/desirable, but I have an existing offsite ISP allowing relay with credentials'. This doesn't strike me as particularly weird, except that in the latter case Google is not an option (GFW'd from China).
I don't think your concerns are founded, I just deployed GitLab for personal use on a virtual machine with the omnibus image (gitlab-ce:latest) and it worked flawlessly. And since they released an update today, to upgrade all I had to do was:
I tried the docker image for gitlab-ce just 2 days ago and had to exec bash into it and chmod a workhorse socket file to get it working. Glad they fixed it.
Great, I'm glad it worked for you. It didn't work for me and other people, as per the issues linked. When it doesn't work, there's no clearly defined debug path, and very little response.
Respectfully, it seems like you are using the wrong Docker image, and that's the source of your troubles. Others have commented similarly, and I think that you are too easily dismissing them.
The Sameer docker image used to be the only way to run GitLab with Docker but we don't recommend it and it is no longer listed on our installation page https://about.gitlab.com/installation/ to prevent confusion.
Omnibus makes a ton of assumptions about how many things you want bundled, as well as the monolithic configuration is daunting. I'd suggest breaking up into smaller containers for each service. No matter what container medium you choose, the philosophy of omnibus isn't something you want to 'containerize' as it is.
We run gitlab and the full config is 57 lines. A little more than half of those are comments or blank lines. This includes email and oauth. I would suggest not unbundling.
We recently revamped our in-house deployment process of GitLab, and while we are certainly addicted to Docker Kool-Aid, the Docker image for GitLab just didn't do it for us. This is a few months ago, so my specifics would be a little rusty, but I remember it simply not working, spam-logging errors that didn't help me, and personally I find Docker images that try to run many-multiple applications inside a non-preferred design anyway. Contrasting that, the Omnibus installation worked absolutely without a glitch, so we went with that. Loving GitLab, though!
I haven't tried omnibus but I'd vote for docker too after being spoilt by setting up and maintaining a Discourse instance. They've done an absolutely fantastic job in making installation and updates painless.
Out of curiosity, why use the Docker image over our Omnibus package? Omnibus is generally what we recommend, but if that's not good enough we'd love to know how it can be improved.