wils@web ~ $ cat ~/ajuda/como-configurar-deploy-automatico-com-git-e-webhook-no-vps.md

Servidores

Como configurar deploy automático com Git e webhook no VPS

atualizado em 21/07/2026

Este manual tem como objetivo ensinar como configurar um deploy automático utilizando Git e webhooks em um servidor VPS rodando Ubuntu 20.04.

Passo 1: Preparar o servidor

Primeiro, você precisa ter o Git instalado no seu servidor. Execute o seguinte comando:

sudo apt update && sudo apt install git

Passo 2: Criar um repositório Git

Crie um diretório para o seu projeto e inicialize um repositório Git:

mkdir ~/meu_projeto && cd ~/meu_projeto && git init

Passo 3: Configurar o Webhook

Você precisará de um servidor web para receber os webhooks. Instale o Node.js e o npm:

sudo apt install nodejs npm

Crie um arquivo chamado webhook.js:

nano webhook.js

Adicione o seguinte código ao arquivo:

const http = require('http');
const { exec } = require('child_process');

const server = http.createServer((req, res) => {
  if (req.method === 'POST') {
    exec('git pull origin main', { cwd: '/home/usuario/meu_projeto' }, (error, stdout, stderr) => {
      if (error) {
        console.error(`exec error: ${error}`);
        return;
      }
      console.log(`stdout: ${stdout}`);
      console.error(`stderr: ${stderr}`);
    });
    res.writeHead(200, { 'Content-Type': 'text/plain' });
    res.end('Deploy realizado!');
  }
});

server.listen(3000, () => {
  console.log('Servidor rodando na porta 3000');
});

Passo 4: Executar o servidor

Execute o servidor Node.js:

node webhook.js

Passo 5: Configurar o GitHub

No seu repositório do GitHub, vá até Settings > Webhooks e adicione um novo webhook. Use a URL do seu servidor:

http://SEU_IP:3000

Dica de Verificação/Segurança

Certifique-se de que o seu servidor está protegido e que você está usando HTTPS para o webhook. Considere usar um firewall para limitar o acesso.

Precisa de ajuda com isso no seu servidor? A gente resolve pra você.

falar no WhatsApp

// deu erro ou não funcionou?

Achou algo errado neste manual?

Conta pra gente o que deu errado ou qual erro apareceu — a gente corrige. Se quiser retorno, deixe seu contato.