Chat Vault est une application Kotlin Spring Boot conçue pour stocker des sauvegardes de conversations WhatsApp provenant de diverses sources, telles que les importations d'API, la messagerie électronique et la surveillance d'annuaire, et fournir un accès facile à ces conversations via une interface qui ressemble à une application de chat, comme WhatsApp.
Ce projet est encore en développement et certaines fonctionnalités pourraient ne pas être entièrement implémentées.
Veuillez lire la FAQ officielle de Whatsapp.
Avec le fichier importé, pour l'ingérer dans ChatVault, vous pouvez :
Ce référentiel est divisé en deux modules principaux. Ce sont les modules : frontend (javascript, vue, nuxt) et backend (kotlin, java, spring boot, gradle)
Le module frontal est une application Vue/Nuxt et il sert ce qui sera rendu par le navigateur : html, css, javascript et ressources statiques. Pour exécuter de manière conventionnelle, avec les commandes npm, suivez le fichier Readme dans le répertoire frontend.
Vous pouvez l'exécuter avec npm :
npm run dev
L'application frontale écoutera sur le port 3000 par défaut, sauf si vous avez déjà exécuté l'application backend (le backend écoute sur 8080), auquel cas le frontend récupérera un port aléatoire.
Vous pouvez exécuter l'application backend sans IDE :
./gradlew run
L'application backend écoutera le port 8080 par défaut.
Notez que le téléchargement d’images de conteneur peut nécessiter que vous vous authentifiiez auprès des étapes de GitHub Container Registry ici. Vous pouvez utiliser compose.yml pour créer une base de données et créer localement le projet frontend et backend.
docker-compose -f compose.yml
Il existe des packages d'images Docker sur github. Vous pouvez télécharger la dernière image avec :
docker pull ghcr.io/vitormarcal/chatvault:latest
L'application nécessite de stocker les fichiers de discussion dans le système de fichiers. Pour l'utilisation de Docker, veuillez vous référer à la section Variables d'environnement.
chatvault.bucket.root
: Il s'agit du volume utilisé pour stocker vos fichiers. Ne supprimez pas ceci !chatvault.bucket.import
: Ce volume est utilisé temporairement pour stocker les fichiers de discussion qui doivent être analysés par l'application puis déplacés vers bucket.root.chatvault.bucket.export
: Ce volume est utilisé temporairement pour stocker un chat à télécharger. Pour Docker, les variables doivent être en majuscules et où est "." ça doit être "_": some.environment.variable
est comme SOME_ENVIRONMENT_VARIABLE
dans docker
Variables d'environnement | obs. | exemple |
---|---|---|
Base de données | requis | |
spring.datasource.url | requis | jdbc:postgresql://hôte_base de données:5432/nom_base de données |
spring.datasource.username | requis | utilisateur |
spring.datasource.password | requis | secrète |
-------------------------- | -------------------------- | --------- |
Importation d'e-mails | exploit non requis | |
chatvault.email.enabled | pas obligatoire | vrai |
chatvault.email.host | nécessaire pour vaincre | imap.server.com |
chatvault.email.mot de passe | nécessaire pour vaincre | secrète |
chatvault.email.port | nécessaire pour vaincre | 993 |
chatvault.email.nom d'utilisateur | nécessaire pour vaincre | un utilisateur |
chatvault.email.debug | pas obligatoire | vrai |
-------------------------- | -------------------------- | |
Système de fichiers | pas obligatoire | |
chatvault.bucket.root | pas obligatoire | /opt/chatvault/archive |
chatvault.bucket.import | pas obligatoire | /opt/chatvault/importation |
chatvault.bucket.export | pas obligatoire | /opt/chatvault/export |
-------------------------- | -------------------------- | |
chatvault.host | pas obligatoire | https://somehost.com, http://localhost:3000 |
spring.servlet.multipart.max-file-size | pas obligatoire | 500 Mo |
spring.servlet.multipart.max-request-size | pas obligatoire | 500 Mo |
chatvault.msgparser.dateformat | pas obligatoire mais recommandé | jj/MM/aaaa HH:mm |