Subir para produção de forma mais barata? VPS , Coolify e Node!
Recentemente estou tocando um projeto muito bacana(em breve farei um pitch apresentando o projeto) motivado pelo curso.dev e me deparei com alguns problemas. Um deles foi a questão de pensar no impacto que teria nas pessoas e como subir essas coisas em produção.
Uma das opções foi a Vercel, e vi que até faz sentido caso eu fosse utilizar somente o Next.js. Mas não era esse o meu caso. Eu queria utilizar um repo separado para o back-end, mais especificamente utilizando o Nest.
Pois bem, verifiquei várias opções disponíveis no mercado, e após muito pesquisar e sondar, optei por utilizar a Stack que está no título. VPS , Coolify , Node. E que acerto, foi tudo muito rápido, e olha que eu nunca tinha mexido com nenhuma VPS na minha vida, deu aquele frio na barriga, mas no final funcionou bem demais e consegui subir minha API em produção, com uma possibilidade de customização fantástica.
O que é o Coolify
É uma aplicação open-source que visa que você possa fazer o deploy das suas aplicações de maneira simplificada, como nos bons tempos do Heroku e agora, com a Vercel, só que um plus... É self-hosted, ou seja, a única coisa que você paga é a VPS (ISSO AQUI ME PEGOU DEMAIS).
CI/CD facilitada, de graça, com banco de dados, logs, infinitas possibilidades... parece até mentira, mas não é.
Cheguei nessa solução graças ao querido Erick Wendel e esse vídeo que ele fez que pode te ajudar até mais que esse artigo. Vídeo do Erick
Mas e a VPS?
Bem, se você é um leigo como eu, VPS é a sigla para servidor privado virtual, uma máquina virtual que hospeda dados e softwares necessários para a execução de um site ou aplicação. Simples e fácil né, então para fazer o deploy nela será muito simples. Fica a minha indicação da Hostinger que fez com que fosse muito simples essa criação de VPS.
Dito isso, conectado na sua VPS de escolha, vamos ao que de fato interessa...
Fazendo o deploy de uma aplicação Node com Banco de Dados
Bom, para instalar na sua VPS o Coolify, é bem simples, é só rodar esse comando aqui:
curl -fsSL <https://cdn.coollabs.io/coolify/install.sh> | bash
Simples né? Após isso, o Coolify já te dará acesso a ele através do host da sua VPS na porta 8000.
Se seguir o tutorial deles, ele irá te jogar numa página parecida com essa daqui:
Feito isso, de o nome que quiser ao seu projeto e ele será aberto nessa página:
Clicando em production, nós poderemos adicionar um novo recurso, nesse caso um projeto Node. Clique no botão que diz "Add new resource" Como ele pode pegar e tornar isso tudo automágico como é na Vercel? É muito simples também.
Ao clicar em Private repository aqui
Ele irá pedir várias coisas para conectar no seu Github. Pode conectar sem medo. Vai clicando em next que uma hora você vai cair nessa página para selecionar seu repositório, como na Vercel.
Após isso, chegou a hora de configurar o build do projeto. Abaixo, coloquei algumas configurações básicas que podemos utilizar num projeto em Next, que nada mais é que um projeto Node também.
Se você clicar ali em cima no botão de "Deploy", vai ver o deploy acontecendo e poderá acompanhar os logs. Se tudo der certo, vai aparecer algo parecido com isso aqui:
E ao ir para o domínio que ele indicou, olha que bacana, a aplicação está lá rodando pro mundo ver!
Isso me empolgou demais! Se você for curioso e fuçar vai ver que tem várias aplicações para serem plugadas no seu projeto de monitoramento, CI/CD, Bancos de dados, etc... isso é uma máquina!(Literalmente)
Deixa aí nos comentários o que achou dessa abordagem, foi um prazer compartilhar um conhecimento que agora mudou minha vida e pode mudar a sua, dado que aqui no TabNews temos vários entusiastas de MicroSaas, isso pode ajudar pra caramba você a faturar muito mais!
Tamo junto pessoal!
E ai GuiRaulino, blz?
Muito top essa ferramenta, Coolify, é uma mão na roda muito grande. Tenho duas aplicações rodando com ela e, realmente, é bem simples de configurar, mas muito poderosa.
Pra quem quer testar a ferramenta e nao tem uma VPS disponível, uma ideia é usar uma VPS free tier da Oracle. Caso alguém precise de ajuda para isso, estou a disposição.
Outro ponto legal também é a facilidade para subir bancos de dados e outras ferramentas como minio, por exemplo.
Eu não cheguei a usar o Coolify e acabei indo pro Dokploy. Segundo este artigo da Hostinger eles são muito parecidos: https://www.hostinger.com/tutorials/coolify-vs-dokploy#What_is_Coolify
E se o coolify realmente for tão parecido com o Dokploy de fato é muito prático. Quando fiz meu primeiro deploy integrando com o repositório fiquei questionando por que passei tanto tempo sem utilizar esse tipo de ferramenta. No meu caso basta fazer o commit que ele inicia automaticamente um novo deploy. Único alerta que faço: É um caminho sem volta e é viciante! Tenho que me controlar pra não sair criando mil aplicações que não vou usar de verdade. Se tem uma dica que eu gostaria de ter visto antes por aqui é essa. Parabéns pela iniciativa e pela contribuição!
Estou começando a estudar sobre esses assuntos agora e gostaria de tirar uma dúvida. Tenho um PC parado com 16 GB de RAM e uma CPU 6/12, e gostaria de utilizá-lo como uma VPS para hospedar alguns sites e aplicações web. Vocês poderiam recomendar ferramentas, vídeos ou tópicos que eu deva estudar para conseguir fazer isso?
Meu objetivo era comprar um domínio e usar essa máquina como VPS, mas me deparei com uma barreira: meu provedor de internet não permite o redirecionamento de uma porta externa para uma interna, o que impede que eu exponha meu site na internet.
Se alguém tiver alguma dica de como contornar esse problema, agradeço desde já. Sou iniciante no assunto e toda ajuda será bem-vinda!
Depois que eu coneci a netcup, não quero mais nada!