diff options
Diffstat (limited to 'doc/install/index.md')
-rw-r--r-- | doc/install/index.md | 143 |
1 files changed, 143 insertions, 0 deletions
diff --git a/doc/install/index.md b/doc/install/index.md new file mode 100644 index 00000000000..948365ce548 --- /dev/null +++ b/doc/install/index.md @@ -0,0 +1,143 @@ +--- +stage: Enablement +group: Distribution +info: To determine the technical writer assigned to the Stage/Group associated with this page, see https://about.gitlab.com/handbook/engineering/ux/technical-writing/#assignments +comments: false +description: Read through the GitLab installation methods. +type: index +--- + +# Installation **(FREE SELF)** + +GitLab can be installed in most GNU/Linux distributions and with several +cloud providers. To get the best experience from GitLab, you must balance +performance, reliability, ease of administration (backups, upgrades, and +troubleshooting), and the cost of hosting. + +Depending on your platform, select from the following available methods to +install GitLab: + +- [_Omnibus GitLab_](#installing-gitlab-on-linux-using-the-omnibus-gitlab-package-recommended): + The official deb/rpm packages that contain a bundle of GitLab and the + components it depends on, including PostgreSQL, Redis, and Sidekiq. +- [_GitLab Helm chart_](#installing-gitlab-on-kubernetes-via-the-gitlab-helm-charts): + The cloud native Helm chart for installing GitLab and all of its components + on Kubernetes. +- [_Docker_](#installing-gitlab-with-docker): The Omnibus GitLab packages, + Dockerized. +- [_Source_](#installing-gitlab-from-source): Install GitLab and all of its + components from scratch. +- [_Cloud provider_](#installing-gitlab-on-cloud-providers): Install directly + from platforms like AWS, Azure, and GCP. + +If you're not sure which installation method to use, we recommend you use +Omnibus GitLab. The Omnibus GitLab packages are mature, +[scalable](../administration/reference_architectures/index.md), and are used +today on GitLab.com. The Helm charts are recommended for those who are familiar +with Kubernetes. + +## Requirements + +Before you install GitLab, be sure to review the [system requirements](requirements.md). +The system requirements include details about the minimum hardware, software, +database, and additional requirements to support GitLab. + +## Installing GitLab on Linux using the Omnibus GitLab package (recommended) + +The Omnibus GitLab package uses our official deb/rpm repositories, and is +recommended for most users. + +If you need additional scale or resilience, we recommend deploying +GitLab as described in our [reference architecture documentation](../administration/reference_architectures/index.md). + +[**> Install GitLab using the Omnibus GitLab package.**](https://about.gitlab.com/install/) + +### GitLab Environment Toolkit (alpha) + +The [GitLab Environment Toolkit](https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit) provides a set of automation tools to easily deploy a [reference architecture](../administration/reference_architectures/index.md) on most major cloud providers. + +It is currently in alpha, and is not recommended for production use. + +[**> Install a GitLab reference architecture using the GitLab Environment Toolkit.**](https://gitlab.com/gitlab-org/quality/gitlab-environment-toolkit#documentation) + +## Installing GitLab on Kubernetes via the GitLab Helm charts + +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](https://docs.gitlab.com/charts/#limitations). + +Due to these trade-offs, having Kubernetes experience is a requirement for +using this method. 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. + +[**> Install GitLab on Kubernetes using the GitLab Helm charts.**](https://docs.gitlab.com/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.**](docker.md) + +## Installing GitLab from source + +If the Omnibus GitLab package isn't available for your distribution, you can +install GitLab from source. This can be useful with unsupported systems, like +\*BSD. For an overview of the directory structure, see the +[structure documentation](installation.md#gitlab-directory-structure). + +[**> Install GitLab from source.**](installation.md) + +## 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. + +- [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. +- [Install GitLab on OpenShift](https://docs.gitlab.com/charts/installation/cloud/openshift.html): Install GitLab on OpenShift by using the GitLab Helm charts. +- [Install GitLab on DigitalOcean](https://www.digitalocean.com/community/tutorials/how-to-install-and-configure-gitlab-on-ubuntu-18-04): Install Omnibus GitLab on DigitalOcean. +- _Testing only!_ [DigitalOcean and Docker Machine](digitaloceandocker.md): + Quickly test any version of GitLab on DigitalOcean using Docker Machine. + +## Next steps + +Here are a few resources you might want to check out after completing the +installation: + +- [Upload a license](../user/admin_area/license.md) or [start a free trial](https://about.gitlab.com/free-trial/): + Activate all GitLab Enterprise Edition functionality with a license. +- [Set up runners](https://docs.gitlab.com/runner/): Set up one or more GitLab + Runners, the agents that are responsible for all of the GitLab CI/CD features. +- [GitLab Pages](../administration/pages/index.md): Configure GitLab Pages to + allow hosting of static sites. +- [GitLab Registry](../administration/packages/container_registry.md): With the + GitLab Container Registry, every project can have its own space to store Docker + images. +- [Secure GitLab](../security/README.md#securing-your-gitlab-installation): + Recommended practices to secure your GitLab instance. +- [SMTP](https://docs.gitlab.com/omnibus/settings/smtp.html): Configure SMTP + for proper email notifications support. +- [LDAP](../administration/auth/ldap/index.md): Configure LDAP to be used as + an authentication mechanism for GitLab. +- [Back up and restore GitLab](../raketasks/backup_restore.md): Learn the different + ways you can back up or restore GitLab. +- [Upgrade GitLab](../update/index.md): Every 22nd of the month, a new feature-rich GitLab version + is released. Learn how to upgrade to it, or to an interim release that contains a security fix. +- [Scaling GitLab](../administration/reference_architectures/index.md): + GitLab supports several different types of clustering. +- [Advanced Search](../integration/elasticsearch.md): Leverage Elasticsearch for + faster, more advanced code search across your entire GitLab instance. +- [Geo replication](../administration/geo/index.md): + Geo is the solution for widely distributed development teams. +- [Release and maintenance policy](../policy/maintenance.md): Learn about GitLab + policies governing version naming, as well as release pace for major, minor, patch, + and security releases. +- [Pricing](https://about.gitlab.com/pricing/): Pricing for the different tiers. |