Todos os sistemas operando normalmente 21 criptomoedas aceitas · Monero bem-vindo Política No-KYC
ChainVPS

Desenvolvimento · sem KYC

Hospede Gitea em um VPS offshore

Execute sua própria forja Git leve em um VPS sem KYC e pago em cripto, mantendo cada repositório, issue e pipeline de CI fora de nuvens de terceiros.

O que é

Gitea é um serviço Git auto-hospedado escrito em Go — uma alternativa leve ao GitHub/GitLab que oferece repositórios, pull requests, issues, wikis, releases e Actions (CI/CD). É distribuído como um único binário ou imagem Docker com baixo consumo de memória, o que o torna ideal para equipes que querem controle total sobre seu código-fonte.

Por que hospedar offshore

O código-fonte está entre os dados mais sensíveis que uma equipe possui; hospedá-lo em um VPS offshore e sem exigência de identidade o mantém fora do alcance das grandes plataformas de hospedagem de código e de seus regimes de retenção de dados e remoção de conteúdo. Pagar em cripto sem KYC significa que a infraestrutura do seu projeto não fica vinculada a uma identidade corporativa, e a largura de banda ilimitada permite que clones, execuções de CI e downloads de releases fluam sem surpresas de medição.

A implantação

Uma configuração de referência funcional

Copie isto para uma instância nova do ChainVPS. Substitua os placeholders e depois coloque no ar.

docker-compose.yml

# docker-compose.yml — Gitea + PostgreSQL on Ubuntu 24.04
# 1) apt install docker.io docker-compose-v2
# 2) put this file in /opt/gitea and run: docker compose up -d
# 3) open http://SERVER_IP:3000 to finish the web installer
services:
  server:
    image: gitea/gitea:1.22
    container_name: gitea
    restart: always
    environment:
      - USER_UID=1000
      - USER_GID=1000
      - GITEA__database__DB_TYPE=postgres
      - GITEA__database__HOST=db:5432
      - GITEA__database__NAME=gitea
      - GITEA__database__USER=gitea
      - GITEA__database__PASSWD=CHANGE_ME_STRONG_DB_PW
      # correct clone URLs — set to your domain once DNS is ready:
      - GITEA__server__DOMAIN=git.example.com
      - GITEA__server__ROOT_URL=https://git.example.com/
      - GITEA__server__SSH_PORT=222
      - GITEA__service__DISABLE_REGISTRATION=true
    volumes:
      - ./gitea:/data
      - /etc/timezone:/etc/timezone:ro
      - /etc/localtime:/etc/localtime:ro
    ports:
      - "3000:3000"   # web UI — front with a TLS reverse proxy in production
      - "222:22"      # git-over-SSH (host 222 -> container 22)
    depends_on:
      - db
    networks:
      - gitea

  db:
    image: postgres:16
    container_name: gitea-db
    restart: always
    environment:
      - POSTGRES_USER=gitea
      - POSTGRES_PASSWORD=CHANGE_ME_STRONG_DB_PW
      - POSTGRES_DB=gitea
    volumes:
      - ./postgres:/var/lib/postgresql/data
    networks:
      - gitea

networks:
  gitea:
    external: false

Firewall

Portas a abrir

PortaProtocoloFinalidade
3000TCPInterface web do Gitea e git via HTTP — mantenha atrás de um proxy reverso TLS (Caddy/Nginx) em produção
222TCPGit sobre SSH (porta do host mapeada para a porta 22 do container) para clone/push via chaves SSH
443TCPHTTPS através do seu proxy reverso, assim que o domínio e o certificado estiverem configurados
22TCPSSH do host para administração — mantenha em uma porta separada da 222 do Gitea e somente com chave

Dimensionamento adequado

Qual plano você precisa

Leve

VPS Nano/Small (1-2 vCPU, 2 GB RAM)

Desenvolvedor solo ou um punhado de usuários, algumas dezenas de repositórios, sem CI. O Gitea fica ocioso em torno de 150-200 MB de RAM.

