User Tools

Site Tools


computing:gitlab-ce

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
computing:gitlab-ce [2020/01/02 07:14] oemb1905computing:gitlab-ce [2024/02/17 19:52] (current) oemb1905
Line 1: Line 1:
- 
 ------------------------------------------- -------------------------------------------
   * **gitlab-ce**    * **gitlab-ce** 
   * **Jonathan Haack**   * **Jonathan Haack**
   * **Haack's Networking**   * **Haack's Networking**
-  * **netcmnd@jonathanhaack.com** +  * **webmaster@haacksnetworking.org** 
  
 ------------------------------------------- -------------------------------------------
Line 20: Line 19:
   * Letsencrypt, using certbot, is established and working   * Letsencrypt, using certbot, is established and working
  
-If you are missing some of these pre-requisites, please visit the [[https://wiki.haacksnetworking.com/doku.php?id=computing:apachesurvival|Apache Survival]] tutorial I created which covers these topics.  +If you are missing some of these pre-requisites, please visit the [[computing:apachesurvival]] tutorial I created which covers these topics.  
  
 The first thing you need to do is download and run the script that gitlab provides.  This script will allow you to access the repositories and download gitlab-ce. The first thing you need to do is download and run the script that gitlab provides.  This script will allow you to access the repositories and download gitlab-ce.
Line 49: Line 48:
 Ok, now that the configuration file is set up, let's make sure that your Apache Web Server has appropriate configuration files.  There is a [[https://gitlab.com/gitlab-org/gitlab-recipes|Gitlab Recipes]] repository dedicated to getting Gitlab-CE up on non-nginx web servers.  Always check the git repo above for the latest recipes, the ones I am using are currently here (2020): Ok, now that the configuration file is set up, let's make sure that your Apache Web Server has appropriate configuration files.  There is a [[https://gitlab.com/gitlab-org/gitlab-recipes|Gitlab Recipes]] repository dedicated to getting Gitlab-CE up on non-nginx web servers.  Always check the git repo above for the latest recipes, the ones I am using are currently here (2020):
      
-[[https://repo.haacksnetworking.com/oemb1905/haackingclub/blob/master/apache/virtualhosts/repo.haacksnetworking.com-ssl.conf|https.conf]] +[[https://repo.haacksnetworking.org/haacknet/haackingclub/-/tree/main/configs/webservers/apache|Reverse Proxy Virtual Host Configs for Apache2]]
-[[https://repo.haacksnetworking.com/oemb1905/haackingclub/blob/master/apache/virtualhosts/repo.haacksnetworking.com.conf|http.conf]]+
  
 These both work in production, so feel free to use and share.  Make sure you have appropriate apache mods enabled: These both work in production, so feel free to use and share.  Make sure you have appropriate apache mods enabled:
Line 67: Line 65:
   sudo systemctl restart gitlab-runsvdir.service   sudo systemctl restart gitlab-runsvdir.service
      
-I do not use the default Let's Encrypt tool in ''gitlab.rb'' because it fails.  I work around this issue by building a basic ''.html'' website first, encrypting that, and then changing the configs to reverse proxies specified above.  See the Apache Survival link above for more information.+I do not use the default Let's Encrypt tool in ''gitlab.rb'' because it fails.  I work around this issue by building a basic ''.html'' website first, encrypting that, and then changing the configs to reverse proxies specified above.   
 + 
 +------------------------------------------- 
 + 
 +Need to migrate your gitlab-ce instance to a new host?  First, prepare the backups and configs on the old host and copy those the new host. 
 + 
 +  sudo gitlab-ctl stop unicorn 
 +  sudo gitlab-ctl stop sidekiq 
 +  sudo gitlab-rake gitlab:backup:create 
 +  mkdir gitlab-old-host 
 +  sudo cp /etc/gitlab/gitlab.rb /root/gitlab-old-host/ 
 +  sudo cp /etc/gitlab/gitlab-secrets.json /root/gitlab-old-host/ 
 +  sudo cp -R /etc/gitlab/trusted-certs/ /root/gitlab-old-host/ 
 +  sudo cp /var/opt/gitlab/backups/XXXXXXXXXX_gitlab_backup.tar /root/gitlab-old-host/ 
 +  scp -r ~/gitlab-old-host user@10.xx.xx.x: 
 +   
 +Now that you have copied those configs and files over the new host, it is time to restore the new host with those backups.  Warning:  I am assuming you already followed the above initial setup steps on the new host that are detailed above, and have left that instance vanilla.  Once that new install is running and accessible and vanilla (no changes), do the following. 
 + 
 +  sudo cp gitlab-old-host/gitlab-old.rb /etc/gitlab/gitlab.rb 
 +  sudo cp -r gitlab-old-host/trusted-certs /etc/gitlab/trusted-certs 
 +  sudo gitlab-ctl reconfigure 
 +  sudo gitlab-ctl stop unicorn 
 +  sudo gitlab-ctl stop sidekiq 
 +  sudo cp gitlab-old/XXXXXXXXXX_gitlab_backup.tar /var/opt/gitlab/backups/ 
 +  sudo chown git:git /var/opt/gitlab/backups/XXXXXXXXXX_gitlab_backup.tar 
 +  sudo gitlab-rake gitlab:backup:restore BACKUP=XXXXXXXXX 
 +  sudo gitlab-ctl start 
 +  sudo gitlab-rake gitlab:check SANITIZE=true 
 +   
 +Navigate to your web browser, and all should be restored ;)
  
- --- //[[jonathan@haacksnetworking.com|oemb1905]] 2020/01/01 23:54//+ --- //[[webmaster@haacksnetworking.org|oemb1905]] 2024/02/17 19:48//
computing/gitlab-ce.1577949287.txt.gz · Last modified: 2020/01/02 07:14 by oemb1905