Colocando um Rocket.Chat no ar usando WeDeploy
Um dos destaques da BrazilJS Conf nesse ano foi o Rocket.Chat.
A plataforma chamou atenção do público tanto pela história, quanto pelas funcionalidades.
Gabriel Engel - Founder & CEO da Rocket.Chat
Muita gente hoje em dia se comunica via Slack e acaba esbarrando nas limitações do produto. O problema mais recorrente é o limite de mensagens na versão gratuita e o alto preço cobrado por usuário.
Por conta disso, alternativas open source se tornam muito interessantes. E é aí que o Rocket.Chat entra. Você pode rodar o projeto no seu próprio servidor, tudo o que ele precisa é Node.JS e MongoDB.
Nem todo mundo gosta de perder horas configurando um servidor, protegendo todas as portas necessárias do Linux, ajustando firewall e protegendo a máquina de ataques externos. Pra facilitar todo esse trabalho e ainda garantir que tudo isso escale, você pode utilizar o WeDeploy.
O WeDeploy é uma plataforma nova que te permite colocar qualquer aplicação na nuvem.
Como ela ainda está em beta tudo é gratuito, ou seja, você consegue colocar um Node.JS e MongoDB pra rodar um Rocket.Chat sem gastar um centavo. Quer ver?
Existe duas maneiras de colocar algo na nuvem usando WeDeploy. Ou você pode conectar um repositório do GitHub e a cada push que fizer o deploy é realizado. Ou então você pode utilizar a ferramenta de linha de comando e fazer o deploy a partir do seu terminal.
Deploy usando GitHub
Primeiro, você irá visitar esse repositório no GitHub e clicar em Fork.
Depois você irá até o Console do WeDeploy. Se já tiver uma conta é só fazer o login, se não basta criar uma conta nova.
Clique no botão de New Project e escolha um nome para seu projeto.
Dentro do seu novo projeto, clique em Deployment, depois vá até a aba GitHub.
Escolha o repositório que você forkou anteriormente.
Depois de alguns segundos, acesse a URL do seu app e pronto! Seu Rocket.Chat está no ar!
Deploy pelo terminal
Primeiro, nós precisamos instalar a ferramenta de linha de comando.
Se você estiver usando Windows, faça o download desse arquivo. Se estiver usando macOS ou Linux, rode esse comando:
curl https://cdn.wedeploy.com/cli/latest/wedeploy.sh -sL | bash
Agora é preciso criar uma conta no WeDeploy. Preencha o formulário e confirme seu email.
Depois volte no terminal e digite:
we login
Depois crie uma pasta com qualquer nome, por exemplo app, e crie um arquivo chamado wedeploy.json com o seguinte conteúdo.
{ "id": "app", "image": "rocket.chat" }
Depois crie uma pasta com outro nome, por exemplo db, e crie um arquivo chamado wedeploy.json com o seguinte conteúdo.
{ "id": "db", "image": "mongo", "volume": "/data/db" }
No final, você deverá ter a seguinte estrutura de arquivos.
Agora é só digitar o comando de deploy especificando um nome para o seu projeto:
we deploy -p meuprojeto
Depois de alguns segundos, acesse a URL do seu app e pronto! Seu Rocket.Chat está no ar!
E aí, gostou?
Espero que esse post possa ter mostrado um pouquinho do poder de ambas plataformas.
Qualquer dúvida, é só falar!