O
Gitea é um
servidor Git fácil de ser utilizado, além de fácil de ser instalado, escrito em Go. Ele possui um editor de arquivos destinados aos repositórios, rastreamento de problemas dos projetos, gerenciamento de usuários, notificações, um wiki integrado, dentre diversas outras funcionalidades.
Ele é um aplicativo leve, podendo ser instalado em sistemas de baixa potência. Se você está procurando uma alternativa ao
Gitlab, com uma utilização de memória muito menor, sem a necessidade de todos os recursos que o Gitlab oferece, experimente o Gitea!
Este material explica como instalar e configurar o Gitea no Ubuntu 20.04.
Pré-requisitos
O Gitea suporta os bancos de dados SQLite, PostgreSQL, MySQL e MariaDB.
O SQLite é indicado apenas para pequenas instalações, sendo que, caso você pretenda utilizar em ambientes maiores, com diversos usuários, ou em um ambiente corporativo, recomendo a utilização do PostgreSQL ou do MySQL/MariaDB.
Usaremos SQLite como banco de dados para Gitea neste artigo. Caso o SQLite não esteja instalado em seu sistema Ubuntu, instale-o inserindo os seguintes comandos:
sudo apt update
sudo apt install sqlite3
Instalar o Gitea
O Gitea fornece imagens para o Docker e pode ser instalado a partir do código-fonte, binário e como um pacote.
Iremos instalar o Gitea a partir do seu binário.
Iniciaremos instalando o Git.
sudo apt install git
Verificar a instalação do Git:
git --version
Agora, precisamos criar um usuário para o Git que irá executar o Gited no seu equipamento.
sudo adduser --system --shell /bin/bash \
--gecos 'Git Version Control' --group \
--disabled-password --home /home/git \
git
O comando acima cria um usuário com um novo grupo, chamado git, além de definir o diretório home para /home/git. O retorno desse comando deve ser parecido com:
Adding system user `git' (UID 115) ...
Adding new group `git' (GID 121) ...
Adding new user `git' (UID 115) with group `git' ...
Creating home directory `/home/git' ...
Iremos então realizar o download do binário do Gitea.
Você pode ir para a página de download do Gitea e baixar o binário mais recente da sua arquitetura. No momento que escrevi esse artigo, a versão mais recente é a 1.15.3. Caso exista uma versão mais recente quando você realizar a instalação, altera a variável VERSION dos comandos abaixo.
Iremos utilizar o comando wget para baixar o binário do Gitea no diretório /tmp.
VERSION=1.14.1
sudo wget -O /tmp/gitea https://dl.gitea.io/gitea/${VERSION}/gitea-${VERSION}-linux-amd64
Embora você possa executar o binário gitea de qualquer local, seguiremos a convenção e moveremos o binário para o diretório /usr/local/bin e deixar o binário como executável:
sudo mv /tmp/gitea /usr/local/bin
sudo chmod +x /usr/local/bin/gitea
Execute agora os comandos abaixo, para criar os diretórios e também definir as permissões e propriedade necessárias:
sudo mkdir -p /var/lib/gitea/{custom,data,log}
sudo chown -R git:git /var/lib/gitea/
sudo chmod -R 750 /var/lib/gitea/
sudo mkdir /etc/gitea
sudo chown root:git /etc/gitea
sudo chmod 770 /etc/gitea
A estrutura de diretórios acima é recomendada pela documentação oficial do Gitea.
As permissões do diretório /etc/gitea são definidas como 770, para que o assistente de instalação possa criar o arquivo de configuração. Assim que a instalação for concluída, definiremos novas permissões mais restritivas
Criar um arquivo systemd
Executaremos o Gitea como um serviço, utilizando o systemd.
Baixe o arquivo de unidade systemd de amostra para o diretório /etc/systemd/system digitando:
sudo wget https://raw.githubusercontent.com/go-gitea/gitea/main/contrib/systemd/gitea.service -P /etc/systemd/system/
Você não precisa editar o arquivo, ele está configurado para corresponder à nossa configuração.
Habilite e inicie o serviço do Gitea:
sudo systemctl daemon-reload
sudo systemctl enable --now gitea
Verifique se o Gitea está em execução:
sudo systemctl status gitea
A saída deve ser parecida com:
gitea.service - Gitea (Git with a cup of tea)
Loaded: loaded (/etc/systemd/system/gitea.service; enabled; vendor preset: enabled)
Active: active (running) since Thu 2021-09-25 09:54:14 UTC; 6s ago
Main PID: 67781 (gitea)
Tasks: 6 (limit: 470)
Memory: 130.6M
CGroup: /system.slice/gitea.service
└─67781 /usr/local/bin/gitea web --config /etc/gitea/app.ini
...
Configurar o Gitea
Agora que o Gitea foi baixado e executado na sua máquina, podemos finalizar a instalação por meio da interface da web dele.
Por padrão, o Gitea escuta as conexões TCP na porta 3000, em todas as interfaces de rede.
Caso você possua um firewall UFW em execução na sua máquina Ubuntu, precisará abrir a porta Gitea. Para permitir o tráfego na porta 3000, execute o seguinte comando:
sudo ufw allow 3000/tcp
Agora abra seu navegador web e digite o endereço
http://SEU_DOMINIO_OU_IP:3000. Uma tela similar a essa irá aparecer.
Configurações do banco de dados:
- Tipo de banco de dados: SQLite3
- Caminho: use o caminho absoluto /var/lib/gitea/data/gitea.db
Configurações gerais do aplicativo:
- Título do site: digite o nome da sua organização
- Caminho raiz do repositório: deixe o padrão var /lib/gitea/data/ gitea-repositories.
- Git LFS Root Path: Deixe o padrão /var/lib/gitea/data/lfs
- Executar como nome de usuário: git
- Domínio do servidor SSH: Digite seu domínio ou endereço IP do servidor
- Porta SSH: 22, altere se o SSH estiver escutando em outra porta
- Porta de escuta Gitea HTTP: 3000
- Gitea Base URL: Use http e seu domínio ou endereço IP do servidor
- Caminho de registro: deixe o padrão /va/lib/gitea/log
Você pode alterar as configurações a qualquer momento, editando o arquivo de configuração Gitea.
Para iniciar a instalação, clique no botão "Install Gitea".
A instalação é instantânea. Depois de tudo concluído, você será redirecionado para a página de login.
Clique no link "Need an account? Register now." (Precisa de uma conta? Registrar agora). O primeiro usuário registrado no Gitea é adicionado automaticamente ao grupo Admin.
Iremos agora alterar as permissões dos arquivos de configuração do Gitea para o modo de apenas leitura.
sudo chmod 750 /etc/gitea
sudo chmod 640 /etc/gitea/app.ini
Pronto! O Gitea está instalado na sua máquina!
Configurar as notificações de e-mail
Se quiser que sua instância Gitea envie e-mails de notificação, você pode instalar o Postfix ou usar algum serviço de e-mail transacional, como SendGrid, MailChimp, MailGun ou SES.
Para habilitar notificações por e-mail, abra o arquivo de configuração e edite as seguintes linhas:
sudo nano /etc/gitea/app.ini
[mailer]
ENABLED = true
HOST = SERVIDOR_SMTP:PORTA_SMTP
FROM = EMAIL_ENVIO
USER = USUARIO_SMTP_USER
PASSWD = SENHA_DO_SMTP
Tenha certeza das informações relativas ao servidor SMTP informadas.
Iremos agora reiniciar o serviço do Gitea.
sudo systemctl restart gitea
Para verificar as configurações e enviar um e-mail de testes, realize o login no Gitea, e depois, vá para: Site Administration -> Configuration -> SMTP Mailer Configuration.
Na sequência algumas telas do Gitea.
Conclusões
Este artigo guiou você pela instalação do Gitea no Ubuntu 20.04. Para obter mais informações sobre como configurar sua instância Gitea e criar seu primeiro projeto, visite a página de documentação do Gitea:
https://docs.gitea.io/en-us/
Se você tiver dúvidas, fique à vontade para deixar um comentário abaixo.