Médio

VPS Pro (2-4 vCPU, 4-8 GB RAM)

Equipe pequena, pull requests ativos, além de um ou dois runners do Gitea Actions para CI. Adicione um volume de armazenamento para artefatos de release grandes.

Pesado

Dedicado (ou VPS Storage para repositórios)

Muitos usuários simultâneos, monorepos grandes, alta concorrência de CI ou mídia pesada em LFS. Uma CPU dedicada mantém as operações de clone/pack rápidas; combine com um plano Storage para dados de repositório/LFS.

Melhores localizações: Escolha uma localização com foco em privacidade — Suíça (CH) e Islândia (IS) oferecem a postura de proteção de dados mais forte para código-fonte, com Países Baixos (NL), Romênia (RO), Moldávia (MD) e Luxemburgo (LU) como sólidas alternativas offshore. Escolha a região mais próxima dos seus colaboradores para reduzir a latência de clone/push, já que as trocas do git são sensíveis à latência.

Bloqueie tudo

Checklist de hardening

  • Nunca exponha a porta 3000 diretamente à internet — coloque o Gitea atrás de um proxy reverso TLS (Caddy com HTTPS automático ou Nginx + certbot) e defina GITEA__server__ROOT_URL para o domínio https, para que as URLs de clone fiquem corretas.
  • Defina DISABLE_REGISTRATION=true (já presente no compose) logo após criar sua conta de administrador, para que ninguém possa se autorregistrar; convide usuários manualmente ou pelo painel de administração.
  • Mantenha o git sobre SSH na porta 222 e o sshd do próprio host em uma porta diferente, ambos somente com chave (PasswordAuthentication no); o Gitea gerencia seu authorized_keys internamente, portanto não o edite manualmente.
  • Ative o 2FA para todas as contas e exija-o para o administrador; mova a senha do banco de dados para fora do ambiente, usando um Docker secret ou um arquivo .env com permissões 600.
  • Faça backup agendado de ./gitea (repositórios, configuração, LFS) e de um pg_dump do banco de dados gitea, e fixe a imagem em uma tag de versão (gitea/gitea:1.22) em vez de latest, para que as atualizações sejam deliberadas — leia as notas de lançamento antes de subir versões principais.

Perguntas

Hospedagem Gitea — FAQ

Posso rodar CI/CD sem um serviço separado?

Sim. O Gitea tem Actions integrado (compatível com GitHub Actions). Ative o recurso e registre um container runner (gitea/act_runner) na sua instância. Para carga real de CI, use um plano Médio ou superior, para que os builds não sobrecarreguem o serviço web.

SQLite, MySQL ou PostgreSQL?

O SQLite funciona bem para um único usuário com uso leve e não precisa de container de banco de dados. Para qualquer equipe ou caminho de crescimento, use PostgreSQL como mostrado no compose — ele lida muito melhor com concorrência e é trivial de fazer backup com pg_dump.

Como migro meus repositórios do GitHub/GitLab?

A ferramenta de migração integrada do Gitea importa um repositório a partir da URL, incluindo issues, PRs, releases e wiki. Adicione um token da plataforma de origem no formulário de migração para trazer repositórios privados e metadados.

Isso lida bem com arquivos grandes (Git LFS)?

Sim, o LFS é suportado nativamente e armazenado em /data. Se você hospeda binários grandes ou mídia, coloque ./gitea em um volume de VPS Storage e planeje o espaço em disco adequadamente — os objetos LFS se acumulam rápido.

Meu código permanece privado em uma hospedagem sem KYC?

Seus repositórios ficam inteiramente no disco do seu VPS, na jurisdição offshore que você escolher; nada é espelhado para terceiros. Mantenha o registro desativado, use HTTPS + chaves SSH, ative o 2FA e faça backups criptografados fora do servidor para ter controle total.

Implante Gitea
nos próximos 60 segundos.

Banda ilimitada · DDoS incluído · 21 criptomoedas · sem KYC.