Instale o Gitea em um Raspberry Pi para criar seu próprio repositório de código

Instale o Gitea em um Raspberry Pi para criar seu próprio repositório de código
Leitores como você ajudam a apoiar o MUO. Quando você faz uma compra usando links em nosso site, podemos ganhar uma comissão de afiliado. Consulte Mais informação.

Git é um sistema de controle de versão usado por desenvolvedores de software, codificadores e criadores para colaborar e distribuir projetos de código aberto. Usando o Git, você pode lidar com projetos de qualquer tamanho, inserir alterações e mesclagens de código e permitir que os usuários clonem seus repositórios em suas próprias máquinas. O ecossistema de código aberto é executado no Git, e muitos dos projetos apresentados no MakeUseOf.com envolvem o uso de recursos do GitHub. Com o Gitea, você pode hospedar seus próprios repositórios Git totalmente funcionais em um Raspberry Pi em sua própria casa.





MAKEUSEDO VÍDEO DO DIA

Por que hospedar seu próprio serviço Git no Raspberry Pi em vez de usar o GitHub?

  Uma página do repositório GitHub mostrando uma lista de arquivos do React's source code

Com 55 milhões de usuários, O GitHub é o maior repositório de software livre e de código aberto na Terra, mas seu atual proprietário, a Microsoft, não é um ajuste natural para o papel de guardião. CEOs anteriores da empresa descreveram o Linux e a General Public License como 'um câncer', e a maioria dos produtos da Microsoft são proprietários e de código fechado.





A propriedade da Microsoft também viu o GitHub explorar algumas tecnologias eticamente duvidosas - principalmente com o GitHub Copilot, uma ferramenta de IA para ajudar os programadores a gerar código. O Copilot foi treinado com dados do GitHub, em possível violação dos termos das licenças Creative Commons empregadas pelos codificadores.





razões pelas quais a mídia social é ruim

Ao usar o GitHub, os desenvolvedores estão criando mais um ponto de estrangulamento no qual a inovação pode ser sufocada, prejudicada e sujeita a interferências frívolas.

Gitea permite que você configure seu próprio servidor Git no Raspberry Pi

Gitea é um fork do Gogs e é uma solução de hospedagem de código leve gerenciada pela comunidade escrita em Go e publicada sob a licença MIT. Ele pretende ter um modelo de desenvolvimento mais aberto e rápido que seu antecessor, e rodará em máquinas com recursos até modestos, como um Raspberry Pi. Você poderá trabalhar em seus dotfiles, ISOs personalizados do Ubuntu , Bash scripts e utilitários Java e Python sem medo de que sejam sujeitos a uma remoção DMCA, sejam usados ​​para treinar software nefasto ou estejam fora de seu controle.



Como instalar o Gitea no seu Raspberry Pi

O Gitea vem com vários métodos de instalação, mas o mais fácil é via Docker. Se você ainda não os tiver em execução no seu Raspberry Pi, instalar o Docker e o Docker Compose agora.

Os arquivos que você armazena em seu servidor Gitea podem ocupar muito espaço, por isso sugerimos usando armazenamento externo com seu Raspberry Pi , e usando-o como o local para a instalação do Gitea.





Conecte-se ao seu Pi via SSH , navegue até o local onde deseja instalar o Gitea, crie um novo diretório e vá para ele:

 mkdir gitea 
cd gitea

Crie um novo arquivo com o nano:





 nano docker-compose.yml

...e cole o seguinte código nele:

 version: "3" 

networks:
  gitea:
    external: false

services:
  server:
    image: gitea/gitea:latest
    container_name: gitea
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=mysql
      - GITEA__database__HOST=db:3306
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=gitea
    restart: always
    networks:
      - gitea
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:gb
      - /etc/localtime:/etc/localtime:gb
    ports:
      - "3000:3000"
      - "222:22"
    depends_on:
      - db

  db:
    image: mysql:8
    restart: always
    environment:
      - MYSQL_ROOT_PASSWORD=gitea
      - MYSQL_USER=gitea
      - MYSQL_PASSWORD=gitea
      - MYSQL_DATABASE=gitea
    networks:
      - gitea
    volumes:
      - ./mysql:/var/lib/mysql

Altere os fusos horários para sua própria localidade e escolha uma senha forte para seu banco de dados, salve e saia do nano com Ctrl + O , então Ctrl + X.

Digitar:

 docker-compose up -d 

…para abrir o docker-compose no modo desanexado. O Docker-compose extrairá várias imagens para Gitea e Maria DB e configurará contêineres. Dependendo da velocidade da sua conexão, isso pode levar algum tempo.

  docker-compose ps mostrando gitea e gitea_db_1 como up

Quando você retornar ao prompt de comando:

 docker-compose ps

…deve mostrar 'gitea' e 'gitea_db_1' como 'up'. Agora você pode visitar a página de configuração inicial do seu site Gitea em seu.pi.local.ip.address:3000 .

Não altere nada ainda. Se você planeja acessar sua instância do Gitea pela Internet, primeiro precisa fazer um pouco mais de preparação.

Acesse sua instância do Gitea pela Internet

Você deseja digitar um URL padrão para acessar sua instância do Gitea, portanto, precisará do Apache para lidar com o proxy. Instale o Apache com:

 sudo apt install apache2

Agora, inicie e habilite o Apache com os seguintes comandos:

 sudo systemctl start apache2 
sudo systemctl enable apache2

Habilite os módulos proxy do Apache com:

 sudo a2enmod proxy 
