2017-11-01 11:56:40 -04:00
---
comments: false
2018-05-09 07:07:11 -04:00
description: Read through the GitLab installation methods.
2019-05-23 20:48:08 -04:00
type: index
2017-11-01 11:56:40 -04:00
---
2019-07-08 04:50:38 -04:00
# Installation **(CORE ONLY)**
2014-04-24 18:48:22 -04:00
2018-11-29 15:23:50 -05:00
GitLab can be installed in most GNU/Linux distributions and in a number
2019-11-04 01:06:46 -05:00
of cloud providers. To get the best experience from GitLab, you need to balance
2018-12-06 16:29:14 -05:00
performance, reliability, ease of administration (backups, upgrades and troubleshooting),
and cost of hosting.
2018-11-20 17:28:28 -05:00
2018-12-06 16:29:14 -05:00
There are many ways you can install GitLab depending on your platform:
2019-08-27 04:44:07 -04:00
1. **Omnibus GitLab** : The official deb/rpm packages that contain a bundle of GitLab
2020-05-04 14:10:20 -04:00
and the various components it depends on, like PostgreSQL, Redis, Sidekiq, etc.
2018-12-07 15:37:26 -05:00
1. **GitLab Helm chart** : The cloud native Helm chart for installing GitLab and all
2018-12-06 16:29:14 -05:00
its components on Kubernetes.
1. **Docker** : The Omnibus GitLab packages dockerized.
1. **Source** : Install GitLab and all its components from scratch.
2018-11-20 17:28:28 -05:00
TIP: **If in doubt, choose Omnibus:**
2020-05-04 14:10:20 -04:00
The Omnibus GitLab packages are mature,
[scalable ](../administration/reference_architectures/index.md ) and are used
2018-12-06 16:29:14 -05:00
today on GitLab.com. The Helm charts are recommended for those who are familiar
2018-11-29 15:23:50 -05:00
with Kubernetes.
2018-11-20 17:28:28 -05:00
2018-12-03 12:56:25 -05:00
## Requirements
2018-11-20 17:28:28 -05:00
2020-03-26 11:08:16 -04:00
Before installing GitLab, it is of critical importance to review the system [requirements ](requirements.md ). The system requirements include details on the minimum hardware, software, database, and additional requirements to support GitLab.
2018-12-03 12:56:25 -05:00
2018-12-06 16:29:14 -05:00
## Installing GitLab using the Omnibus GitLab package (recommended)
2018-12-03 12:56:25 -05:00
2018-12-06 16:29:14 -05:00
The Omnibus GitLab package uses our official deb/rpm repositories. This is
recommended for most users.
2018-11-20 17:28:28 -05:00
2018-11-29 15:23:50 -05:00
If you need additional flexibility and resilience, we recommend deploying
2020-05-04 14:10:20 -04:00
GitLab as described in our [reference architecture documentation ](../administration/reference_architectures/index.md ).
2018-11-20 17:28:28 -05:00
2018-12-03 12:56:25 -05:00
[**> Install GitLab using the Omnibus GitLab package.** ](https://about.gitlab.com/install/ )
2018-12-06 16:29:14 -05:00
## Installing GitLab on Kubernetes via the GitLab Helm charts
2018-11-20 17:28:28 -05:00
2018-12-03 12:56:25 -05:00
NOTE: **Kubernetes experience required:**
2018-11-29 15:23:50 -05:00
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.
2018-11-20 17:28:28 -05:00
2018-12-04 03:24:09 -05:00
When installing GitLab on Kubernetes, there are some trade-offs that you
need to be aware of:
2018-11-20 17:28:28 -05:00
2018-11-29 15:23:50 -05:00
- 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.
2019-03-14 06:06:48 -04:00
- There are some feature [limitations to be aware of ](https://docs.gitlab.com/charts/#limitations ).
2018-11-20 17:28:28 -05:00
2019-03-14 06:06:48 -04:00
[**> Install GitLab on Kubernetes using the GitLab Helm charts.** ](https://docs.gitlab.com/charts/ )
2018-11-20 17:28:28 -05:00
2018-12-06 16:29:14 -05:00
## 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.** ](docker.md )
## Installing GitLab from source
2020-04-29 23:09:32 -04:00
If the Omnibus GitLab package is not available in your distribution, you can
2020-05-04 14:10:20 -04:00
install GitLab from source: Useful for unsupported systems like \*BSD. For an
2018-12-06 16:29:14 -05:00
overview of the directory structure, read the [structure documentation ](structure.md ).
[**> Install GitLab from source.** ](installation.md )
## Installing GitLab on cloud providers
2018-11-20 17:28:28 -05:00
2018-12-06 16:29:14 -05:00
GitLab can be installed on a variety of cloud providers by using any of
the above methods, provided the cloud provider supports it.
2018-11-20 17:28:28 -05:00
2018-12-06 16:29:14 -05:00
- [Install on AWS ](aws/index.md ): Install Omnibus GitLab on AWS using the community AMIs that GitLab provides.
- [Install GitLab on Google Cloud Platform ](google_cloud_platform/index.md ): Install Omnibus GitLab on a VM in GCP.
- [Install GitLab on Azure ](azure/index.md ): Install Omnibus GitLab from Azure Marketplace.
2019-05-23 20:48:08 -04:00
- [Install GitLab on OpenShift ](https://docs.gitlab.com/charts/installation/cloud/openshift.html ): Install GitLab on OpenShift by using GitLab's Helm charts.
2019-10-16 11:06:17 -04:00
- [Install GitLab on DC/OS ](https://d2iq.com/blog/gitlab-dcos ): Install GitLab on Mesosphere DC/OS via the [GitLab-Mesosphere integration ](https://about.gitlab.com/blog/2016/09/16/announcing-gitlab-and-mesosphere/ ).
- [Install GitLab on DigitalOcean ](https://about.gitlab.com/blog/2016/04/27/getting-started-with-gitlab-and-digitalocean/ ): Install Omnibus GitLab on DigitalOcean.
2018-11-29 15:23:50 -05:00
- _Testing only!_ [DigitalOcean and Docker Machine ](digitaloceandocker.md ):
2018-07-23 08:25:02 -04:00
Quickly test any version of GitLab on DigitalOcean using Docker Machine.
2020-01-06 01:08:07 -05:00
## Securing your GitLab installation
After completing your installation, check out our [recommended practices to secure your GitLab instance ](../security/README.md#securing-your-gitlab-installation ).