Skip to content

Instantly share code, notes, and snippets.

@jurandysoares
Last active December 16, 2025 18:29
Show Gist options
  • Select an option

  • Save jurandysoares/697889dd25dd013a5df4193b74149db9 to your computer and use it in GitHub Desktop.

Select an option

Save jurandysoares/697889dd25dd013a5df4193b74149db9 to your computer and use it in GitHub Desktop.
Roteiro para instalação do Gitea no Alpine Linux
title author date
Instalação do Gitea no Alpine Linux
Jurandy Soares
12/16/2025

Fonte: https://wiki.alpinelinux.org/wiki/Gitea

Gitea é uma solução leve para hospedagem de código gerenciado escrita em Go. Ele é uma bifurcação do Gogs.

Instalação

Primeiro, habilite o repositório da comunidade. Execute:

  1. cat -n /etc/apk/repositories{.bash}
  2. rm /etc/apk/repositories{.bash}
  3. setup-apkrepos -c{.bash}
  4. cat -n /etc/apk/repositories{.bash}

E então instale os pacotes gitea, micro e etckeeper:

  • apk add gitea micro etckeeper{.bash}

Resumo:

cat -n /etc/apk/repositories
setup-apkrepos -c
cat -n /etc/apk/repositories
apk add gitea micro etckeeper

Configuração do banco de dados

Instale o servidor e o cliente MariaDB:

  • apk add mariadb mariadb-client

Configure a instalação do servidor MariaDB e deixe-o seguro:

  1. mysql_install_db --user=mysql --datadir=/var/lib/mysql
  2. service mariadb start
  3. rc-update add mariadb
  4. mysql_secure_installation

Resumo:

apk add mariadb mariadb-client
mysql_install_db --user=mysql --datadir=/var/lib/mysql
service mariadb start
rc-update add mariadb
mysql_secure_installation

Crie o banco de dados gitea e um usuário para acessá-lo:

Tudo o que for digitado após mysql -u root -p deve ser digitado no prompt do cliente MariaDB (é algo como MariaDB [(none)]>).

Substitua o usuário giteauser e a senha giteapassword por algo seguro. Lembre-se destas configurações. Você precisará delas mais tarde quando for configurar o Gitea.

Execute:

  • mysql -u root -p{.bash}

No prompt do mysql, execute:

  1. CREATE DATABASE gitea DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;{.sql}
  2. GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'giteapassword';{.sql}
  3. FLUSH PRIVILEGES;{.sql}
  4. EXIT{.sql}

Resumo:

CREATE DATABASE gitea DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;
GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'giteapassword';
FLUSH PRIVILEGES;
EXIT;

Caso você deseje, você pode desinstalar o pacote mariadb-client, uma vez que ele não é mais necessário:

  • apk del mariadb-client{.bash}

Edite o arquivo /etc/gitea/app.ini, substituindo o conteúdo da seção [database] pelo seguinte conteúdo:

DB_TYPE = mysql
HOST = /var/run/mysqld/mysqld.sock
NAME = gitea            ; The database name set with 'CREATE DATABASE'
USER = giteauser        ; The database user
PASSWD = giteapassword      ; The password for the database user

Configurações

O serviço Gitea pode ser configurado no arquivo /etc/conf.d/gitea:

Descrição Variável de Configuração Valor padrão
Usuário para executar o Gitea GITEA_USER gitea
Diretório de trabalho do Gitea GITEA_WORK_DIR /var/lib/gitea/
Arquivo de configuração do Gitea GITEA_CONF /etc/gitea/app.ini

Algumas configurações adicionais do arquivo /etc/gitea/app.ini:

Descrição Variável de Configuração Valor padrão
Diretório de personalização do Gitea Não pode ser configurado /var/lib/gitea/custom/
Arquivos web STATIC_ROOT_PATH /usr/share/webapps/gitea/
Arquivos de dados APP_DATA_PATH /var/lib/gitea/data/
Diretório de armazenamento de repositórios do Git ROOT /var/lib/gitea/git/
Diretório de registro de eventos (log) ROOT_PATH /var/log/gitea/

O Gitea tem um servidor web interno. Por esta razão, não há necessidade de configurar um. No entanto, você pode configurar um servidor proxy reverso.

Para personalizar a aparência do Gitea, encontre o caminho /usr/share/webapps/gitea/ e faça o mesmo caminho em /var/lib/gitea/custom/. Por exemplo, para adicionar um novo tema para o Gitea, crie o diretório /var/lib/gitea/custom/public/css/, e então adicione o arquivo CSS para o tema nele.

Controlando e inicializando o Gitea

Você não pode iniciar o Gitea sem antes configurar certas variáveis de ambiente e passar algumas opções, tendo em vista que ele não saberá onde irá armazenar os dados e os registros de evento do sistema (log). Por esta razão, é fortemente recomendável que você inicie o Gitea usando o script:

  • service gitea start{.bash}

Para adicionar o Gitea ao nível de execução padrão (para que ele inicie quando a máquina for ligada), execute:

  • rc-update add gitea{.bash}

Para parar o serviço do Gitea, execute:

  • service gitea stop{.bash}

Resumo:

service gitea start
rc-update add gitea
service gitea stop

Execução do Gitea sem o script de inicialização

Se, por alguma razão, você deseja iniciar o Gitea sem utilizar o script de inicialização padrão, você deve primeiro parar o serviço Gitea. Execute:

  • service gitea stop{.bash}

E então, execute o Gitea com o seguinte comando, em uma sessão do usuário gitea:

  • GITEA_WORK_DIR=/var/lib/gitea gitea web --config /etc/gitea/app.ini{.bash}

Isto usurá o arquivo de configuração correto e escreverá no diretório correto.

Pós-instalação

Após instalar o Gitea, vá para o endereço: http://localhost:3000 e proceda com o processo de pós-instalação.

Configuração do acesso SSH

Não tente ser esperto o suficiente e usar o comando ssh-copy-id, pois ele não fará a configuração correta.

Por exemplo, se esta for a chave pública de seu usuário:

ssh-ed25519 ******************************************************************** **********@gmail.com

A linha no arquivo ~/.ssh/authorized_keys precisaria estar assim:

command="/usr/bin/gitea --config=/etc/gitea/app.ini serv key-2",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-ed25519 ******************************************************************** **********@gmail.com

Para fazer isso, gere um par de chaves pública/privada do SSH, então vá para o painel de configurações do Gitea e clique em Adicionar Chave, e então cole sua chave pública.

Agora, uma vez que você tenha adicionado sua chave privada ao agente SSH, você poderá usar o SSH com o Gitea da mesma maneira que você o utilizaria normalmente com o GitHub, GitLab, BitBucket e etc.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment