La sociedad actual se mueve rápido. Estamos constantemente bombardeados con noticias y publicaciones en las redes sociales e, incluso con FOMO (miedo a perderse algo), es fácil abrumarse con todo lo que sucede en nuestras vidas y olvidar fechas y eventos importantes.

Ahora que salimos y hacemos más cosas en el mundo nuevamente, asistimos a más reuniones, conocemos gente nueva y suceden más cosas en nuestra vida diaria, por lo que a veces es fácil olvidar detalles sobre las personas que acabamos de conocer. conocimos o incluso sobre personas que conocemos desde siempre.

Mónica hace que hacer un seguimiento de todo esto sea MUCHO más fácil. Es un CRM personal de código abierto.

Mónica te ayuda a organizar las interacciones sociales con tus seres queridos.

Echemos un vistazo a cómo configurar una instancia del CRM personal de Mónica en Docker en Linode.

Requisitos previos para Mónica en Docker

Lo primero es lo primero, necesitarás un servidor acoplable configurar. Linode ha hecho que el proceso sea muy simple y puede configurar uno por solo unos pocos dólares al mes y puede agregar una dirección IP privada (gratis) y copias de seguridad por solo un par de dólares más al mes.

Otra cosa que necesitarás es un nombre de dominio, que puede comprar desde casi cualquier lugar en línea por una amplia gama de precios según el lugar donde realice su compra. Asegúrese de apuntar a la configuración de DNS del dominio para apuntar a Linode. Usted puede encuentre más información al respecto aquí.

También querrá configurar un proxy inverso en su servidor Docker para que pueda hacer cosas como enrutar el tráfico y administrar los SSL en su servidor. Hice un video sobre el proceso de configuración de un servidor Docker con Portainer y un proxy inverso llamado Nginx Proxy Manager que puedes ver aquí en el primera publicación en el blog y video de esta serie

Una vez que haya configurado su servidor Docker, puede comenzar el proceso de configuración de su instancia de Monica en ese servidor.

Hay 2 formas principales de hacer esto:

  • En la línea de comandos a través de SSH.
  • En Portainer a través del tablero de Portainer.

Vamos a echar un vistazo a cómo hacer esto en Portainer para que podamos tener una interfaz de usuario con la que trabajar.

Pásate por http://your-server-ip-address:9000 e inicie sesión en Portainer con las credenciales que configuramos en nuestra publicación/video anterior.

En el lado izquierdo de la pantalla, vamos a hacer clic en el enlace "Pilas" y luego, en la página siguiente, haga clic en el botón "+ Agregar pila".

Esto abrirá una página donde ingresará el nombre de la pila. Debajo de eso, puede copiar y pegar lo siguiente:

---<br></br>version: "3.4"<br></br>services:<br></br>  monica:<br></br>    image: monica<br></br>    networks:<br></br>      - nginxproxymanager_default<br></br>    depends_on:<br></br>      - monicadb<br></br>    ports:<br></br>      - 8456:80<br></br>    environment:<br></br>      - APP_KEY=idYyiD2Dj3yMqoyi3EpcnHWC2GxzSAS5<br></br>      - DB_HOST=monicadb<br></br>      - DB_USERNAME=monica<br></br>      - DB_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6<br></br>      - APP_ENV=production<br></br>    volumes:<br></br>      - /home/docker/monica/config:/var/www/html/storage<br></br>    restart: always<br></br><br></br>  monicadb:<br></br>    image: mysql:5.7<br></br>    networks:<br></br>      - nginxproxymanager_default<br></br>    environment:<br></br>      - MYSQL_RANDOM_ROOT_PASSWORD=true<br></br>      - MYSQL_DATABASE=monica<br></br>      - MYSQL_USER=monica<br></br>      - MYSQL_PASSWORD=b2fWAfbyQuopHH9nD738x6o9TC9S8LM6<br></br>    volumes:<br></br>      - /home/docker/monica/db:/var/lib/mysql<br></br>    restart: always<br></br>    <br></br>networks:<br></br>  nginxproxymanager_default:<br></br>    external: true<br></br>

Este archivo/pila de composición de Docker le indica al sistema que descargue la última imagen oficial de Mónica en el servidor de Docker, nombre el contenedor "mónica", adjúntelo a la red "nginxproxymanager_default", móntelo en el directorio "home/docker/monica", y haz que esté disponible en el puerto 6875 del servidor docker.

Si lo desea, puede cambiar la ruta donde desea almacenar los datos de Monica. Solo asegúrese de que la carpeta tenga los permisos correctos para escribir.

Asegúrese de cambiar las contraseñas de la base de datos por seguridad.

Además, "APP_KEY" debe cambiarse a una cadena de caracteres aleatoria diferente y larga.

Una vez que esté satisfecho con la configuración aquí, podemos implementar el contenedor haciendo clic en el botón que dice "Implementar la pila".

Esto iniciará el proceso de descarga e implementación de Monica en su servidor. Sabrá que el contenedor se ha implementado una vez que la página se vuelva a cargar y vea todos sus contenedores en ejecución.

Ahora puedes ir a http://your-server-ip-address:8456 y debería poder ver la pantalla de inicio de sesión de Monica.

