Even in version 6.2.0.0 there isn't any proper procedure for using a static IP or FQDN. I am using my own bind servers, with full reverse records for my bitnami gitlab servers local IP. (since im vpn in, and inside a vpc) This solution should work in any environment. This solution isn't as advanced as all the text would indicate. I just wanted to make sure i gave enough background on the problem.
Apparently the init.d script "/etc/init.d/bitnami" first loads needed/used bash functions from "/opt/bitnami/scripts/init/functions". Then the init.d (bitnami) script executes "/opt/bitnami/var/init/pre-start/" scripts located in this folder (executed by sort order of filenamed ie 010, 020, 030 etc). Then executes "/opt/bitnami/ctlscript.sh start". This starts up the majority, if not all, needed stuff for bitnami gitlab to function.
If the "/opt/bitnami/ctlscript.sh" script returns 0 ($?==0), which means success! The init.d (bitnami) script executes "/opt/bitnami/var/init/post-start/" scripts located in this directory once again by sort order. Inside the post-start directory contains the script "020_update_ip".
Long story short (sparing you from all the function info) bitnami does a lot of redundant stuff (functions) in order to decide what to use as the 'host address'. It uses a total of four functions, with varying return values. It also queries bitnami's own servers to find out your public IP. My server is inside a VPC has an Elastic IP, and an FQDN for its local IP. Their system pretty much always decides to use the Reverse public PTR DNS name for my Elastic IP. Which would always be worn, and they sure love to use your AMZ public dns.
I sorted out all the crazy non functional detection logic (that makes crazy asumptions about your environment and added the following logic to "/opt/bitnami/var/init/post-start/020_update_ip". I added an extra elif condition for, to find out if you have declared $GITLABHOST in your environment. And if so to use the value as the PUBLIC_IP. So when the script runs updateip|bnconfig it will use the provided value from $GITLABHOST.
"/opt/bitnami/var/init/post-start/020_update_ip" >
if [ "x$1" != "x" ]; then
PUBLIC_IP=$1
elif [ -n $GITLABHOST ]; then
PUBLIC_IP=$GITLABHOST
else
PUBLIC_IP=`get_server_domain`
fi
I then added the following into "/opt/bitnami/scripts/setenv.sh"
##### SET STATIC HOST ADDRESS IP|FQDN #####
GITLABHOST="server.domain.com"
export GITLABHOST
I added this here so that it is fully integrated into Bitnami Gitlab 6.2, as to not worry about its existance. Since it is loaded by "/opt/bitnami/ctlscript.sh" (. "$INSTALLDIR/scripts/setenv.sh") before the post-start scripts. Other may want to put it somewhere else. Make sure you provide a valid host/ip address :)