Todos os artigos

deploy

Como publicar uma web app pequena em uma VPS sem DevOps

Sua app roda bem no seu notebook — a parte difícil é a distância entre "funciona na minha máquina" e "no ar na internet". Aqui está o que publicar realmente envolve, as quatro coisas de que toda app precisa e como pular toda a configuração.

  • deploy
  • primeiros-passos
  • hospedagem
A janela de uma web app subindo com um check verde, publicada sem DevOps.

Você construiu alguma coisa. Ela roda no seu notebook — você digita um comando, abre localhost e lá está. Agora você quer que outras pessoas vejam, em um endereço de verdade, na internet. É nesse último passo que um número surpreendente de projetos pessoais empaca em silêncio.

O código está pronto. O que sobra é tudo o que fica em volta dele: colocar sua app em um servidor, mantê-la funcionando mesmo depois que você fecha o notebook e deixá-la acessível em um endereço como deve ser, com direito a cadeado. Esse conjunto de tarefas tem um nome — DevOps — e é a parte para a qual ninguém se inscreveu.

O que "publicar" realmente significa

Publicar é só mover sua app de "roda na minha máquina" para "roda em uma máquina que o mundo inteiro consegue alcançar". Para isso acontecer, três coisas precisam ser verdade:

  • o código precisa estar no servidor,
  • ele precisa continuar rodando — inclusive depois de um travamento ou de um reinício,
  • e os visitantes precisam conseguir alcançá-lo em um domínio, via HTTPS.

No seu notebook, as duas primeiras você ganha quase de graça: você inicia a app e ela roda até você parar. Um servidor é outra coisa — e é justamente essa diferença que é o trabalho todo.

O muro entre a sua app e a internet

Aqui está a pilha de pequenas peças pouco familiares que costuma ficar no meio do caminho:

  • Um gerenciador de processos — sua app precisa iniciar sozinha e voltar depois de um travamento ou de um reinício. Se você rodar na mão, ela morre no momento em que você sai da sessão.
  • Um reverse proxy — sua app escuta em alguma porta interna, como a 3000, mas os visitantes chegam na 80 e na 443. Algo precisa ficar na frente e encaminhá-los para dentro.
  • HTTPS — o cadeado. Um certificado, emitido e renovado, senão os navegadores rotulam seu site como "Não seguro".
  • Um domínio e uma porta aberta — o nome precisa apontar para o servidor, e o firewall precisa deixar o tráfego web passar.

Nenhuma dessas peças é difícil sozinha. Juntas, para uma primeira publicação, elas são um muro — quatro ferramentas que você nunca encontrou, cada uma com o seu arquivo de configuração e o seu jeito de falhar em silêncio.

Do que a sua app realmente precisa

Tire as ferramentas do caminho e os requisitos ficam simples. Sua app precisa de um lugar para rodar, de um jeito de continuar funcionando, de um caminho do endereço público até a sua porta interna e de um certificado para que a conexão seja privada. A lista é essa toda. Cada ferramenta do monte de DevOps existe para fornecer uma dessas quatro coisas.

Tenha isso em mente e publicar deixa de parecer mágica. São quatro necessidades — de qualquer jeito que você escolha atendê-las.

O atalho

Você pode montar cada peça por conta própria: escolhe um gerenciador de processos, configura um reverse proxy, prepara os certificados, aponta o domínio, abre a porta. É uma verdadeira escola, e uma verdadeira tarde — ou três. Ou você pode deixar o Server Manager cuidar disso: você diz a ele que tem uma web app e o endereço em que ela deve viver, e ele coloca sua app no servidor, mantém ela funcionando através de travamentos e reinícios, encaminha seu domínio para ela e liga o HTTPS — as quatro necessidades, resolvidas, sem um arquivo de configuração à vista.

O único pré-requisito é o domínio. Se você ainda não fez isso, comece por apontar um domínio para o seu servidor — e o cadeado vem sozinho assim que o nome resolver.

Sua app, seu servidor

A distância entre "funciona na minha máquina" e "está no ar" é o ponto em que muitas boas ideias vão esperar para sempre. Não precisa ser assim. O código era a parte difícil, e você já fez — colocá-lo online deveria ser a parte fácil, não o muro que te para. Sua app, no seu próprio servidor, no seu próprio endereço: essa é a recompensa inteira.

Os guias de ajuda mostram a publicação de uma app passo a passo sempre que você estiver pronto.