Colocando um Rocket.Chat no ar usando WeDeploy

Por:
Em:

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

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.

rocketchat-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

  1. Primeiro, você irá visitar esse repositório no GitHub e clicar em Fork.
  2. 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.
  3. Clique no botão de New Project e escolha um nome para seu projeto.
  4. Dentro do seu novo projeto, clique em Deployment, depois vá até a aba GitHub.
  5. Escolha o repositório que você forkou anteriormente.
screen-shot-2017-08-30-at-2-59-44-pm

Depois de alguns segundos, acesse a URL do seu app e pronto! Seu Rocket.Chat está no ar!

screen-shot-2017-08-30-at-2-49-34-pm

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!

screen-shot-2017-08-30-at-2-49-34-pm

E aí, gostou?

Espero que esse post possa ter mostrado um pouquinho do poder de ambas plataformas.

Qualquer dúvida, é só falar!

  • ServiceWorker: A revolução da plataforma Web

    Mesmo não sendo o melhor nome de feature adicionada à plataforma Web, tudo indica o ServiceWorker como sendo a adição mais significativa para a plataforma Web desde a introdução do AJAX — há mais de 10 anos atrás. Não confunda o ServiceWorker com o WebWorker (usado para descarregar operações intensas de computação para outra thread), […]

  • Criando um sistema de paginação simples com JavaScript

    Veja neste artigo como criar um sistema simples de paginação com JavaScript

  • BRJS2017: Confira como foram as palestras da tarde do primeiro dia

    Palestrando pela segunda vez na BrazilJS, Jean Carlo Emer (@jcemer) falou sobre Types and Immutability: why you should care. Ele disse que esse é “o assunto mais relevante do momento”, e ainda alertou: JS é uma linguagem dinâmica e fracamente tipada. – Tipos sempre foram uma dor de cabeça em JS – afirmou, antes de […]

Patrocinadores BrazilJS

Gold

Silver

Bronze

Apoio

BrazilJS® é uma iniciativa NASC.     Hosted by Getup