Commit 3fb996a39fc543f3afbd5cf67149ee613daf410e

Authored by Jacob Vosmaer
1 parent 41c2cd1b

Convert to omnibus-gitlab in-place

Showing 1 changed file with 63 additions and 1 deletions   Show diff stats
doc/update.md
... ... @@ -108,11 +108,73 @@ Please be advised that you lose your settings in files such as gitlab.yml, unico
108 108 You will have to [configure those settings in /etc/gitlab/gitlab.rb](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configuration).
109 109 SMTP is not supported in omnibus-gitlab at this time.
110 110  
111   -### Upgrading from non-Omnibus PostgreSQL to an Omnibus installation
  111 +### Upgrading from non-Omnibus PostgreSQL to an Omnibus installation using a backup
112 112 Upgrade by [creating a backup from the non-Omnibus install](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/raketasks/backup_restore.md#create-a-backup-of-the-gitlab-system) and [restoring this in the Omnibus installation](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#restoring-an-application-backup).
113 113 Please ensure you are using exactly equal versions of GitLab (for example 6.7.3) when you do this.
114 114 You might have to upgrade your non-Omnibus installation before creating the backup to achieve this.
115 115  
  116 +### Upgrading from non-Omnibus PostgreSQL to an Omnibus installation in-place
  117 +It is also possible to upgrade a source GitLab installation to omnibus-gitlab
  118 +in-place. Below we assume you are using PostgreSQL on Ubuntu, and that you
  119 +have an omnibus-gitlab package matching your current GitLab version. We also
  120 +assume that your source installation of GitLab uses all the default paths and
  121 +users.
  122 +
  123 +First, stop and disable GitLab, Redis and Nginx.
  124 +
  125 +```
  126 +# Ubuntu
  127 +sudo service gitlab stop
  128 +sudo update-rc.d gitlab disable
  129 +
  130 +sudo service nginx stop
  131 +sudo update-rc.d nginx disable
  132 +
  133 +sudo service redis-server stop
  134 +sudo update-rc.d redis-server disable
  135 +```
  136 +
  137 +Next, create a `gitlab.rb` file for your new setup.
  138 +
  139 +```
  140 +sudo mkdir /etc/gitlab
  141 +sudo tee -a /etc/gitlab/gitlab.rb <<'EOF'
  142 +# Use your own GitLab URL here
  143 +external_url 'http://gitlab.example.com'
  144 +
  145 +# We assume your repositories are in /home/git/repositories (default for source installs)
  146 +git_data_dir '/home/git'
  147 +
  148 +# Re-use the Postgres that is already running on your system
  149 +postgresql['enable'] = false
  150 +# This db_host setting is for Debian Postgres packages
  151 +gitlab_rails['db_host'] = '/var/run/postgresql/'
  152 +gitlab_rails['db_port'] = 5432
  153 +# We assume you called the GitLab DB user 'git'
  154 +gitlab_rails['db_username'] = 'git'
  155 +EOF
  156 +```
  157 +
  158 +Now install the omnibus-gitlab package and run `sudo gitlab-ctl reconfigure`.
  159 +
  160 +You are not done yet! The `gitlab-ctl reconfigure` run has changed the home
  161 +directory of the git user, so OpenSSH can no longer find its authorized_keys
  162 +file. Rebuild the keys file with the following command:
  163 +
  164 +```
  165 +sudo gitlab-rake gitlab:shell:setup
  166 +```
  167 +
  168 +You should now have HTTP and SSH access to your GitLab server with the
  169 +repositories and users that were there before.
  170 +
  171 +If you can log into the GitLab web interface, the next step is to reboot your
  172 +server to make sure none of the old services interferes with omnibus-gitlab.
  173 +
  174 +If you are using special features such as LDAP you will have to put your
  175 +settings in gitlab.rb; see the [omnibus-gitlab
  176 +README](https://gitlab.com/gitlab-org/omnibus-gitlab/blob/master/README.md#configuration).
  177 +
116 178 ### Upgrading from non-Omnibus MySQL to an Omnibus installation (version 6.8+)
117 179 Unlike the previous chapter, the non-Omnibus installation is using MySQL while the Omnibus installation is using PostgreSQL.
118 180  
... ...