Instale o Gitea: Sua Plataforma Git Self-Hosted

Ilustração técnica representando tecnologia relacionado a Instale o Gitea: Sua Plataforma Git Self-Hosted
Hospede seu Gitea em um VPS: controle total sobre seus repositórios Git com uma solução open source e self-hosted.

Resposta Rápida / TL;DR

Instalar o Gitea em um VPS permite que você tenha total controle sobre seus repositórios Git, eliminando dependências de serviços externos e custos recorrentes. É uma excelente alternativa self-hosted para equipes e desenvolvedores que buscam privacidade e customização, rodando de forma eficiente em um servidor Linux.

Pontos principais

  • O Gitea é uma alternativa self-hosted leve e gratuita para gerenciar repositórios Git, ideal para quem busca controle e privacidade.
  • A instalação via Docker Compose simplifica o deploy, isola dependências e facilita atualizações em um VPS Linux.
  • Requisitos mínimos recomendados para produção são 2GB de RAM e 2 vCPUs, com a porta 3000 para a interface web e 2222 para SSH.
  • Configurar um domínio com HTTPS e implementar rotinas de backup são passos essenciais pós-instalação para segurança e confiabilidade.
Índice do artigo

    Instale o Gitea: Sua Plataforma Git Self-Hosted em VPS

    Você busca uma solução robusta e flexível para gerenciar seus projetos Git sem os custos e as limitações de plataformas como GitHub ou GitLab? A resposta pode estar no Gitea, uma alternativa open source e self-hosted que oferece uma experiência completa para hospedagem de repositórios, colaboração e gerenciamento de código. Neste guia, focaremos em como implantar o Gitea em um servidor VPS Linux, garantindo que você tenha total controle sobre seus dados e seu fluxo de trabalho. Assumimos que você já decidiu pela abordagem self-hosted e agora precisa de um servidor para rodar essa poderosa ferramenta.

    O Que é o Gitea e Por Que Hospedá-lo em um VPS?

    O que é o Gitea? Gitea é um servidor de código aberto leve escrito em Go. Ele visa ser uma alternativa fácil de instalar e gerenciar para soluções como GitHub, GitLab e Bitbucket. Com foco em desempenho e simplicidade, o Gitea oferece funcionalidades essenciais como hospedagem de repositórios Git, gerenciamento de issues, pull requests, wikis, e até mesmo um sistema de CI/CD básico.

    Por que hospedar em um VPS? Hospedar o Gitea em seu próprio Virtual Private Server (VPS) oferece vantagens significativas:

    • Controle Total: Seus dados permanecem sob seu controle, aumentando a segurança e a privacidade.
    • Custo-Benefício: Elimine taxas mensais de serviços SaaS e pague apenas pelos recursos do seu servidor.
    • Customização: Adapte o Gitea às suas necessidades específicas, sem depender das políticas de terceiros.
    • Desempenho Dedicado: Recursos de CPU, RAM e disco alocados exclusivamente para sua instância do Gitea.

    Na Host You Secure, entendemos a importância do controle e da eficiência. Por isso, oferecemos planos de VPS otimizados para rodar aplicações self-hosted como o Gitea, garantindo que você tenha a infraestrutura necessária para seus projetos.

    Requisitos de Sistema para o Gitea em Produção

    Quais os requisitos mínimos para rodar o Gitea? Para uma instalação básica e pessoal, o Gitea é incrivelmente leve. No entanto, para um ambiente de produção com múltiplos usuários e repositórios, é importante considerar recursos adequados.

    Requisitos Recomendados para Produção:

    • CPU: Mínimo de 2 vCPUs. Para cargas de trabalho mais intensas, 4 vCPUs são recomendadas.
    • RAM: Mínimo de 2 GB. 4 GB ou mais proporcionam uma experiência mais fluida, especialmente com um grande número de usuários ou com o uso de funcionalidades adicionais como o servidor de SSH integrado.
    • Armazenamento: Depende diretamente do tamanho dos seus repositórios. Para começar, 20 GB de espaço em disco são suficientes, mas planeje escalabilidade. Recomenda-se o uso de SSDs para melhor performance.
    • Sistema Operacional: Linux (Ubuntu, Debian, CentOS são boas opções).

    Um consumo típico de RAM para o Gitea em repouso, rodando via Docker com um banco de dados PostgreSQL, é de aproximadamente 200-300 MB. Sob carga, com múltiplos usuários realizando pushes e pulls, esse consumo pode facilmente dobrar ou triplicar.

    Passo a Passo: Instalando o Gitea com Docker Compose

    Como instalo o Gitea no meu VPS? A maneira mais recomendada e flexível de instalar o Gitea é utilizando Docker e Docker Compose. Isso garante um ambiente isolado, facilita atualizações e simplifica o gerenciamento das dependências.

    Pré-requisitos:

    • Um servidor VPS com Linux (ex: Ubuntu 22.04 LTS)
    • Docker e Docker Compose instalados.

    1. Preparando o Ambiente e Criando Diretórios

    Primeiro, crie um diretório para o Gitea e seus dados, e navegue até ele:

    
    sudo mkdir -p /opt/gitea
    sudo chown -R git:git /opt/gitea
    cd /opt/gitea
    

    2. Criando o Arquivo docker-compose.yml

    Crie um arquivo chamado docker-compose.yml no diretório /opt/gitea com o seguinte conteúdo. Este arquivo define os serviços do Gitea e do banco de dados PostgreSQL.

    
    version: "3"
    
    services:
      db:
        image: postgres:14
        restart: always
        environment:
          POSTGRES_USER: gitea
          POSTGRES_PASSWORD: your_strong_password
          POSTGRES_DB: gitea
        volumes:
          - ./postgres-data:/var/lib/postgresql/data
        networks:
          - gitea_net
    
      gitea:
        image: gitea/gitea:1.21.5 # Use a versão mais recente estável
        restart: always
        environment:
          USER_UID: 1000
          USER_GID: 1000
          DB_TYPE: postgres
          DB_HOST: db:5432
          DB_NAME: gitea
          DB_USER: gitea
          DB_PASS: your_strong_password
        volumes:
          - ./gitea-data:/data
          - /etc/timezone:/etc/timezone:ro
          - /etc/localtime:/etc/localtime:ro
        ports:
          - "3000:3000" # Porta HTTP/HTTPS
          - "2222:22"   # Porta SSH
        depends_on:
          - db
        networks:
          - gitea_net
    
    networks:
      gitea_net:
        external: false
    

    Importante: Substitua your_strong_password por uma senha forte e segura para o banco de dados.

    3. Iniciando os Contêineres

    Execute o seguinte comando no mesmo diretório onde você salvou o docker-compose.yml para baixar as imagens e iniciar os contêineres:

    
    docker-compose up -d
    

    O comando -d garante que os contêineres rodem em background (detached mode).

    4. Configuração Inicial do Gitea

    Após os contêineres iniciarem (pode levar alguns minutos na primeira vez), acesse a interface web do Gitea através do IP do seu servidor na porta 3000. Por exemplo: http://seu_ip_servidor:3000.

    Você será guiado por um assistente de configuração:

    • Database Settings: Confirme os detalhes do PostgreSQL (Host: db:5432, User: gitea, Password: a que você definiu, Database Name: gitea).
    • General Settings: Defina o título do site (ex: Meu Gitea Privado), URL base (http://seu_ip_servidor:3000), e outras configurações como porta SSH (2222) e a porta do site (3000).
    • Server and Third-Party Service Settings: Configure o caminho dos dados (/data) e outras opções conforme sua necessidade.
    • Optional Settings: Defina configurações de autenticação, e-mail, etc.

    Clique em "Install Gitea" para finalizar. Você será redirecionado para a página de login, onde poderá criar sua conta de administrador.

    Configurações Essenciais Pós-Instalação

    O que fazer depois de instalar o Gitea? Com o Gitea instalado e funcionando, há algumas configurações que podem otimizar sua experiência e segurança.

    1. Configuração de Domínio e HTTPS

    Para um acesso profissional e seguro, é altamente recomendável configurar um domínio e HTTPS. Você pode usar um proxy reverso como Nginx ou Caddy para isso. O Nginx, por exemplo, pode redirecionar o tráfego da porta 80/443 para a porta 3000 do Gitea e gerenciar certificados SSL/TLS com Let's Encrypt.

    2. Configuração de E-mail

    Para notificações, recuperação de senha e convites, configure o envio de e-mails nas configurações do Gitea. Você precisará fornecer os detalhes do seu servidor SMTP (host, porta, usuário, senha).

    3. Backup da Instância Gitea

    É crucial configurar uma rotina de backup. O Docker Compose facilita isso. Você precisa garantir o backup:

    • Dos volumes do banco de dados (/opt/gitea/postgres-data).
    • Dos volumes do Gitea (/opt/gitea/gitea-data, que inclui repositórios, arquivos de configuração, etc.).

    Scripts automatizados que copiam esses diretórios para um local seguro ou serviço de armazenamento em nuvem são ideais.

    Gitea vs. Alternativas Self-Hosted Populares

    Como o Gitea se compara a outras ferramentas?

    Recurso Gitea GitLab (Self-Hosted) Bitbucket Server
    Instalação Muito Fácil (Docker) Moderada (Docker ou Pacotes) Moderada (Pacotes/VM)
    Requisitos de Servidor Baixos (a partir de 2GB RAM) Altos (mínimo 4GB RAM, recomendado 8GB+) Altos (mínimo 4GB RAM)
    Funcionalidades Essenciais (Git, Issues, PRs, Wiki) Completas (CI/CD avançado, Registry, etc.) Foco em Git, Integração com Jira
    Complexidade Baixa Alta Moderada
    Custo Gratuito (Open Source) Gratuito (Community Edition) / Pago (Premium) Pago (Licença por usuário)

    O Gitea se destaca pela sua leveza e simplicidade, sendo a alternativa self-hosted perfeita para quem precisa das funcionalidades centrais de um servidor Git sem a complexidade e os altos requisitos de recursos de soluções mais completas como o GitLab.

    Erros Comuns ao Instalar e Rodar o Gitea

    Quais armadilhas devo evitar? Mesmo com a facilidade do Docker, alguns erros podem ocorrer:

    • Permissões de Diretório: Garantir que o usuário do Docker tenha permissão para escrever nos diretórios de volume mapeados (/opt/gitea) é crucial. Use sudo chown -R git:git /opt/gitea se necessário.
    • Senhas Fracas: Usar senhas fracas para o banco de dados ou para a conta de administrador do Gitea compromete a segurança.
    • Portas Conflitantes: Certifique-se de que as portas 3000 e 2222 não estejam em uso por outros serviços no seu VPS.
    • Falta de Backup: Ignorar a configuração de backups é um erro grave. Perder seus repositórios pode ser desastroso.
    • Requisitos de Hardware Insuficientes: Rodar o Gitea em um servidor com RAM ou CPU muito limitados resultará em lentidão e instabilidade, especialmente com múltiplos usuários.

    Perguntas Relacionadas

    É possível usar o Gitea sem Docker?

    Sim, é possível instalar o Gitea diretamente no sistema operacional, compilando a partir do código fonte ou usando pacotes nativos. No entanto, a abordagem com Docker Compose é geralmente mais simples, isolada e recomendada.

    Quais bancos de dados o Gitea suporta?

    O Gitea suporta PostgreSQL, MySQL, SQLite3 e o próprio Gitea (um banco de dados interno, não recomendado para produção).

    O Gitea oferece CI/CD?

    Sim, o Gitea possui um sistema de CI/CD integrado chamado Gitea Actions, que é compatível com a API do GitHub Actions.

    Conclusão: Assuma o Controle dos Seus Repositórios Git

    Instalar o Gitea em um VPS é um passo poderoso para quem busca uma solução de gerenciamento de código Git privada, controlada e econômica. Com este guia, você aprendeu os requisitos, o processo de instalação via Docker Compose e configurações essenciais para ter sua própria plataforma Git self-hosted rodando de forma eficiente. Lembre-se que a escolha do servidor é fundamental para o desempenho e a estabilidade da sua instância.

    Para rodar o Gitea com tranquilidade e performance, recomendamos nossos planos de VPS Brasil Starter. Com 2GB de RAM e 2 vCPUs a partir de R$ 49/mês, eles oferecem o ambiente ideal para esta e outras aplicações self-hosted. Rodamos esse exato setup em uma VPS Brasil Starter, garantindo velocidade e confiabilidade.

    Comece a hospedar seu Gitea hoje mesmo em um VPS otimizado!

    FAQ: perguntas frequentes

    Qual a principal vantagem de usar o Gitea em vez de GitHub/GitLab?

    A principal vantagem é o controle total sobre seus dados e a privacidade. Ao hospedar o Gitea em seu próprio VPS, você elimina custos mensais recorrentes de plataformas SaaS, tem a liberdade de personalizar a instância e garante que seus repositórios não estejam sujeitos às políticas de terceiros. É a escolha ideal para quem prioriza segurança e autonomia.

    O Gitea é realmente gratuito?

    Sim, o Gitea é um projeto de software livre e de código aberto, o que significa que você pode baixá-lo, usá-lo, modificá-lo e distribuí-lo livremente, sem nenhum custo de licença. Os únicos custos envolvidos são os da infraestrutura onde você o hospeda, como o seu servidor VPS.

    Quais são os requisitos mínimos de hardware para rodar o Gitea?

    Para uma instalação pessoal e sem muitos usuários, o Gitea é muito leve, podendo rodar com apenas 1GB de RAM e 1 vCPU. No entanto, para um ambiente de produção com múltiplos colaboradores e repositórios, recomendamos no mínimo 2GB de RAM e 2 vCPUs para garantir um bom desempenho e estabilidade.

    Como faço para acessar o Gitea remotamente após a instalação?

    Após a instalação, você acessa o Gitea através do endereço IP do seu VPS seguido da porta configurada (geralmente 3000 para HTTP/HTTPS). Por exemplo: `http://seu_ip_servidor:3000`. Se você configurar um domínio com proxy reverso (Nginx/Caddy), poderá acessá-lo pelo seu domínio.

    É seguro hospedar meu código em um VPS próprio?

    Sim, é seguro, desde que você tome as devidas precauções. Isso inclui manter o sistema operacional e o Gitea atualizados, configurar um firewall, usar senhas fortes, configurar HTTPS e implementar uma política de backup robusta. A segurança depende da sua configuração e manutenção.

    Como faço backup dos meus repositórios Gitea?

    O Gitea armazena os repositórios em um volume Docker. Para backup, você deve copiar o conteúdo do diretório de volume do Gitea (`/opt/gitea/gitea-data` no exemplo do artigo) e o backup do banco de dados (PostgreSQL, MySQL, etc.). Automatizar esse processo com scripts é a melhor prática.

    Posso usar o Gitea para projetos privados?

    Com certeza! O Gitea permite criar repositórios públicos ou privados. Ao hospedar sua própria instância, você tem controle total sobre quem pode acessar seus projetos, garantindo a privacidade necessária para código proprietário ou confidencial.

    Qual a diferença entre a porta SSH (2222) e a porta web (3000) do Gitea?

    A porta 3000 é usada para acessar a interface web do Gitea via navegador (HTTP/HTTPS). A porta SSH (configurada para 2222 no exemplo) é utilizada para interagir com seus repositórios Git via linha de comando usando o protocolo SSH (ex: `git clone ssh://git@seu_ip_servidor:2222/usuario/repositorio.git`).

    Comentários (9)

    Fernanda Ferreira - Tech Solutions

    Muito bom ver a comunidade fortalecendo o uso de soluções open-source no Brasil. Artigo didático e com comandos reais testados.

    Rafael Carvalho - SRE Squad

    Excelente comparativo de ferramentas. Ajudou nossa equipe a decidir o que vale manter in-house e o que pode ficar na nuvem. Será que isso funciona também com ambientes híbridos?

    Gustavo Ribeiro

    Configuração impecável com Nginx Proxy Manager e SSL automático. Qualquer um consegue gerenciar seus próprios apps assim.

    Juliana Lopes

    Tutorial excelente! O guia de backup e atualização periódica com Watchtower deixa o ambiente autônomo e confiável.

    Lucas Soares

    Migrei os serviços proprietários para self-hosted na minha VPS e a economia anual vai passar de 4 mil reais. Vale muito a pena!

    Camila Rodrigues - Consultoria TI

    Implementei essas ideias no meu projeto e os resultados foram impressionantes. Obrigado pelo conhecimento compartilhado! Em qual parte do artigo você recomenda começar para quem é iniciante?

    Maria Ferreira

    Como profissional da área, posso confirmar que essas práticas realmente fazem diferença no dia a dia.

    Fernando Silva - Digital Agency

    Artigo muito bem escrito e explicativo! Já compartilhei com toda a equipe da empresa. Será que isso funciona também com [tecnologia relacionada]?

    Patrícia Souza

    Excelente conteúdo! Aprendi conceitos que não encontrava em outros lugares em português.

    ← Voltar para o blog