Domine sua agenda: Guia completo para instalar o CRM pessoal Mônica no Docker

O ritmo da vida moderna é frenético. Somos constantemente inundados por informações, desde notícias a publicações em redes sociais. Apesar daquela sensação de “medo de perder algo” (FOMO), é fácil se sentir sobrecarregado e acabar esquecendo datas e eventos importantes.

Agora que voltamos a sair e interagir mais, participando de reuniões e conhecendo novas pessoas, é comum esquecer detalhes sobre aqueles que acabamos de conhecer ou até mesmo sobre pessoas que fazem parte de nossas vidas há muito tempo.

Mônica surge como uma solução para simplificar o acompanhamento dessas informações. Trata-se de um CRM (Customer Relationship Management) pessoal de código aberto.

Com o Mônica, você consegue organizar as interações sociais com seus entes queridos de forma eficiente.

Vamos explorar como configurar uma instância do CRM pessoal Mônica no Docker, utilizando o Linode.

Pré-requisitos para Mônica no Docker

Inicialmente, você precisará de um servidor Docker configurado. O Linode facilita muito esse processo, permitindo a configuração por um valor acessível mensal, com a opção de adicionar um endereço IP privado (sem custo) e backups por um pequeno adicional mensal.

Outro requisito é um nome de domínio, que pode ser adquirido em diversas plataformas online, com preços variados. Certifique-se de que as configurações de DNS do domínio apontem para o Linode. Você pode encontrar mais informações sobre isso aqui.

Além disso, é recomendável ter um proxy reverso configurado no seu servidor Docker. Isso permite rotear o tráfego e gerenciar certificados SSL no servidor. Se precisar de auxílio nesse processo, você pode consultar este artigo e o vídeo da série, onde abordo a configuração de um servidor Docker com Portainer e o proxy reverso Nginx Proxy Manager.

Com o servidor Docker devidamente configurado, podemos dar início à instalação da instância Mônica nesse ambiente.

Existem duas maneiras principais de realizar esse processo:

  • Via linha de comando usando SSH.
  • Via interface do Portainer.

Neste tutorial, vamos utilizar o Portainer, que oferece uma interface gráfica para facilitar a configuração.

Acesse http://seu-endereco-ip:9000 e entre no Portainer com as credenciais que você definiu anteriormente.

No menu lateral esquerdo, clique em “Stacks” e, em seguida, no botão “+ Add stack”.

Na página seguinte, insira um nome para a pilha. Abaixo, copie e cole o seguinte código:

version: "3.4"
services:
  monica:
    image: monica
    networks:
      - nginxproxymanager_default
    depends_on:
      - monicadb
    ports:
      - 8456:80
    environment:
      - APP_KEY=idYyiD2Dj3yMqoyi3EpcnHWC2GxzSAS5
      - DB_HOST=monicadb
      - DB_USERNAME=monica
      - DB_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6
      - APP_ENV=production
    volumes:
      - /home/docker/monica/config:/var/www/html/storage
    restart: always

  monicadb:
    image: mysql:5.7
    networks:
      - nginxproxymanager_default
    environment:
      - MYSQL_RANDOM_ROOT_PASSWORD=true
      - MYSQL_DATABASE=monica
      - MYSQL_USER=monica
      - MYSQL_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6
    volumes:
      - /home/docker/monica/db:/var/lib/mysql
    restart: always

networks:
  nginxproxymanager_default:
    external: true

Este arquivo Docker Compose instrui o sistema a baixar a imagem oficial mais recente do Mônica para o servidor Docker. O contêiner será nomeado “monica”, conectado à rede “nginxproxymanager_default”, montado no diretório “/home/docker/monica” e disponibilizado na porta 8456 do servidor Docker.

Você pode alterar o caminho onde os dados do Mônica serão armazenados, se desejar. Certifique-se de que a pasta tenha as permissões de escrita adequadas.

É fundamental alterar as senhas do banco de dados para garantir a segurança.

Além disso, substitua o valor de “APP_KEY” por uma sequência de caracteres longa e aleatória.

Com as configurações revisadas, clique em “Deploy the stack” para iniciar a implantação do contêiner.

