La société d’aujourd’hui évolue rapidement. Nous sommes constamment bombardés de nouvelles et de messages sur les médias sociaux et, même avec la FOMO (Fear Of Missing Out), il est facile d’être submergé par tout ce qui se passe dans nos vies et d’oublier des dates et des événements importants.

Maintenant que nous sortons et faisons plus de choses dans le monde, que nous assistons à plus de réunions, nous rencontrons de nouvelles personnes et il se passe plus de choses dans notre vie quotidienne, il est donc parfois facile d’oublier des détails sur des personnes que nous venons de rencontrer ou même sur des personnes que nous connaissons depuis toujours.

Monica vous permet de garder une trace de tout cela BEAUCOUP plus facilement. Il s’agit d’un CRM personnel open-source.

Monica vous aide à organiser les interactions sociales avec vos proches.

Voyons comment configurer une instance du CRM personnel de Monica dans Docker sur Linode.

Prérequis pour Monica dans Docker

Tout d’abord, vous aurez besoin d’un serveur Docker. Linode a rendu ce processus très simple et vous pouvez en configurer un pour seulement quelques dollars par mois et ajouter une adresse IP privée (gratuitement) et des sauvegardes pour seulement quelques dollars de plus par mois.

Vous aurez également besoin d’un nom de domaine, que vous pouvez acheter presque partout en ligne à des prix très variables selon l’endroit où vous l’achetez. Veillez à ce que les paramètres DNS du domaine pointent vers Linode. Vous trouverez plus d’informations à ce sujet ici.

Vous devrez également configurer un proxy inverse sur votre serveur Docker afin de pouvoir acheminer le trafic et gérer les SSL sur votre serveur. J’ai réalisé une vidéo sur le processus de configuration d’un serveur Docker avec Portainer et un proxy inverse appelé Nginx Proxy Manager que vous pouvez consulter ici dans le premier article de blog et la première vidéo de cette série

Une fois que vous avez configuré votre serveur Docker, vous pouvez commencer à configurer votre instance Monica sur ce serveur.

Vous pouvez le faire de deux manières principales :

  • En ligne de commande via SSH.
  • Dans Portainer via le tableau de bord Portainer.

Nous allons voir comment faire cela dans Portainer afin d’avoir une interface utilisateur avec laquelle travailler.

Rendez-vous sur http://your-server-ip-address:9000 et connectez-vous à Portainer avec les informations d’identification que nous avons mises en place dans notre post/vidéo précédent.

Sur le côté gauche de l’écran, nous allons cliquer sur le lien “Stacks” et ensuite, sur la page suivante, cliquez sur le bouton “Add stack”.

Une page s’affiche alors, sur laquelle vous pouvez saisir le nom de la pile. En dessous, vous pouvez copier et coller ce qui suit :

---<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> environnement :<br></br> - APP_KEY=idYiD2Dj3yMqoyi3EpcnHWC2GxzSAS5<br></br> - DB_HOST=monicadb<br></br> - DB_USERNAME=monica<br></br> - DB_PASSWORD=b2fWAfbyQuopH9nD738x6o9TC9S8LM6<br></br> - APP_ENV=production<br></br> volumes :<br></br> - /home/docker/monica/config:/var/www/html/storage<br></br> redémarrage : toujours<br></br><br></br> monicadb:<br></br> image : mysql:5.7<br></br> réseaux:<br></br> - nginxproxymanager_default<br></br> environnement :<br></br> - MYSQL_RANDOM_ROOT_PASSWORD=true<br></br> - MYSQL_DATABASE=monica<br></br>      - MYSQL_USER=monica<br></br> - MYSQL_PASSWORD=b2fWAfbyQuopH9nD738x6o9TC9S8LM6<br></br> volumes :<br></br> - /home/docker/monica/db:/var/lib/mysql<br></br> redémarrage : toujours<br></br> <br></br>réseaux :<br></br> nginxproxymanager_default:<br></br> external : true<br></br>

Ce fichier / pile de composition Docker indique au système de télécharger la dernière image officielle de Monica sur le serveur Docker, de nommer le conteneur “monica”, de l’attacher au réseau “nginxproxymanager_default”, de le monter dans le répertoire “home/docker/monica”, et de le rendre disponible sur le port 6875 du serveur Docker.

Vous pouvez modifier le chemin d’accès à l’endroit où vous souhaitez stocker les données Monica si vous le souhaitez. Assurez-vous simplement que le dossier a les bonnes permissions d’écriture.

Veillez à modifier les mots de passe de la base de données pour des raisons de sécurité.

De même, le “APP_KEY” doit être remplacé par une autre chaîne de caractères longue et aléatoire.

Une fois que vous êtes satisfait des paramètres, nous pouvons déployer le conteneur en cliquant sur le bouton “Déployer la pile”.

Cela lancera le processus de téléchargement et de déploiement de Monica sur votre serveur. Vous saurez que le conteneur a été déployé lorsque la page se rechargera et que vous verrez tous vos conteneurs en cours d’exécution.

Vous pouvez maintenant aller sur http://your-server-ip-address:8456 et vous devriez voir l’écran de connexion à Monica.

À ce stade, vous pouvez vous connecter au site et commencer, mais nous voulons que ce soit accessible à partir d’un sous-domaine, donc nous allons nous en occuper maintenant.

