summaryrefslogtreecommitdiff
path: root/doc/install/installation.md
diff options
context:
space:
mode:
Diffstat (limited to 'doc/install/installation.md')
-rw-r--r--doc/install/installation.md60
1 files changed, 39 insertions, 21 deletions
diff --git a/doc/install/installation.md b/doc/install/installation.md
index bb0bffd967a..a8e498674a6 100644
--- a/doc/install/installation.md
+++ b/doc/install/installation.md
@@ -45,12 +45,13 @@ If the highest number stable branch is unclear, check the [GitLab blog](https://
## Software requirements
-| Software | Minimum version | Notes |
-|:-------------------|:----------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
-| [Ruby](#2-ruby) | `3.0.x` | From GitLab 15.10, Ruby 3.0 is required. You must use the standard MRI implementation of Ruby. We love [JRuby](https://www.jruby.org/) and [Rubinius](https://github.com/rubinius/rubinius#the-rubinius-language-platform), but GitLab needs several Gems that have native extensions. |
-| [Go](#3-go) | `1.18.x` | From GitLab 15.6, Go 1.18 or later is required. |
-| [Git](#git) | `2.38.x` | From GitLab 15.8, Git 2.38.x and later is required. It's highly recommended that you use the [Git version provided by Gitaly](#git). |
-| [Node.js](#4-node) | `16.15.0` | From GitLab 15.7, Node.js 16.15.0 or later is required. |
+| Software | Minimum version | Notes |
+|:------------------------|:----------------|:---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
+| [Ruby](#2-ruby) | `3.0.x` | From GitLab 15.10, Ruby 3.0 is required. You must use the standard MRI implementation of Ruby. We love [JRuby](https://www.jruby.org/) and [Rubinius](https://github.com/rubinius/rubinius#the-rubinius-language-platform), but GitLab needs several Gems that have native extensions. |
+| [RubyGems](#3-rubygems) | `3.4.x` | A specific RubyGems version is not fully needed, but it's recommended to update so you can enjoy some known performance improvements. |
+| [Go](#4-go) | `1.18.x` | From GitLab 15.6, Go 1.18 or later is required. |
+| [Git](#git) | `2.38.x` | From GitLab 15.8, Git 2.38.x and later is required. It's highly recommended that you use the [Git version provided by Gitaly](#git). |
+| [Node.js](#5-node) | `16.15.0` | From GitLab 15.7, Node.js 16.15.0 or later is required. |
## GitLab directory structure
@@ -86,13 +87,14 @@ The GitLab installation consists of setting up the following components:
1. [Packages and dependencies](#1-packages-and-dependencies).
1. [Ruby](#2-ruby).
-1. [Go](#3-go).
-1. [Node](#4-node).
-1. [System users](#5-system-users).
-1. [Database](#6-database).
-1. [Redis](#7-redis).
-1. [GitLab](#8-gitlab).
-1. [NGINX](#9-nginx).
+1. [RubyGems](#3-rubygems).
+1. [Go](#4-go).
+1. [Node](#5-node).
+1. [System users](#6-system-users).
+1. [Database](#7-database).
+1. [Redis](#8-redis).
+1. [GitLab](#9-gitlab).
+1. [NGINX](#10-nginx).
## 1. Packages and dependencies
@@ -220,7 +222,23 @@ instructions are designed to install Ruby from the official source code.
[Install Ruby](https://www.ruby-lang.org/en/documentation/installation/).
-## 3. Go
+## 3. RubyGems
+
+Sometimes, a newer version of RubyGems is required than the one bundled with Ruby.
+
+To update to a specific version:
+
+```shell
+gem update --system 3.4.12
+```
+
+Or the latest version:
+
+```shell
+gem update --system
+```
+
+## 4. Go
GitLab has several daemons written in Go. To install
GitLab we need a Go compiler. The instructions below assume you use 64-bit
@@ -238,7 +256,7 @@ sudo ln -sf /usr/local/go/bin/{go,gofmt} /usr/local/bin/
rm go1.18.8.linux-amd64.tar.gz
```
-## 4. Node
+## 5. Node
GitLab requires the use of Node to compile JavaScript
assets, and Yarn to manage JavaScript dependencies. The current minimum
@@ -262,7 +280,7 @@ npm install --global yarn
Visit the official websites for [node](https://nodejs.org/en/download/package-manager/) and [yarn](https://classic.yarnpkg.com/en/docs/install/) if you have any trouble with these steps.
-## 5. System users
+## 6. System users
Create a `git` user for GitLab:
@@ -270,7 +288,7 @@ Create a `git` user for GitLab:
sudo adduser --disabled-login --gecos 'GitLab' git
```
-## 6. Database
+## 7. Database
NOTE:
In GitLab 12.1 and later, only PostgreSQL is supported. In GitLab 14.0 and later, we [require PostgreSQL 12+](requirements.md#postgresql-requirements).
@@ -403,7 +421,7 @@ In GitLab 12.1 and later, only PostgreSQL is supported. In GitLab 14.0 and later
gitlabhq_production> \q
```
-## 7. Redis
+## 8. Redis
See the [requirements page](requirements.md#redis-versions) for the minimum
Redis requirements.
@@ -486,7 +504,7 @@ fi
sudo service redis-server restart
```
-## 8. GitLab
+## 9. GitLab
```shell
# We'll install GitLab into the home directory of the user "git"
@@ -911,7 +929,7 @@ sudo systemctl start gitlab.target
sudo service gitlab start
```
-## 9. NGINX
+## 10. NGINX
NGINX is the officially supported web server for GitLab. If you cannot or do not want to use NGINX as your web server, see [GitLab recipes](https://gitlab.com/gitlab-org/gitlab-recipes/).
@@ -1156,7 +1174,7 @@ prometheus:
If you see this message when attempting to clone a repository hosted by GitLab,
this is likely due to an outdated NGINX or Apache configuration, or a missing or
misconfigured GitLab Workhorse instance. Double-check that you've
-[installed Go](#3-go), [installed GitLab Workhorse](#install-gitlab-workhorse),
+[installed Go](#4-go), [installed GitLab Workhorse](#install-gitlab-workhorse),
and correctly [configured NGINX](#site-configuration).
### `google-protobuf` "LoadError: /lib/x86_64-linux-gnu/libc.so.6: version 'GLIBC_2.14' not found"