O sistema iniciará o processo de download e implantação do Mônica. Após a conclusão, a página será recarregada, exibindo todos os seus contêineres em execução.

Agora você pode acessar http://seu-endereco-ip:8456 para visualizar a tela de login do Mônica.

Neste momento, você já pode acessar o site e iniciar o uso. No entanto, vamos configurar o acesso via subdomínio para facilitar a navegação.

Configurando um domínio e SSL

Retorne ao painel do Linode e acesse a seção “Domains”. Selecione o domínio que você adicionou à sua conta e procure pela seção CNAME nas configurações.

Adicione um CNAME ao seu domínio, definindo o nome do host para o seu subdomínio. No exemplo, usamos “monica” (sem aspas). No campo “Alias to”, insira o símbolo @ e salve as configurações.

Com isso, podemos configurar o SSL e o domínio no Nginx Proxy Manager.

Acesse http://seu-endereco-ip:81 para visualizar a tela de login do Nginx Proxy Manager.

As credenciais padrão do Nginx Proxy Manager são:

Email: [email protected]
Password: changeme

Utilize essas credenciais (ou as que você definiu) para acessar sua instância do Nginx Proxy Manager.

Clique na aba “SSL Certificates” e, em seguida, no botão “Add SSL Certificate”.

Selecione a opção “Let’s Encrypt”.

Na janela que se abre, insira o URL completo do domínio que você deseja proteger. Por exemplo, https://monica.seudominio.com.

Após inserir o URL, clique em “Test Server Accessibility”. Caso ocorra algum erro, corrija-o e tente novamente. Se não houver erros, verifique o endereço de e-mail na página, concorde com os termos de serviço do Let’s Encrypt e clique em “Save”.

A geração e instalação da chave pode levar alguns minutos. Ao concluir o processo, a página será atualizada e você poderá visualizar todos os certificados SSL disponíveis no Nginx Proxy Manager.

Com o SSL configurado, clique na aba “Hosts” e, em seguida, em “Proxy Hosts”.

Clique no botão “Add Proxy Host”.

Uma nova janela será exibida. Preencha as opções de acordo com seu domínio:

Insira o domínio ou subdomínio para o qual você criou o certificado SSL.

Mantenha o esquema como HTTP.

Insira o endereço IP do seu contêiner. Você pode encontrá-lo no Portainer.

No campo “Forward Port”, insira a porta do contêiner, que é 80 neste caso. O número 8456 exibido na seção “Published Ports” na imagem acima é a porta do Docker. Utilize o número do lado direito do caractere “:” (dois pontos).

Marque as opções “Cache Assets”, “Block Common Exploits” e “Websocket Support”.

Clique na aba “SSL”.

Você verá um menu suspenso “SSL Certificate” que indica “None”.

Clique em “None” e selecione o SSL que você criou anteriormente.

Marque as 4 opções abaixo, concorde com os termos de serviço do Let’s Encrypt e clique em “Save”.

Após alguns instantes, a página será atualizada e sua nova entrada será exibida na página “Proxy Hosts” do Nginx Proxy Manager.

Primeiro login

Agora, você pode acessar sua nova URL no navegador.

Você será direcionado para uma página de login semelhante a esta:

Preencha o formulário de registro com suas informações, marque a caixa de concordância com os termos de serviço e clique em “Register”.

Após o login, você poderá começar a criar ou importar seus contatos. Antes disso, acesse o ícone de configurações (engrenagem) no canto superior direito da tela e ajuste as configurações conforme sua necessidade. Preste atenção especial à aba “Personalization”, no menu lateral esquerdo, para configurar os campos de dados adequados ao seu uso.

Lembre-se que você pode alterar ou atualizar essas configurações posteriormente, se necessário.

Comece a adicionar contatos

Com sua instância do Mônica em funcionamento, você já pode começar a gerenciar suas interações diárias, relacionamentos e muito mais. Lembre-se que a atenção aos detalhes como aniversários e datas especiais podem impressionar positivamente seus contatos!

Caso não se sinta confortável em instalar e gerenciar uma instância do Mônica por conta própria, ou necessite de mais recursos, você pode optar por um CRM baseado na nuvem.