Configuration d’un domaine et du SSL

Retournez sur votre tableau de bord Linode et allez dans “Domaines”. Trouvez le domaine que vous avez ajouté à votre compte. Cliquez dessus et cherchez la section CNAME de la gestion de domaine.

Ajoutez un CNAME à votre domaine en entrant un nom d’hôte pour ce que vous voulez que votre sous-domaine soit. Dans la vidéo d’exemple, j’ai saisi “monica” (sans les guillemets). En dessous, j’ai saisi le symbole @ dans le champ “Alias vers”, puis j’ai cliqué sur “Sauvegarder”.

Maintenant que c’est fait, nous pouvons nous rendre dans Nginx Proxy Manager et configurer notre SSL et notre domaine.

Vous pouvez maintenant aller sur http://your-server-ip-address:81 et vous devriez pouvoir voir l’écran de connexion pour Nginx Proxy Manager.

Les informations d’identification par défaut pour Nginx Proxy Manager sont les suivantes :

Email : admin@example.com
Mot de passe : changeme

Entrez ces informations d’identification (ou les vôtres si vous les avez mises à jour) pour vous connecter à votre instance de Nginx Proxy Manager.

Cliquez sur l’onglet “Certificats SSL” en haut de la page, puis cliquez sur le bouton “Ajouter un certificat SSL” en haut à droite de la page.

Cliquez ensuite sur l’option “Let’s Encrypt”.

Dans la fenêtre qui s’affiche, saisissez l’URL complète du domaine que vous souhaitez sécuriser et appuyez sur la touche “Entrée” de votre clavier.

Dans cet exemple, vous devez saisir https://monica.yourdomain.com.

Une fois que vous avez saisi votre URL, cliquez sur le bouton “Test Server Reachability” situé juste en dessous. Si vous obtenez un message d’erreur, veillez à corriger le problème et à réessayer. Si aucune erreur n’est renvoyée, assurez-vous que l’adresse électronique indiquée sur la page est correcte, puis lisez et acceptez les conditions d’utilisation de Let’s Encrypt et cliquez sur le bouton “Enregistrer”.

Cela peut prendre une minute ou deux pour que le système génère et installe la clé, mais une fois que c’est fait, la page se rechargera et vous pourrez voir tous les SSL disponibles dans Nginx Proxy Manager.

Maintenant que nous avons configuré notre SSL sur notre système, nous pouvons cliquer sur l’onglet “Hosts” en haut de la page. Cliquez ensuite sur l’option “Proxy Hosts” qui apparaît dans le sous-menu.

Repérez le bouton “Ajouter un hôte proxy” en haut à droite de la page et cliquez dessus.

Une nouvelle fenêtre s’ouvre et nous allons remplir quelques options pour configurer notre domaine.

Entrez le domaine ou le sous-domaine pour lequel vous venez de créer le SSL.

Laissez le schéma comme HTTP.

Entrez l’adresse IP de votre conteneur. Vous la trouverez dans Portainer :

Dans la zone de texte “Forward Port”, entrez le port du conteneur. Dans ce cas, il s’agit de 80. Le 8456 que nous voyons dans la section “Published Ports” de l’image ci-dessus est ce que nous appellerons le port Docker. Nous voulons que le port soit du côté du conteneur, nous utiliserons donc le numéro à droite du point-virgule.

Cliquez sur les options “Cache Assets”, “Block Common Exploits” et “Websocket Support”

Cliquez maintenant sur l’onglet “SSL” en haut de la fenêtre pop-up.

Vous verrez une liste déroulante indiquant “Certificat SSL” et, en dessous, “Aucun”

Cliquez sur “Aucun”, puis sélectionnez le certificat SSL que vous avez créé dans les étapes précédentes.

Cochez ensuite les 4 options qui se trouvent en dessous, lisez et acceptez les CGU de Let’s Encrypt, puis cliquez sur Enregistrer.

Après quelques instants, la page se rechargera et vous devriez voir votre nouvelle entrée sur la page Proxy Hosts de Nginx Proxy Manager.

Première connexion

Vous pouvez maintenant vous rendre à votre nouvelle URL dans votre navigateur.

Vous devriez être amené à une page de connexion qui ressemble à ceci :

Remplissez le formulaire d’inscription avec vos informations, cochez la case concernant les CGU et cliquez sur le bouton “S’inscrire”.

Une fois connecté, vous pourrez commencer à créer ou à importer vos contacts. Mais avant cela, n’oubliez pas d’aller dans l’icône des paramètres (l’engrenage) en haut à droite et d’ajuster les paramètres à vos besoins. Portez une attention particulière à l’onglet “Personnalisation” sur le côté gauche de l’écran afin de disposer des champs de données correspondant à votre configuration.

Vous pourrez toujours revenir plus tard pour les modifier ou les mettre à jour en fonction de vos besoins, alors ne vous souciez pas d’avoir une configuration parfaite la première fois que vous vous connectez.

Commencez à ajouter des contacts

Maintenant que votre instance Monica est opérationnelle, vous pouvez commencer à mieux suivre vos interactions quotidiennes, vos relations, etc. Vous ne savez jamais qui vous allez impressionner en vous souvenant d’un anniversaire ou de tout autre événement spécial !

Related Articles