En este punto, puede iniciar sesión en el sitio y comenzar, pero queremos que esto sea accesible desde un subdominio, así que abordemos eso ahora.

Configuración de un dominio y SSL

Regrese a su panel de control de Linode y vaya a "Dominios". Luego busque el dominio que agregó a su cuenta. Haga clic en él y luego busque la sección CNAME de la administración de dominios.

Agregue un CNAME a su dominio ingresando una entrada de nombre de host para lo que le gustaría que fuera su subdominio. En el video de ejemplo, ingresé "mónica" (sin las comillas). Debajo de eso, ingresé el símbolo @ en el cuadro "Alias ​​para" y luego hice clic en "Guardar".

Ahora que lo ha hecho, podemos dirigirnos a Nginx Proxy Manager y configurar nuestro SSL y dominio.

Ahora puedes ir a http://your-server-ip-address:81 y debería poder ver la pantalla de inicio de sesión de Nginx Proxy Manager.

Las credenciales predeterminadas para Nginx Proxy Manager son:

Email: admin@example.com
Password: changeme

Ingrese esas credenciales (o las suyas si las actualizó) para iniciar sesión en su instancia de Nginx Proxy Manager.

Haga clic en la pestaña en la parte superior de la página que dice "Certificados SSL" y luego haga clic en el botón "Agregar certificado SSL" cerca de la parte superior derecha de la página.

A continuación, haga clic en la opción "Let's Encrypt".

En la ventana emergente que aparece, ingrese la URL completa del dominio que desea proteger y presione la tecla "Enter" en su teclado.

En este ejemplo, ingresaría https://monica.yourdomain.com.

Una vez que haya ingresado su URL, haga clic en el botón "Probar la accesibilidad del servidor" justo debajo de eso. Si recibe un mensaje de error, asegúrese de corregir el problema y vuelva a intentarlo. Si no se devuelven errores, asegúrese de que la dirección de correo electrónico en la página sea correcta, luego lea y acepte los Términos de servicio de Let's Encrypt y haga clic en el botón "Guardar".

El sistema puede tardar uno o dos minutos en generar e instalar la clave, pero cuando termine, la página se volverá a cargar y podrá ver todos los SSL disponibles en Nginx Proxy Manager.

Ahora que tenemos nuestro SSL configurado en nuestro sistema, podemos hacer clic en la pestaña "Hosts" en la parte superior de la página. Luego haga clic en la opción "Proxy Hosts" que aparece en el submenú.

Localice el botón "Agregar host proxy" cerca de la parte superior derecha de la página y haga clic en él.

Aparecerá una nueva ventana y vamos a completar algunas opciones para configurar nuestro dominio.

Ingrese el dominio o subdominio para el que acaba de crear el SSL.

Deje el Esquema como HTTP.

Introduzca la dirección IP de su contenedor. Esto se puede encontrar en Portainer:

Para el cuadro de texto "Puerto de reenvío", ingrese el puerto del contenedor. En este caso, es 80. El 8456 que vemos en la sección "Puertos publicados" de la imagen de arriba es lo que llamaremos el puerto Docker. Queremos el puerto en el lado del contenedor de las cosas, así que usaremos el número en el lado derecho del punto y coma.

Haga clic en las opciones para "Activos de caché", "Bloquear exploits comunes" y "Soporte de Websocket".

Ahora haga clic en la pestaña "SSL" en la parte superior de la ventana emergente.

Verá un menú desplegable que dice "Certificado SSL" y, debajo de eso, "Ninguno".

Haga clic en "Ninguno" y luego seleccione el SSL que creó en los pasos anteriores.

Ahora marque las 4 opciones que están debajo de eso, luego lea y acepte los TOS de Let's Encrypt y luego haga clic en Guardar.

Después de un momento, la página se volverá a cargar y debería ver su nueva entrada en la página Proxy Hosts de Nginx Proxy Manager.

Primer inicio de sesión

Ahora puede dirigirse a su nueva URL en su navegador.

Debería ser llevado a una página de inicio de sesión que se ve así:

Complete el formulario de registro con su información, marque la casilla sobre los TOS y haga clic en el botón "Registrarse".

Una vez que haya iniciado sesión, podrá comenzar a crear o importar sus contactos. Sin embargo, antes de hacerlo, asegúrese de ir al ícono de configuración (el engranaje) en la parte superior derecha y ajuste la configuración a sus necesidades. Preste especial atención a la pestaña "Personalización" en el lado izquierdo de la pantalla para que tenga los campos de datos para su configuración que son justo lo que necesita.

Siempre puede regresar y cambiarlos/actualizarlos más tarde según lo necesite, así que no se preocupe por hacerlo bien la primera vez que inicie sesión.

Empezar a agregar contactos

Ahora que tiene su instancia de Monica en funcionamiento, ahora puede comenzar a realizar un mejor seguimiento de sus interacciones diarias, relaciones y más. ¡Nunca sabes a quién impresionarás al recordar un aniversario, un cumpleaños o cualquier otro evento especial!

Alternativamente, puede intentar CRM basado en la nube si no está listo para instalar y administrar uno usted mismo o si necesita más funciones.