The following howto assumes that you are running Debian 7 (wheezy)
service gitlab stop
sudo apt-get install -y postgresql-9.1 postgresql-client libpq-dev
The following initial setup was taken from installation.md from the main installtion doc
# Login to PostgreSQL
sudo -u postgres psql -d template1
# Create a user for GitLab.
template1=# CREATE USER git;
# Create the GitLab production database & grant all privileges on database
template1=# CREATE DATABASE gitlabhq_production OWNER git;
# Quit the database session
template1=# \q
# Try connecting to the new database with the new user
sudo -u git -H psql -d gitlabhq_production
cd ~git/gitlab
sudo -u git -H bundle install --deployment --without development test mysql aws
Make sure you do this as root, and therefore you will also need the root password for mysql as well
mysqldump --compatible=postgresql --default-character-set=utf8 -r /tmp/gitlabhq_production.mysql -u root -p gitlabhq_production
wget https://raw.github.com/lanyrd/mysql-postgresql-converter/master/db_converter.py -O /tmp/db_converter.py
python /tmp/db_converter.py /tmp/gitlabhq_production.mysql /tmp/gitlabhq_production.psql
Note: This was tested using debian 7, with python 2.7.3
sudo -u git -H psql -d gitlabhq_production -f /tmp/gitlabhq_production.psql
cd ~git/gitlab/config
sudo -u git -H cp database.yml database.yml.backup
sudo -u git -H cp database.yml.postgresql database.yml
The defaults from the database.yml should work if you have not made any modifications to the postgres authentication. You may need to change database.yml to suite your config.
service gitlab start
service nginx restart
Check if GitLab and its environment are configured correctly:
cd ~git/gitlab
sudo -u git -H bundle exec rake gitlab:env:info RAILS_ENV=production
To make sure you didn't miss anything run a more thorough check with:
cd ~git/gitlab
sudo -u git -H bundle exec rake gitlab:check RAILS_ENV=production