gitlab-org--gitlab-foss/doc/install
Takuya Noguchi e4bd474126 Avoid installing Bundler 2.0 or higher
to always use Bundler 1.x on source install at this moment

Signed-off-by: Takuya Noguchi <takninnovationresearch@gmail.com>
2019-01-22 16:27:55 +09:00
..
aws Compress all images under doc/ 2018-12-18 11:09:04 +01:00
azure Eliminate duplicated words 2018-11-22 15:44:32 +09:00
google_cloud_platform
kubernetes Avoid redirected Geo links 2019-01-04 14:35:38 +10:00
openshift_and_gitlab Mark references to openshift template as deprecated 2019-01-04 13:58:19 +00:00
database_mysql.md Docs: Cleaning up various links 2018-11-21 23:15:01 +00:00
digitaloceandocker.md Improve markdown and fix links that don't render correctly 2018-11-01 12:57:41 +10:00
docker.md Fix list that doesn't render properly 2018-12-05 16:16:14 +10:00
google-protobuf.md
installation.md Avoid installing Bundler 2.0 or higher 2019-01-22 16:27:55 +09:00
README.md 'of installing' -> 'for installing' 2018-12-07 20:37:26 +00:00
redis.md
relative_url.md Correct grammar (setup to set-up) in Docs 2018-09-21 16:29:14 +02:00
requirements.md Fix zero downtime link in requirements 2018-11-18 12:44:48 +00:00
structure.md Make unordered lists conform to styleguide 2019-01-08 12:21:09 +10:00

comments description
false Read through the GitLab installation methods.

Installation

GitLab can be installed in most GNU/Linux distributions and in a number of cloud providers. To get the best experience from GitLab you need to balance performance, reliability, ease of administration (backups, upgrades and troubleshooting), and cost of hosting.

There are many ways you can install GitLab depending on your platform:

  1. Omnibus Gitlab: The official deb/rpm packages that contain a bundle of GitLab and the various components it depends on like PostgreSQL, Redis, Sidekiq, etc.
  2. GitLab Helm chart: The cloud native Helm chart for installing GitLab and all its components on Kubernetes.
  3. Docker: The Omnibus GitLab packages dockerized.
  4. Source: Install GitLab and all its components from scratch.

TIP: If in doubt, choose Omnibus: The Omnibus GitLab packages are mature, scalable, support high availability and are used today on GitLab.com. The Helm charts are recommended for those who are familiar with Kubernetes.

Requirements

Before installing GitLab, make sure to check the requirements documentation which includes useful information on the supported Operating Systems as well as the hardware requirements.

The Omnibus GitLab package uses our official deb/rpm repositories. This is recommended for most users.

If you need additional flexibility and resilience, we recommend deploying GitLab as described in our High Availability documentation.

> Install GitLab using the Omnibus GitLab package.

Installing GitLab on Kubernetes via the GitLab Helm charts

NOTE: Kubernetes experience required: We recommend being familiar with Kubernetes before using it to deploy GitLab in production. The methods for management, observability, and some concepts are different than traditional deployments.

When installing GitLab on Kubernetes, there are some trade-offs that you need to be aware of:

  • Administration and troubleshooting requires Kubernetes knowledge.
  • It can be more expensive for smaller installations. The default installation requires more resources than a single node Omnibus deployment, as most services are deployed in a redundant fashion.
  • There are some feature limitations to be aware of.

> Install GitLab on Kubernetes using the GitLab Helm charts.

Installing GitLab with Docker

GitLab maintains a set of official Docker images based on the Omnibus GitLab package.

> Install GitLab using the official GitLab Docker images.

Installing GitLab from source

If the GitLab Omnibus package is not available in your distribution, you can install GitLab from source: Useful for unsupported systems like *BSD. For an overview of the directory structure, read the structure documentation.

> Install GitLab from source.

Installing GitLab on cloud providers

GitLab can be installed on a variety of cloud providers by using any of the above methods, provided the cloud provider supports it.