# Introdução

## 3.1.0Instalação via source

Este é o guia de instalação oficial para configurar um servidor GitLab de produção usando os arquivos de origem. Para configurar uma **instalação de desenvolvimento** ou para muitas outras opções de instalação, consulte a [página de instalação principal](https://docs.gitlab.com/ee/install/index.html). Ele foi criado e testado em sistemas operacionais **Debian/Ubuntu**. Leia [requirements.md ](https://docs.gitlab.com/ee/install/requirements.html)para conhecer os requisitos de hardware e do sistema operacional. Se você deseja instalar no RHEL/CentOS, você deve usar os [pacotes Omnibus](https://about.gitlab.com/install/).

Este guia é longo porque cobre muitos casos e inclui todos os comandos que você precisa, este é [um dos poucos scripts de instalação que realmente funcionam fora da caixa](https://twitter.com/robinvdvleuten/status/424163226532986880). Sabe-se que as etapas a seguir funcionam. **Tenha cuidado ao desviar deste guia**. Certifique-se de não violar nenhuma suposição que o GitLab faça sobre seu ambiente. Por exemplo, muitas pessoas enfrentam problemas de permissão porque alteraram o local de diretórios ou executam serviços como o usuário errado.

Se você encontrar um bug/erro neste guia, **envie uma solicitação de mesclagem** seguindo o [guia de contribuição](https://gitlab.com/gitlab-org/gitlab/-/blob/master/CONTRIBUTING.md).

### Considere a instalação do pacote Omnibus

Como uma instalação a partir do código fonte é muito trabalhosa e propensa a erros, recomendamos fortemente a instalação rápida e [confiável do pacote Omnibus](https://about.gitlab.com/install/) (deb/rpm).

Uma razão pela qual o pacote Omnibus é mais confiável é seu uso de runit para reiniciar qualquer um dos processos do GitLab no caso de um falhar. Em instâncias do GitLab muito usadas, o uso de memória do trabalhador em segundo plano do Sidekiq cresce com o tempo.

Os pacotes Omnibus resolvem isso [permitindo que o Sidekiq termine graciosamente](https://docs.gitlab.com/ee/administration/sidekiq/sidekiq_memory_killer.html) se usar muita memória. Após esse término, o runit detecta que o Sidekiq não está em execução e o inicia. Como as instalações do código-fonte não usam o runit para supervisão de processos, o Sidekiq não pode ser encerrado e seu uso de memória cresce com o tempo.

### Selecione uma versão para instalar

Certifique-se de exibir [este guia de instalação](https://gitlab.com/gitlab-org/gitlab/-/blob/master/doc/install/installation.md) na ramificação (versão) do GitLab que você gostaria de instalar (por exemplo, `11-7-stable`). Você pode selecionar a ramificação na lista suspensa versão no canto superior esquerdo do GitLab (abaixo da barra de menus).

Se a ramificação estável de maior número não estiver clara, verifique o [blog do GitLab](https://about.gitlab.com/blog/) para obter links do guia de instalação por versão.

### Software requirements

| Software                                                               | Minimum version | Notes                                                                                                                                                                                                                                                                                                                       |
| ---------------------------------------------------------------------- | --------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Ruby](https://docs.gitlab.com/ee/install/installation.html#2-ruby)    | `3.0.x`         | A partir do GitLab 15.10, o Ruby 3.0 é necessário. Você deve usar a implementação de ressonância magnética padrão do Ruby. Nós amamos [JRuby](https://www.jruby.org/) e [Rubinius](https://github.com/rubinius/rubinius#the-rubinius-language-platform), mas o GitLab precisa de várias Gemas que tenham extensões nativas. |
| [Go](https://docs.gitlab.com/ee/install/installation.html#3-go)        | `1.18.x`        | A partir do GitLab 15.6, é necessário o Go 1.18 ou posterior.                                                                                                                                                                                                                                                               |
| [Git](https://docs.gitlab.com/ee/install/installation.html#git)        | `2.38.x`        | A partir do GitLab 15.8, é necessário o Git 2.38.xe posterior. É altamente recomendável que você use o [Git version provided by Gitaly](https://docs.gitlab.com/ee/install/installation.html#git).                                                                                                                          |
| [Node.js](https://docs.gitlab.com/ee/install/installation.html#4-node) | `16.15.0`       | A partir do GitLab 15.7, é necessário o Node.js 16.15.0 ou posterior.                                                                                                                                                                                                                                                       |

### Estrutura de diretórios do GitLab

Ao seguir as instruções desta página, você cria esta estrutura de diretórios:

```
|-- home
|   |-- git
|       |-- .ssh
|       |-- gitlab
|       |-- gitlab-shell
|       |-- repositories
```

* `/home/git/.ssh` - Contém configurações do OpenSSH. Especificamente, o arquivo author\_keys gerenciado pelo GitLab Shell.
* `/home/git/gitlab` - Software principal.
* `/home/git/gitlab-shell` - Componente complementar principal do GitLab. Mantém a clonagem SSH e outras funcionalidades.
* `/home/git/repositories` - Repositórios vazios para todos os projetos organizados por namespace. É aqui que os repositórios Git que são enviados/puxados são mantidos para todos os projetos. **Esta área contém dados críticos para projetos.** [**Keep a backup**](https://docs.gitlab.com/ee/raketasks/backup_restore.html)**.**

Os locais padrão para repositórios podem ser configurados em config/gitlab.yml do GitLab e config.yml do GitLab Shell.

Para uma visão geral mais aprofundada, consulte o [GitLab architecture doc](https://docs.gitlab.com/ee/development/architecture.html).

![](https://docs.gitlab.com/ee/development/img/architecture_simplified_v14_9.png)


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://liedsons-organization.gitbook.io/gitlab-no-ubuntu/instalacao-e-configuracao-source/introducao.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
