Seriously. Start using Docker. I just updated gitlab via docker. Here's all you do.docker pull gitlab-ce<it downloads the newest image>docker stop gitlabdocker rm gitlabdocker run gitlab-ce <port mapping and volume mapping including config file>DONE!By doing this I have exactly the same web server, php version, java version, apache, file permissions, EVERYTHING the same as the developers. All the config is stored in the config file on the host server that holds the containers. That means I only have to backup a TINY config file to backup my instance because everything else is reproducible form the image.This is a support dream on both ends. OST devs know that users have EXACTLY the same environment and customers know they are running it the EXACT some way it was meant to be run.All OST devs would have to do is push the changes to the docker repository (much like a git repo). Customers don't even need to know the latest version numbers. They can just pull with the :"latest" tag.Once pushed, people install by pulling then running. That's it! There would be a config file (XML or YAML or whatever). There you could have smpt settings, LDAP settings, etc. If people used the config file then the run of the image would also do all the config mapping to preserve configurations between images. Because of this, images can just be thrown away. All that matters is in the config file...