Introdução
Sou dev e professor universitário que recentemente implementei múltiplos projetos pessoais em uma única VPS de 3,6 GB de RAM. Este artigo aborda a arquitetura e os desafios enfrentados, incluindo a utilização de Docker Swarm e Traefik.

Arquitetura
A VPS é dividida em duas redes overlay: uma externa para os apps e uma interna para o banco de dados Postgres. Cada app é um serviço Docker Swarm, com traefik gerenciando rotas e certificados SSL.
Desafios
O principal desafio foi a falta de recursos gratuitos no Docker Hub, que limita a criação de repositórios privados. Solucionamos isso usando um único repositório privado com tags por projeto. Além disso, o webhook do Portainer é pago, então usamos Actions para atualizações.
Soluções
Para a falta de repositórios gratuitos, criamos um único repositório privado com tags por projeto. Para o webhook do Portainer, usamos Actions para atualizações, que funciona bem.
Conclusão
Embora tenha enfrentado alguns obstáculos, consegui manter tudo rodando sem problemas, economizando custos e simplificando a gestão dos aplicativos.