Antes de te contar por que o Coolify mudou completamente minha forma de fazer deploy, acho que vale explicar rapidinho o que ele é.

O que é o Coolify?

Coolify é uma alternativa à Vercel que você pode hospedar na sua VPS, na sua máquina local ou onde quiser, facilitando bastante o deploy de aplicações web.

O que o Coolify permite você fazer

  • Self-hosted: você controla totalmente seus apps e dados (sem depender de Vercel/Heroku).
  • Deploy automático: conecta com Git e faz deploy tipo CI/CD facilmente.
  • Suporte a Docker: perfeito para quem já trabalha com containers.
  • Open source: sem lock-in e com custo muito menor.
  • Multi-serviços: roda APIs, bancos, filas, tudo no mesmo lugar.

Eu sei que até aqui parece um merchan pesado de Coolify, mas juro: a ferramenta é muito boa. Espero que, até o fim, você entenda.

Como eu fazia deploy antes do Coolify

Esse era o meu fluxo, sendo bem transparente:

COMMIT ENTRA NA VPS GIT PULL NPM INSTALL NPM RUN BUILD PM2 RESTART.

CI/CD? Piada.

Eu sei, pode me julgar

Homem das cavernas

Como o Coolify melhorou o meu fluxo de deploy?

Com o Coolify, dá para configurar uma integração com o GitHub e deixar a plataforma acessar seus repositórios com segurança.

Integração com GitHub

Quando você configura a integração, cria um GitHub App (ou usa o padrão do Coolify) e instala na sua conta ou organização. Com isso, o Coolify recebe:

  • Tokens de acesso temporários: o Coolify não armazena sua senha nem um Personal Access Token (PAT) fixo e de longa duração, o que deixa tudo mais seguro.
  • Permissões granulares: você define exatamente quais repositórios o Coolify pode acessar.

Comunicação via Webhooks

A automação acontece por webhooks. Quando você instala o GitHub App, o GitHub passa a enviar notificações para a URL do seu servidor Coolify sempre que acontece um evento específico, como git push ou abertura de pull request.

Na prática, isso vira CI/CD automático: cada push no repositório pode disparar o deploy sem você precisar fazer nada manualmente.

Outra coisa que curti muito no Coolify foi a possibilidade de fazer deploy preview de um jeito simples.

Como funciona o deploy preview?

Quando você abre um pull request ou manda um novo commit para um PR já existente, o GitHub envia um webhook para o seu servidor Coolify com a ação pull_request.

Criação do ambiente temporário

Quando esse evento chega, o Coolify não mexe na produção. Em vez disso, ele:

  • Clona a branch específica do pull request.
  • Gera um novo ID único para esse deploy.
  • Inicia um novo container (ou conjunto de containers) baseado nas configurações da aplicação original.

Atribuição de URL Dinâmica

O Coolify usa o seu servidor de proxy (geralmente o Traefik) para gerar automaticamente um subdomínio temporário.

  • Exemplo: Se sua URL principal é myapp.com, o preview pode ser pr-12-myapp.seu-ip.sslip.io ou um subdomínio configurado em seu DNS.

Mais detalhes sobre essa integração: Coolify GitHub Integration

Traefik

O Traefik é um edge router (roteador de borda) e proxy reverso moderno, feito para arquiteturas com microserviços e containers. Diferentemente de proxies mais tradicionais, como o Nginx, que exigem configuração manual estática, o Traefik é dinâmico (e isso é uma beleza).

Antes eu usava Nginx, e não é ruim. Mas, no dia a dia, o Traefik facilita demais o gerenciamento de tudo.

O Coolify instala o Traefik por padrão como o seu Proxy Engine. Ele serve como a espinha dorsal para a conectividade de todas as aplicações que você hospeda.

Ele também faz roteamento automático, gerencia SSL com Let’s Encrypt e facilita wildcard e deploy previews.

Se quiser saber mais: Traefik

Como o deploy realmente funciona (e por que é tão bom)

O deploy no Coolify pode ser dividido em quatro fases principais:

1. Fonte

Tudo começa na etapa de buscar o código. O Coolify suporta três origens principais:

  • GitHub/GitLab/Bitbucket: por meio da integração que discutimos, ele faz o git clone da branch específica.
  • Repositório público: só informar a URL.
  • Docker image: ele pula a etapa de build e só baixa uma imagem pronta do Docker Hub ou de outro registry.

2. O Motor de Build

Essa é a parte mais importante. O Coolify precisa transformar seu código em uma imagem Docker, e para isso ele tem três caminhos:

  • Nixpacks (padrão): criado pela Railway, o Nixpacks analisa seu código (ex.: detecta um arquivo package.json ou requirements.txt), instala as dependências necessárias e cria uma imagem otimizada sem que você precise escrever uma linha de configuração.

  • Dockerfile: se você já tiver um Dockerfile no projeto, o Coolify ignora o Nixpacks e segue suas instruções exatas.

  • Docker Compose: para stacks mais complexas (app + banco + Redis).

3. O deployment com zero-downtime

Depois de gerar a imagem, o Coolify inicia o container. Para evitar que seu site fique fora do ar durante a atualização, ele usa uma estratégia de rolling update:

  1. Ele mantém o container antigo rodando.
  2. Sobe o container novo em uma porta diferente.
  3. Realiza um health check: o Coolify “pergunta” ao novo container se ele está pronto (geralmente esperando um código HTTP 200).
  4. Assim que o novo container responde, o Traefik desvia o tráfego para ele.
  5. O container antigo é desligado e removido.

4. Monitoramento e logs

Assim que o deploy termina, você já tem:

  • Logs em tempo real: o Coolify faz streaming dos logs no navegador para você identificar erro de inicialização na hora.
  • Persistent storage: se você definiu volumes, ele garante que os dados (imagens, banco etc.) sejam montados no novo container sem perda.

Considerações finais

Para mim, que estava no combo Nginx + PM2 com deploy manual, isso foi uma quinta revolução industrial.

Se você curtiu a proposta e quer simplificar seu fluxo também, vale muito testar o Coolify: coolify.io.