| 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.
Primeiro, habilite o repositório da comunidade. Execute:
cat -n /etc/apk/repositories{.bash}rm /etc/apk/repositories{.bash}setup-apkrepos -c{.bash}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 etckeeperInstale o servidor e o cliente MariaDB:
apk add mariadb mariadb-client
Configure a instalação do servidor MariaDB e deixe-o seguro:
mysql_install_db --user=mysql --datadir=/var/lib/mysqlservice mariadb startrc-update add mariadbmysql_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:
CREATE DATABASE gitea DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;{.sql}GRANT ALL ON gitea.* TO 'giteauser'@'localhost' IDENTIFIED BY 'giteapassword';{.sql}FLUSH PRIVILEGES;{.sql}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 userO 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.
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 stopSe, 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.
Após instalar o Gitea, vá para o endereço: http://localhost:3000 e proceda com o processo de pós-instalação.
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.