sudo a2enmod proxy_http

Escolha um nome de domínio ou nome de subdomínio de um registrador respeitável. Em seguida, na página de configurações do seu registrador, encontre as opções de 'DNS avançado' e adicione um novo UMA registro. Colocou o Hospedeiro campo para ' @' e o campo de valor para seu endereço IP estático. Defina o valor TTL (Time to Lease) o mais baixo possível e salve.

Abra a página de administração do roteador e encontre uma seção intitulada Encaminhamento de porta , Mapeamento de portas , ou Gestão Portuária.

Crie uma nova entrada para solicitações HTTP. Defina a porta local e pública para 80 , e o endereço IP local para o endereço IP do seu Raspberry Pi.

Uma segunda porta aberta é necessária para solicitações HTTPS. Defina a porta local e pública para 443 , e novamente, o endereço IP local para o endereço IP do seu Pi.

Por fim, você precisa de uma porta aberta para solicitações SSH ao seu servidor Git. Defina a porta local e pública para 222 , e o endereço IP local para o endereço IP do seu Pi.

Você usará o Certbot para obter certificados e chaves de segurança. Adicione o repositório do Certbot, atualize e instale o Certbot:

 sudo add-apt-repository ppa:certbot/certbot 
sudo apt update
sudo apt-get install python3-certbot-apache

Altere os diretórios e crie um novo arquivo com o nano:

como fazer uma nova conta playstation
 cd /etc/apache2/sites-available/ 
nano gitea.conf

No novo arquivo, cole o seguinte, certificando-se de copiar em seu próprio nome de domínio:

 <VirtualHost *:80>ServerName your-domain-name.tldProxyPass / http://127.0.0.1:3000/ProxyPassReverse / http:/127.0.0.1:3000/ProxyPreserveHost On</VirtualHost>

Salve e saia do nano com Ctrl + O , então Ctrl + x e habilite seu novo arquivo conf com:

 sudo a2ensite gitea.conf

Reinicie o Apache:

 sudo service apache2 restart

Execute o Certbot com:

 sudo certbot

…e selecione seu nome de domínio em uma lista. O Certbot buscará e instalará certificados e chaves. Quando você retornar ao prompt, reinicie o Apache novamente:

 sudo service apache2 restart

Configuração da instância do Gitea

Agora você pode visitar sua instância do Gitea em um navegador com o endereço https://your-domain-name.tld . Você poderá definir o tipo de banco de dados, senha e outras variáveis ​​na primeira seção. Esses serão os valores que você especificou em seu arquivo docker-compose e já devem estar preenchidos, portanto, não há necessidade de alterá-los.

Dentro Configurações Gerais , colocou o titulo do site para um adequado, Domínio do Servidor deve ser o seu nome de domínio e Porta do Servidor SSH deve ser definido para 222 . A URL base deve ser seu nome de domínio, incluindo 'HTTPS://'.

Quando terminar, acerte o grande azul Instalar o Gitea botão. Você será saudado por uma grande xícara de chá verde e qualquer nome e slug que você tenha dado à instância. Para criar seu primeiro usuário, clique em registrar no canto superior direito da página e insira seus dados. Parabéns!

Para impedir que outras pessoas registrem e hospedem seus próprios repositórios em seu servidor Git, você precisa editar o aplicativo ini Arquivo. Se você inicialmente criou seu guia diretório no / (raiz), digite:

 nano /gitea/gitea/gitea/conf/app.ini

Role para baixo até a seção de serviço e defina DISABLE_REGISTRATION para verdadeiro.

  gitea diable registro definido como verdadeiro

Salve e saia do nano com Ctrl + O , então Ctrl + x, em seguida, reinicie seus contêineres:

 docker-compose downdocker-compose up -d

Usando Gitea

Se você já usou o GitHub, vai se sentir instantaneamente em casa no Gitea. Depois de fazer login, você verá que não há repositórios disponíveis. Crie um clicando no + assine à direita da página e dê um nome sensato.

  criação do repositório inicial gitea

Você pode optar por tornar o repositório privado marcando a caixa ou deixá-lo aberto para o mundo ver. Marque a caixa para inicializar com um arquivo leia-me e clique em Criar repositório para criar seu primeiro repositório! Você pode fazer e confirmar alterações, fazer upload de arquivos e editar como se fosse o GitHub.

Clique em SSH para copiar o endereço, e você não poderá clonar repositórios para sua máquina local, recebendo um erro: 'Por favor, certifique-se de ter os direitos de acesso corretos e de que o repositório existe'. Você precisa adicionar a chave SSH da sua máquina local ao Gitea primeiro. Para fazer isso, copie a saída de:

 cat ~/.ssh/id_rsa.pub

Na interface da web do Gitea, clique na foto do seu perfil e escolha definições > Chaves SSH/GPG . Clique em Adicionar chave e cole a chave que você acabou de copiar.

  adicione a chave ssh ao gitea

Agora você pode interagir com seu próprio repositório Git em seu próprio servidor Git em seu próprio Raspberry Pi!

Use sua instância do Gitea para criar projetos de software incríveis

O Git é uma ferramenta incrível para colaborar em projetos incríveis, mas mesmo sem uma equipe, é fantástico para organizar seu próprio fluxo de trabalho e criar softwares ou configurações incríveis. Use-o para ajudar a controlar seus arquivos enquanto aprende uma nova linguagem de programação ou personaliza seu sistema de desktop para ser o melhor possível.