Commit 43f3274e authored by GitLab Bot's avatar GitLab Bot

Automatic merge of gitlab-org/gitlab-ce master

parents aa67ba6f 54cc3b64
--- ---
comments: false comments: false
description: Read through the GitLab installation methods. description: Read through the GitLab installation methods.
type: index
--- ---
# Installation **[CORE ONLY]** # Installation **[CORE ONLY]**
...@@ -81,7 +82,7 @@ the above methods, provided the cloud provider supports it. ...@@ -81,7 +82,7 @@ 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 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 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 Azure](azure/index.md): Install Omnibus GitLab from Azure Marketplace.
- [Install GitLab on OpenShift](openshift_and_gitlab/index.md): Install GitLab using the Docker image on OpenShift. - [Install GitLab on OpenShift](https://docs.gitlab.com/charts/installation/cloud/openshift.html): Install GitLab on OpenShift by using GitLab's Helm charts.
- [Install GitLab on DC/OS](https://mesosphere.com/blog/gitlab-dcos/): Install GitLab on Mesosphere DC/OS via the [GitLab-Mesosphere integration](https://about.gitlab.com/2016/09/16/announcing-gitlab-and-mesosphere/). - [Install GitLab on DC/OS](https://mesosphere.com/blog/gitlab-dcos/): Install GitLab on Mesosphere DC/OS via the [GitLab-Mesosphere integration](https://about.gitlab.com/2016/09/16/announcing-gitlab-and-mesosphere/).
- [Install GitLab on DigitalOcean](https://about.gitlab.com/2016/04/27/getting-started-with-gitlab-and-digitalocean/): Install Omnibus GitLab on DigitalOcean. - [Install GitLab on DigitalOcean](https://about.gitlab.com/2016/04/27/getting-started-with-gitlab-and-digitalocean/): Install Omnibus GitLab on DigitalOcean.
- _Testing only!_ [DigitalOcean and Docker Machine](digitaloceandocker.md): - _Testing only!_ [DigitalOcean and Docker Machine](digitaloceandocker.md):
......
---
type: howto
---
# Installing GitLab HA on Amazon Web Services (AWS) # Installing GitLab HA on Amazon Web Services (AWS)
This page offers a walkthrough of a common HA (Highly Available) configuration This page offers a walkthrough of a common HA (Highly Available) configuration
...@@ -658,3 +662,15 @@ to request additional material: ...@@ -658,3 +662,15 @@ to request additional material:
- [Upload a license](../../user/admin_area/license.md): - [Upload a license](../../user/admin_area/license.md):
Activate all GitLab Enterprise Edition functionality with a license. Activate all GitLab Enterprise Edition functionality with a license.
- [Pricing](https://about.gitlab.com/pricing): Pricing for the different tiers. - [Pricing](https://about.gitlab.com/pricing): Pricing for the different tiers.
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
--- ---
description: 'Learn how to spin up a description: 'Learn how to spin up a pre-configured GitLab VM on Microsoft Azure.'
pre-configured GitLab VM on Microsoft Azure and have your very own private GitLab instance up and running in around 30 minutes.' type: howto
--- ---
# Install GitLab on Microsoft Azure # Install GitLab on Microsoft Azure
> _This article was originally written by Dave Wentzel and [published on the GitLab Blog][Original-Blog-Post]._
>
> _Ported to the GitLab documentation and updated on 2017-08-24 by [Ian Scorer](https://gitlab.com/iscorer)._
Azure is Microsoft's business cloud and GitLab is a pre-configured offering on the Azure Marketplace. Azure is Microsoft's business cloud and GitLab is a pre-configured offering on the Azure Marketplace.
Hopefully, you aren't surprised to hear that Microsoft and Azure have embraced open source software Hopefully, you aren't surprised to hear that Microsoft and Azure have embraced open source software
like Ubuntu, Red Hat Enterprise Linux, and of course - GitLab! This means that you can spin up a like Ubuntu, Red Hat Enterprise Linux, and of course - GitLab! This means that you can spin up a
...@@ -444,3 +440,15 @@ Check out our other [Technical Articles][GitLab-Technical-Articles] or browse th ...@@ -444,3 +440,15 @@ Check out our other [Technical Articles][GitLab-Technical-Articles] or browse th
[SSH]: https://en.wikipedia.org/wiki/Secure_Shell [SSH]: https://en.wikipedia.org/wiki/Secure_Shell
[PuTTY]: http://www.putty.org/ [PuTTY]: http://www.putty.org/
[Using-SSH-In-Putty]: https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty- [Using-SSH-In-Putty]: https://mediatemple.net/community/products/dv/204404604/using-ssh-in-putty-
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
---
type: reference
---
# Database MySQL # Database MySQL
NOTE: **Note:** NOTE: **Note:**
...@@ -301,3 +305,15 @@ Details can be found in the [PostgreSQL][postgres-text-type] and ...@@ -301,3 +305,15 @@ Details can be found in the [PostgreSQL][postgres-text-type] and
[postgres-text-type]: http://www.postgresql.org/docs/9.2/static/datatype-character.html [postgres-text-type]: http://www.postgresql.org/docs/9.2/static/datatype-character.html
[ce-38152]: https://gitlab.com/gitlab-org/gitlab-ce/issues/38152 [ce-38152]: https://gitlab.com/gitlab-org/gitlab-ce/issues/38152
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
---
type: howto
---
# Digital Ocean and Docker Machine test environment # Digital Ocean and Docker Machine test environment
CAUTION: **Caution:** This guide is for quickly testing different versions of GitLab and not
This guide is for quickly testing different versions of GitLab and not recommended for ease of recommended for ease of future upgrades or keeping the data you create.
future upgrades or keeping the data you create.
## Initial setup ## Initial setup
...@@ -28,7 +31,7 @@ locally on either macOS or Linux. ...@@ -28,7 +31,7 @@ locally on either macOS or Linux.
NOTE: **Note:** NOTE: **Note:**
The rest of the steps are identical for macOS and Linux. The rest of the steps are identical for macOS and Linux.
### Create new docker host ## Create new docker host
1. Login to Digital Ocean. 1. Login to Digital Ocean.
1. Generate a new API token at <https://cloud.digitalocean.com/settings/api/tokens>. 1. Generate a new API token at <https://cloud.digitalocean.com/settings/api/tokens>.
...@@ -60,9 +63,9 @@ The rest of the steps are identical for macOS and Linux. ...@@ -60,9 +63,9 @@ The rest of the steps are identical for macOS and Linux.
Resource: <https://docs.docker.com/machine/drivers/digital-ocean/>. Resource: <https://docs.docker.com/machine/drivers/digital-ocean/>.
### Creating GitLab test instance ## Creating GitLab test instance
#### Connect your shell to the new machine ### Connect your shell to the new machine
In this example we'll create a GitLab EE 8.10.8 instance. In this example we'll create a GitLab EE 8.10.8 instance.
...@@ -74,7 +77,7 @@ eval "$(docker-machine env gitlab-test-env-do)" ...@@ -74,7 +77,7 @@ eval "$(docker-machine env gitlab-test-env-do)"
You can add this to your `~/.bash_profile` file to ensure the `docker` client uses the `gitlab-test-env-do` docker host You can add this to your `~/.bash_profile` file to ensure the `docker` client uses the `gitlab-test-env-do` docker host
#### Create new GitLab container ### Create new GitLab container
- HTTP port: `8888` - HTTP port: `8888`
- SSH port: `2222` - SSH port: `2222`
...@@ -83,7 +86,7 @@ You can add this to your `~/.bash_profile` file to ensure the `docker` client us ...@@ -83,7 +86,7 @@ You can add this to your `~/.bash_profile` file to ensure the `docker` client us
- Container name: `gitlab-test-8.10` - Container name: `gitlab-test-8.10`
- GitLab version: **EE** `8.10.8-ee.0` - GitLab version: **EE** `8.10.8-ee.0`
##### Set up container settings #### Set up container settings
```sh ```sh
export SSH_PORT=2222 export SSH_PORT=2222
...@@ -92,7 +95,7 @@ export VERSION=8.10.8-ee.0 ...@@ -92,7 +95,7 @@ export VERSION=8.10.8-ee.0
export NAME=gitlab-test-8.10 export NAME=gitlab-test-8.10
``` ```
##### Create container #### Create container
```sh ```sh
docker run --detach \ docker run --detach \
...@@ -103,9 +106,9 @@ docker run --detach \ ...@@ -103,9 +106,9 @@ docker run --detach \
gitlab/gitlab-ee:$VERSION gitlab/gitlab-ee:$VERSION
``` ```
#### Connect to the GitLab container ### Connect to the GitLab container
##### Retrieve the docker host IP #### Retrieve the docker host IP
```sh ```sh
docker-machine ip gitlab-test-env-do docker-machine ip gitlab-test-env-do
...@@ -114,7 +117,7 @@ docker-machine ip gitlab-test-env-do ...@@ -114,7 +117,7 @@ docker-machine ip gitlab-test-env-do
Browse to: <http://192.168.151.134:8888/>. Browse to: <http://192.168.151.134:8888/>.
##### Execute interactive shell/edit configuration #### Execute interactive shell/edit configuration
```sh ```sh
docker exec -it $NAME /bin/bash docker exec -it $NAME /bin/bash
...@@ -126,8 +129,20 @@ root@192:/# vi /etc/gitlab/gitlab.rb ...@@ -126,8 +129,20 @@ root@192:/# vi /etc/gitlab/gitlab.rb
root@192:/# gitlab-ctl reconfigure root@192:/# gitlab-ctl reconfigure
``` ```
#### Resources ### Resources
- <https://docs.gitlab.com/omnibus/docker/>. - <https://docs.gitlab.com/omnibus/docker/>.
- <https://docs.docker.com/machine/get-started/>. - <https://docs.docker.com/machine/get-started/>.
- <https://docs.docker.com/machine/reference/ip/>. - <https://docs.docker.com/machine/reference/ip/>.
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
---
type: index
---
# Install GitLab with Docker # Install GitLab with Docker
[Docker](https://www.docker.com) and container technology have been revolutionizing the software world for the past few years. They combine the performance and efficiency of native execution with the abstraction, security, and immutability of virtualization. [Docker](https://www.docker.com) and container technology have been revolutionizing the software world for the past few years. They combine the performance and efficiency of native execution with the abstraction, security, and immutability of virtualization.
...@@ -16,4 +20,4 @@ A [complete usage guide](https://docs.gitlab.com/omnibus/docker/) to these image ...@@ -16,4 +20,4 @@ A [complete usage guide](https://docs.gitlab.com/omnibus/docker/) to these image
## Cloud native images ## Cloud native images
GitLab is also working towards a [cloud native set of containers](https://gitlab.com/charts/helm.gitlab.io#docker-container-images), with a single image for each component service. We intend for these images to eventually replace the [Omnibus GitLab based images](#omnibus-gitlab-based-images). GitLab is also working towards a [cloud native set of containers](https://docs.gitlab.com/charts/), with a single image for each component service. We intend for these images to eventually replace the [Omnibus GitLab based images](#omnibus-gitlab-based-images).
# Installing a locally compiled google-protobuf gem ---
redirect_to: 'installation.md#google-protobuf-loaderror-libx86_64-linux-gnulibcso6-version-glibc_214-not-found'
---
First we must find the exact version of google-protobuf that your This document was moved to [another location](installation.md#google-protobuf-loaderror-libx86_64-linux-gnulibcso6-version-glibc_214-not-found).
GitLab installation requires.
cd /home/git/gitlab
# Only one of the following two commands will print something. It
# will look like: * google-protobuf (3.2.0)
bundle list | grep google-protobuf
bundle check | grep google-protobuf
Below we use `3.2.0` as an example. Replace it with the version number
you found above.
cd /home/git/gitlab
sudo -u git -H gem install google-protobuf --version 3.2.0 --platform ruby
Finally, you can test whether google-protobuf loads correctly. The
following should print 'OK'.
sudo -u git -H bundle exec ruby -rgoogle/protobuf -e 'puts :OK'
If the `gem install` command fails you may need to install developer
tools. On Debian: `apt-get install build-essential libgmp-dev`, on
Centos/RedHat `yum groupinstall 'Development Tools'`.
--- ---
description: 'Learn how to install a GitLab instance on Google Cloud Platform.' description: 'Learn how to install a GitLab instance on Google Cloud Platform.'
type: howto
--- ---
# Installing GitLab on Google Cloud Platform # Installing GitLab on Google Cloud Platform
![GCP landing page](img/gcp_landing.png) This guide will help you install GitLab on a [Google Cloud Platform (GCP)][gcp] instance.
Getting started with GitLab on a [Google Cloud Platform (GCP)][gcp] instance is quick and easy. NOTE: **Alternative installation method:**
NOTE: **Note:**
Google provides a whitepaper for [deploying production-ready GitLab on Google provides a whitepaper for [deploying production-ready GitLab on
Google Kubernetes Engine](https://cloud.google.com/solutions/deploying-production-ready-gitlab-on-gke), Google Kubernetes Engine](https://cloud.google.com/solutions/deploying-production-ready-gitlab-on-gke),
including all steps and external resource configuration. These are an alternative to using a GCP VM, and use including all steps and external resource configuration. These are an alternative to using a GCP VM, and use
...@@ -26,10 +25,9 @@ Once you have performed those two steps, you can [create a VM](#creating-the-vm) ...@@ -26,10 +25,9 @@ Once you have performed those two steps, you can [create a VM](#creating-the-vm)
## Creating the VM ## Creating the VM
To deploy GitLab on GCP you need to follow five simple steps: To deploy GitLab on GCP you first need to create a virtual machine:
1. Go to <https://console.cloud.google.com/compute/instances> and login with your Google credentials.
1. Go to <https://console.cloud.google.com/compute/instances> and log in with your Google credentials.
1. Click on **Create** 1. Click on **Create**
![Search for GitLab](img/launch_vm.png) ![Search for GitLab](img/launch_vm.png)
...@@ -142,3 +140,15 @@ Kerberos, etc. Here are some documents you might be interested in reading: ...@@ -142,3 +140,15 @@ Kerberos, etc. Here are some documents you might be interested in reading:
[ssh]: https://cloud.google.com/compute/docs/instances/connecting-to-instance "Connecting to Linux Instances" [ssh]: https://cloud.google.com/compute/docs/instances/connecting-to-instance "Connecting to Linux Instances"
[omni-smtp]: https://docs.gitlab.com/omnibus/settings/smtp.html#smtp-settings "Omnibus GitLab SMTP settings" [omni-smtp]: https://docs.gitlab.com/omnibus/settings/smtp.html#smtp-settings "Omnibus GitLab SMTP settings"
[omni-ssl]: https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https "Omnibus GitLab enable HTTPS" [omni-ssl]: https://docs.gitlab.com/omnibus/settings/nginx.html#enable-https "Omnibus GitLab enable HTTPS"
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
---
type: howto
---
# Installation from source # Installation from source
This is the official installation guide to set up a production GitLab server
using the source files. To set up a **development installation** or for many
other installation options, see the [main installation page](index.md).
It was created for and tested on **Debian/Ubuntu** operating systems.
Read [requirements.md](requirements.md) for hardware and operating system requirements.
If you want to install on RHEL/CentOS, we recommend using the
[Omnibus packages](https://about.gitlab.com/downloads/).
This guide is long because it covers many cases and includes all commands you
need, this is [one of the few installation scripts that actually works out of the box](https://twitter.com/robinvdvleuten/status/424163226532986880).
The following steps have been known to work. **Use caution when you deviate**
from this guide. Make sure you don't violate any assumptions GitLab makes about
its environment. For example, many people run into permission problems because
they changed the location of directories or run services as the wrong user.
If you find a bug/error in this guide, **submit a merge request**
following the
[contributing guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md).
## Consider the Omnibus package installation ## Consider the Omnibus package installation
Since an installation from source is a lot of work and error prone we strongly recommend the fast and reliable [Omnibus package installation](https://about.gitlab.com/downloads/) (deb/rpm). Since an installation from source is a lot of work and error prone we strongly recommend the fast and reliable [Omnibus package installation](https://about.gitlab.com/downloads/) (deb/rpm).
...@@ -12,26 +35,42 @@ After this termination Runit will detect Sidekiq is not running and will start i ...@@ -12,26 +35,42 @@ After this termination Runit will detect Sidekiq is not running and will start i
Since installations from source don't use Runit for process supervision, Sidekiq Since installations from source don't use Runit for process supervision, Sidekiq
can't be terminated and its memory usage will grow over time. can't be terminated and its memory usage will grow over time.
## Select Version to Install ## Select version to install
Make sure you view [this installation guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md) from the branch (version) of GitLab you would like to install (e.g., `11-7-stable`). Make sure you view [this installation guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/doc/install/installation.md) from the branch (version) of GitLab you would like to install (e.g., `11-7-stable`).
You can select the branch in the version dropdown in the top left corner of GitLab (below the menu bar). You can select the branch in the version dropdown in the top left corner of GitLab (below the menu bar).
If the highest number stable branch is unclear, check the [GitLab blog](https://about.gitlab.com/blog/) for installation guide links by version. If the highest number stable branch is unclear, check the [GitLab blog](https://about.gitlab.com/blog/) for installation guide links by version.
## Important Notes ## GitLab directory structure
This guide is long because it covers many cases and includes all commands you need, this is [one of the few installation scripts that actually works out of the box](https://twitter.com/robinvdvleuten/status/424163226532986880). This is the main directory structure you will end up with following the instructions
of this page:
This installation guide was created for and tested on **Debian/Ubuntu** operating systems. Read [requirements.md](requirements.md) for hardware and operating system requirements. If you want to install on RHEL/CentOS, we recommend using the [Omnibus packages](https://about.gitlab.com/downloads/). ```
|-- home
| |-- git
| |-- .ssh
| |-- gitlab
| |-- gitlab-shell
| |-- repositories
```
This is the official installation guide to set up a production server. To set up a **development installation** or for many other installation options, see [the installation section of the README](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/README.md#installation). - `/home/git/.ssh` - Contains OpenSSH settings. Specifically the `authorized_keys`
file managed by gitlab-shell.
- `/home/git/gitlab` - GitLab core software.
- `/home/git/gitlab-shell` - Core add-on component of GitLab. Maintains SSH
cloning and other functionality.
- `/home/git/repositories` - Bare repositories for all projects organized by
namespace. This is where the git repositories which are pushed/pulled are
maintained for all projects. **This area contains critical data for projects.
[Keep a backup](../raketasks/backup_restore.md).**
The following steps have been known to work. **Use caution when you deviate** from this guide. Make sure you don't violate any assumptions GitLab makes about its environment. For example, many people run into permission problems because they changed the location of directories or run services as the wrong user. NOTE: **Note:**
The default locations for repositories can be configured in `config/gitlab.yml`
of GitLab and `config.yml` of gitlab-shell.
If you find a bug/error in this guide, **submit a merge request** For a more in-depth overview, see the [GitLab architecture doc](../development/architecture.md).
following the
[contributing guide](https://gitlab.com/gitlab-org/gitlab-ce/blob/master/CONTRIBUTING.md).
## Overview ## Overview
...@@ -324,9 +363,7 @@ Redis 2.8 with: ...@@ -324,9 +363,7 @@ Redis 2.8 with:
sudo apt-get install redis-server sudo apt-get install redis-server
``` ```
If you are using Debian 7 or Ubuntu 12.04, follow the special documentation Once done, you can configure Redis:
on [an alternate Redis installation](redis.md). Once done, follow the rest of
the guide here.
```sh ```sh
# Configure redis to use sockets # Configure redis to use sockets
...@@ -930,8 +967,50 @@ and correctly [configured Nginx](#site-configuration). ...@@ -930,8 +967,50 @@ and correctly [configured Nginx](#site-configuration).
### google-protobuf "LoadError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found" ### google-protobuf "LoadError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.14' not found"
This can happen on some platforms for some versions of the This can happen on some platforms for some versions of the
google-protobuf gem. The workaround is to [install a source-only `google-protobuf` gem. The workaround is to install a source-only
version of this gem](google-protobuf.md). version of this gem.
First, you must find the exact version of `google-protobuf` that your
GitLab installation requires:
```sh
cd /home/git/gitlab
# Only one of the following two commands will print something. It
# will look like: * google-protobuf (3.2.0)
bundle list | grep google-protobuf
bundle check | grep google-protobuf
```
Below, `3.2.0` is used as an example. Replace it with the version number
you found above:
```sh
cd /home/git/gitlab
sudo -u git -H gem install google-protobuf --version 3.2.0 --platform ruby
```
Finally, you can test whether `google-protobuf` loads correctly. The
following should print 'OK'.
```sh
sudo -u git -H bundle exec ruby -rgoogle/protobuf -e 'puts :OK'
```
If the `gem install` command fails, you may need to install the developer
tools of your OS.
On Debian/Ubuntu:
```sh
sudo apt-get install build-essential libgmp-dev
```
On RedHat/CentOS:
```sh
sudo yum groupinstall 'Development Tools'
```
[RVM]: https://rvm.io/ "RVM Homepage" [RVM]: https://rvm.io/ "RVM Homepage"
[rbenv]: https://github.com/sstephenson/rbenv "rbenv on GitHub" [rbenv]: https://github.com/sstephenson/rbenv "rbenv on GitHub"
......
--- ---
description: 'Read through the different methods to deploy GitLab on Kubernetes.' redirect_to: https://docs.gitlab.com/charts/
--- ---
# Installing GitLab on Kubernetes This document was moved to [another location](https://docs.gitlab.com/charts/).
NOTE: **Kubernetes experience required:**
Our Helm charts are recommended for those who are familiar with Kubernetes.
If you're not sure if Kubernetes is for you, our
[Omnibus GitLab packages](../README.md#installing-gitlab-using-the-omnibus-gitlab-package-recommended)
are mature, scalable, support [high availability](../../administration/high_availability/README.md)
and are used today on GitLab.com.
It is not necessary to have GitLab installed on Kubernetes in order to use [GitLab Kubernetes integration](../../user/project/clusters/index.md).
The easiest method to deploy GitLab on [Kubernetes](https://kubernetes.io/) is
to take advantage of GitLab's Helm charts. [Helm](https://github.com/kubernetes/helm/blob/master/README.md)
is a package management tool for Kubernetes, allowing apps to be easily managed via their
Charts. A [Chart](https://github.com/kubernetes/charts) is a detailed description
of the application including how it should be deployed, upgraded, and configured.
## GitLab Chart
This chart contains all the required components to get started, and can scale to
large deployments. It offers a number of benefits, among others:
- Horizontal scaling of individual components.
- No requirement for shared storage to scale.
- Containers do not need `root` permissions.
- Automatic SSL with Let's Encrypt.
- An unprivileged GitLab Runner.
Learn more about the [GitLab chart](https://docs.gitlab.com/charts/).
## GitLab Runner Chart
If you already have a GitLab instance running, inside or outside of Kubernetes,
and you'd like to leverage the Runner's
[Kubernetes capabilities](https://docs.gitlab.com/runner/executors/kubernetes.html),
it can be deployed with the GitLab Runner chart.
Learn more about the [GitLab Runner chart](https://docs.gitlab.com/runner/install/kubernetes.html).
--- ---
author: Achilleas Pipinellis type: howto
author_gitlab: axil
level: intermediary
article_type: tutorial
date: 2016-06-28 date: 2016-06-28
--- ---
......
# GitLab Pivotal Tile **[PREMIUM ONLY]** # GitLab Pivotal Tile **[PREMIUM ONLY]**
> Introduced in [GitLab Premium][eep] 8.2. CAUTION: **Discontinued:**
As of September 13, 2017, the GitLab Enterprise Plus for Pivotal Cloud Foundry
Easily deploy GitLab as a pre-configured appliance using Ops Manager (BOSH) for tile on Pivotal Network has reached its End of Availability (“EoA”) and is no
[Pivotal Cloud Foundry][pcf]. longer available for download or sale through Pivotal. Current customers with
active subscriptions will continue to receive support from GitLab through their
## Overview subscription term. Pivotal and GitLab are collaborating on creating a new
Kubernetes-based tile for the Pivotal Container Service. Please contact GitLab
Enterprise admins want their development toolkit to be more customizable, more support with any questions regarding GitLab Enterprise Plus for Pivotal Cloud Foundry.
integrated, and more secure. With Pivotal Cloud Foundry, GitLab is installed and
scales easily in a highly available environment. Original article: <https://docs.pivotal.io/partners/gitlab/index.html>.
The upgrades are pain-free and well tested. All it takes is upload the new tile
and click a button to begin the upgrade process.
## Use cases
- You want a highly available deployment with minimal effort. Scale horizontally
as your user base grows.
## Features
The GitLab Pivotal Tile is based on [GitLab Premium][eep] and includes nearly all of its features. The features in Premium but _not_ supported on the Tile are:
* PostgreSQL
* Pages
* Geo
* Registry
* Mattermost
* Subgroups
* Elasticsearch
* Service Desk
* OAuth & Kerberos Authentication
## Installing GitLab with Pivotal
The product information and installation documentation is hosted on Pivotal's
website:
- [Product page](https://network.pivotal.io/products/p-gitlab/)
- [Documentation](https://docs.pivotal.io/partners/gitlab/index.html)
[eep]: https://about.gitlab.com/pricing/
[pcf]: https://pivotal.io/platform
# Install Redis on old distributions ---
redirect_to: installation.md#7-redis
---
GitLab requires at least Redis 2.8. The following guide is for Debian 7 and This document was moved to [another location](installation.md#7-redis).
Ubuntu 12.04. If you are using Debian 8 or Ubuntu 14.04 and up, follow the
[installation guide](installation.md).
## Install Redis 2.8 in Debian 7
Redis 2.8 is included in the Debian Wheezy [backports] repository.
1. Edit `/etc/apt/sources.list` and add the following line:
```
deb http://http.debian.net/debian wheezy-backports main
```
1. Update the repositories:
```
sudo apt-get update
```
1. Install `redis-server`:
```
sudo apt-get -t wheezy-backports install redis-server
```
1. Follow the rest of the [installation guide](installation.md).
## Install Redis 2.8 in Ubuntu 12.04
We will [use a PPA](https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server)
to install a recent version of Redis.
1. Install the PPA repository:
```
sudo add-apt-repository ppa:chris-lea/redis-server
```
Your system will now fetch the PPA's key. This enables your Ubuntu system to
verify that the packages in the PPA have not been interfered with since they
were built.
1. Update the repositories:
```
sudo apt-get update
```
1. Install `redis-server`:
```
sudo apt-get install redis-server
```
1. Follow the rest of the [installation guide](installation.md).
[backports]: http://backports.debian.org/Instructions/ "Debian backports website"
---
type: reference
---
# Install GitLab under a relative URL # Install GitLab under a relative URL
NOTE: **Note:** While it is recommended to install GitLab on its own (sub)domain, sometimes
this is not possible due to a variety of reasons. In that case, GitLab can also
be installed under a relative URL, for example `https://example.com/gitlab`.
This document describes how to run GitLab under a relative URL for installations This document describes how to run GitLab under a relative URL for installations
from source. If you are using an Omnibus package, from source. If you are using an Omnibus package,
[the steps are different][omnibus-rel]. Use this guide along with the [the steps are different][omnibus-rel]. Use this guide along with the
[installation guide](installation.md) if you are installing GitLab for the [installation guide](installation.md) if you are installing GitLab for the
first time. first time.
---
While it is recommended to install GitLab on its own (sub)domain, sometimes
this is not possible due to a variety of reasons. In that case, GitLab can also
be installed under a relative URL, for example `https://example.com/gitlab`.
There is no limit to how deeply nested the relative URL can be. For example you There is no limit to how deeply nested the relative URL can be. For example you
could serve GitLab under `/foo/bar/gitlab/git` without any issues. could serve GitLab under `/foo/bar/gitlab/git` without any issues.
...@@ -20,8 +21,6 @@ Note that by changing the URL on an existing GitLab installation, all remote ...@@ -20,8 +21,6 @@ Note that by changing the URL on an existing GitLab installation, all remote
URLs will change, so you'll have to manually edit them in any local repository URLs will change, so you'll have to manually edit them in any local repository
that points to your GitLab instance. that points to your GitLab instance.
---
The TL;DR list of configuration files that you need to change in order to The TL;DR list of configuration files that you need to change in order to
serve GitLab under a relative URL is: serve GitLab under a relative URL is:
...@@ -126,3 +125,15 @@ To disable the relative URL: ...@@ -126,3 +125,15 @@ To disable the relative URL:
[omnibus-rel]: http://docs.gitlab.com/omnibus/settings/configuration.html#configuring-a-relative-url-for-gitlab "How to set up relative URL in Omnibus GitLab" [omnibus-rel]: http://docs.gitlab.com/omnibus/settings/configuration.html#configuring-a-relative-url-for-gitlab "How to set up relative URL in Omnibus GitLab"
[restart gitlab]: ../administration/restart_gitlab.md#installations-from-source "How to restart GitLab" [restart gitlab]: ../administration/restart_gitlab.md#installations-from-source "How to restart GitLab"
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
---
type: reference
---
# Requirements # Requirements
This page includes useful information on the supported Operating Systems as well
as the hardware requirements that are needed to install and use GitLab.
## Operating Systems ## Operating Systems
### Supported Unix distributions ### Supported Unix distributions
...@@ -12,7 +19,7 @@ ...@@ -12,7 +19,7 @@
- Scientific Linux (please use the CentOS packages and instructions) - Scientific Linux (please use the CentOS packages and instructions)
- Oracle Linux (please use the CentOS packages and instructions) - Oracle Linux (please use the CentOS packages and instructions)
For the installations options please see [the installation page on the GitLab website](https://about.gitlab.com/installation/). For the installations options, see [the main installation page](README.md).
### Unsupported Unix distributions ### Unsupported Unix distributions
...@@ -225,3 +232,15 @@ Each time a new browser version is released, we begin supporting that version an ...@@ -225,3 +232,15 @@ Each time a new browser version is released, we begin supporting that version an
NOTE: **Note:** We do not support running GitLab with JavaScript disabled in the browser and have no plans of supporting that NOTE: **Note:** We do not support running GitLab with JavaScript disabled in the browser and have no plans of supporting that
in the future because we have features such as Issue Boards which require JavaScript extensively. in the future because we have features such as Issue Boards which require JavaScript extensively.
<!-- ## Troubleshooting
Include any troubleshooting steps that you can foresee. If you know beforehand what issues
one might have when setting this up, or when something is changed, or on upgrading, it's
important to describe those, too. Think of things that may go wrong and include them here.
This is important to minimize requests for support, and to avoid doc comments with
questions that you know someone might ask.
Each scenario can be a third-level heading, e.g. `### Getting error message X`.
If you have none to add when creating a doc, leave this section in place
but commented out to help encourage others to add to it in the future. -->
# GitLab directory structure ---
redirect_to: installation.md#gitlab-directory-structure
---
This is the directory structure you will end up with following the instructions in the Installation Guide. This page was moved to [another location](#installation.md#gitlab-directory-structure).
|-- home
| |-- git
| |-- .ssh
| |-- gitlab
| |-- gitlab-shell
| |-- repositories
- `/home/git/.ssh` - contains openssh settings. Specifically the `authorized_keys` file managed by gitlab-shell.
- `/home/git/gitlab` - GitLab core software.
- `/home/git/gitlab-shell` - Core add-on component of GitLab. Maintains SSH cloning and other functionality.
- `/home/git/repositories` - bare repositories for all projects organized by namespace. This is where the git repositories which are pushed/pulled are maintained for all projects. **This area is critical data for projects. [Keep a backup](../raketasks/backup_restore.md).**
*Note: the default locations for repositories can be configured in `config/gitlab.yml` of GitLab and `config.yml` of gitlab-shell.*
To see a more in-depth overview see the [GitLab architecture doc](../development/architecture.md).
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment