Principal / Guias / Gitea

Seu próprio servidor Git com Gitea

Gitea é um leve Git serviço com problemas, puxar pedidos e ganchos CI — tudo o que você espera, correndo em algumas centenas de megabytes. Em uma VPS € 6,5 serve uma equipe inteira.

1. Instalar o Docker

apt update && apt install -y docker.io docker-compose-v2 git
systemctl enable --now docker

Perspectiva completa incluindo o básico Compose: Guia de acoplagem.

2. Arquivo Compose

mkdir -p /opt/gitea && cd /opt/gitea
cat > docker-compose.yml <<'EOF'
services:
  db:
    image: postgres:16-alpine
    restart: unless-stopped
    environment:
      POSTGRES_USER: gitea
      POSTGRES_PASSWORD: change-me-db
      POSTGRES_DB: gitea
    volumes:
      - ./db:/var/lib/postgresql/data
  gitea:
    image: gitea/gitea:1
    restart: unless-stopped
    depends_on: [db]
    environment:
      GITEA__database__DB_TYPE: postgres
      GITEA__database__HOST: db:5432
      GITEA__database__NAME: gitea
      GITEA__database__USER: gitea
      GITEA__database__PASSWD: change-me-db
    volumes:
      - ./data:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "127.0.0.1:3000:3000"
      - "2222:22"
EOF
docker compose up -d

Note as ligações: a interface Web só ouve no localhost, enquanto SSH para git push está no porto 2222. Faça a porta acessível — abra 2222 no firewall ou depois sirva Git sobre HTTPS.

3. HTTPS com Caddy

apt install -y caddy
cat > /etc/caddy/Caddyfile <<'EOF'
git.example.com {
    reverse_proxy 127.0.0.1:3000
}
EOF
systemctl reload caddy

O Caddy obtém um certificado automaticamente. Aponte o registro A do domínio no servidor primeiro e termine o assistente de configuração no navegador — a primeira conta que você registrar se torna o administrador.

4. Push code

git remote add origin ssh://[email protected]:2222/you/project.git
git push -u origin main

Adicione sua chave pública nas configurações do Gitea uma vez, e cada empurrão depois disso é livre de senha.

5. Backups que realmente restaurar

docker compose exec -u git gitea gitea dump -c /data/gitea/conf/app.ini
# the dump lands in /opt/gitea/data/gitea, then ship it off-site:
restic backup /opt/gitea/data --exclude-caches

A gitea dump o comando agrupa o banco de dados, repositórios e configuração em um arquivo. Cópias externas: ver guia resítico.

Respostas rápidas

Quanta RAM precisa Gitea?

O recipiente ocioso cerca de 150–250 MB, PostgreSQL mais 100–200 MB. Um servidor de 2 GB é confortável para uma pequena equipe; 4 GB se você também executar corredores CI ou muitos repositórios grandes.

Posso importar repositórios do GitHub?

Sim. No Gitea escolha Nova Migração, cole o URL do repositório, e ele copia o código, os problemas e as solicitações de pull. Os repositórios privados precisam de um token de acesso GitHub.

O meu código está seguro numa VPS?

É tão seguro quanto sua administração de servidor: chaves SSH, firewall, atualizações e despejos fora do local cobrem os riscos realistas. Para muitas equipes que é mais controle do que confiar em um terceiro com tudo.

Gitea mais PostgreSQL ajuste Buran-2 (13€/mo) com espaço de sobra.

Relacionado