Executando verificação de segurança...
6

[ AJUDA ] Como faço deploy de uma API+DB em uma VPS?

Olá, estou estudando desenvolvimento a cerca de um ano, ainda não fiz nenhuma atuação profissional. Estou para pegar um projeto que farei tudo nele, e queria saber se pessoal podem me tirar duvidas se posso por exemplo utilziar uma vps como a da hostinger para subir uma api e um banco de dados e se der pra subir precisaria de conteiners/docker? Ou eu precisaria assinar uma plataforma de hospedagem só de banco?

Carregando publicação patrocinada...
2
2

Se for para fins comerciais, você deveria pegar alguma mais gerenciado, pois se fizer tudo na VPS, você precisa garantir que está fazendo os backup, e se sua maquina der problema ?

Se for iniciante eu iria de hospedagem compartinhada pois está tudo configurado e eles oferecem banco gerenciado, vai de você.

Se tiver grana e se for o caso para o projeto poderia estar vendo um Digital Ocean, Heroku, AWS, Azure.

[EDIT]
Se for projeto pessoal para aprender eu iria de AWS, esquece hospegem compatilhada, abriria um conta e usava o free tier, você aprendendo IAM, EC2, RDS, Route 53 e S3 te garanto vai ser um up e tanto na sua jornada como dev.

2
1

Esse tutorial é bom mesmo! Ensina como configurar a vps usando o easypanel, um painel pra gerenciar os recuros e projetos. Estou usando o easypanel e recomendo!

0
1

Bom dia, tudo bom?
Tenho um projeto que desenvolvi que utilizo uma VPS da hostinger, nele estão POSTGRES e uma API em Spring rodando, roda tranquilo, mas tenho problemas que eles fazem manutenção e desligam os servidores ocasionando em alguns timeouts para usuários do sistema rs.
Mas sim, é possivel ter uma VPS rodando com o banco e api no mesmo ambiente, lembrando que VPS é como se fosse uma máquina normal com recursos limitados então saiba bem utilizar eles

1

Amigo, estou com a mesma dúvida da pessoa da pergunta, eu tambem preciso hospedar um banco e é um mvp, voce aconselha hospedar na propria vps ou um banco por fora?

1

Entendi, no caso você só instalou o pg e colocou a api para rodar?
Da pra fazer alterações nela ou atualizar o código sem que caia ?

Ah minha intenção é para uma aplicação pequena, então acredito que resolva

1

Então, no meu caso toda vez que precisava subir uma feat ou correção pra prod tinha que parar o serviço, fazer o pull no repo e subir novamente, coisa de 3 min

1

Estava com o mesmo problema em relação a banco de dados, resolvi usar a turso.tech que basicamente é um sqlite online e plano gratuito deles é bom

1
1

Eu uso a Hostinger para hospedar uma aplicação minha com NestJS + Postgres e funciona muito bem. Já tem mais de 1 ano e nunca tive problemas. O melhor é você pegar a VPS e instalar o colify que transforma sua VPS em uma verdadeira AWS (rs). Pelo colify você consegue subir aplicações diretas do seu Githiub e ele faz todo o gerenciamento. Muito bom.

1

Hoje mesmo aluguei uma VPS na Hostinger "KVM 2". Minha ideia é colocar alguns projetos meus para uso pessoal, pois já tenho experiência no uso de VPS.

  • [AJUDA] Como faço o deploy de uma API+DB em uma VPS?

Resumidamente, uma VPS é uma máquina normal que tem um IP público. Ou seja, é só fazer a mesma coisa que foi feita no seu PC na VPS e rodar o projeto normalmente.

E como faz para acessar? Quando você aluga uma VPS, a empresa fornece o IP da máquina. Sendo assim, basta rodar o projeto e, ao invés de usar o localhost:4098, você vai usar o IP da máquina, por exemplo: http://111.213.54.87:4098. Se o IP for válido e tiver algo rodando nessa porta, com a porta liberada, o projeto vai abrir.

Também tem a questão do domínio e de ativar HTTPS, mas isso é bem simples. Basta usar o Nginx e o Certbot.

1

Tbm tem que tomar muito cuidado com a questão da segurança, da vps, instalar um bom antivírus, usar um chave para se conectar, firewall, waf para aplicação, log e análise de log para saber se s
estão tentando invadir sua aplicação, proteção do banco de dados, configuração correta do contêiner....enfim, parece ser algo muito trabalhoso, mas tem vários tutoriais e vídeos explicando como ter uma configuração minimamente decente...espero ter ajudado

1

Olá, boa noite

Na minha experiência, tudo depende do quanto quer investir, tamanho do projeto, demanda dos recursos, etc.

Se quer rodar a aplicação e o banco de dados na mesma máquina, não tem problema, o mesmo se aplica a rodar em máquinas separadas. Ter duas maquinas é ter que cuidar de dois ambientes, e isso pode ser complicado.

No começo, utilize uma máquina somente, faça funcionar, não se preocupe com otimização prévia, espere precisar chegar nesse ponto pra dai otimizar.

Sobre docker, pense que ele é seu aliado, se você ver sobre Docker Compose, vai ver que ele é uma forma de rodar varios container de uma vez só, e em um arquivo compose.yaml você coloca a definição do seu banco de dados e aplicação juntos. Eu 100% recomendo tirar um tempo e aprender docker, vai te ajudar muito no futuro.