Chat Vault é um aplicativo Kotlin Spring Boot projetado para armazenar backups de conversas do WhatsApp de várias fontes, como importações de API, e-mail e monitoramento de diretório, e fornecer acesso fácil a essas conversas por meio de um frontend que se assemelha a um aplicativo de bate-papo, como o WhatsApp.
Este projeto ainda está em desenvolvimento e alguns recursos podem não estar totalmente implementados.
Por favor, leia o FAQ oficial do Whatsapp.
Com o arquivo importado, para ingeri-lo no ChatVault você pode:
Este repositório está dividido em dois módulos principais. São os módulos: frontend (javascript, vue, nuxt) e backend (kotlin, java, spring boot, gradle)
O módulo front end é uma aplicação Vue/Nuxt e serve o que será renderizado pelo navegador: html, css, javascript e assets estáticos. Para executar da forma convencional, com comandos npm, siga o Leiame no diretório frontend.
Você pode executá-lo com npm:
npm run dev
O aplicativo frontend escutará na porta 3000 por padrão, a menos que você tenha executado o aplicativo backend antes (o backend escuta na 8080), caso em que o frontend selecionará uma porta aleatória.
Você pode executar o aplicativo back-end sem um IDE:
./gradlew run
O aplicativo back-end escutará a porta 8080 por padrão.
Observe que o download de imagens de contêiner pode exigir que você se autentique nas etapas do GitHub Container Registry aqui. Você pode usar compose.yml para criar um banco de dados e construir o projeto de front-end e back-end localmente.
docker-compose -f compose.yml
Existem pacotes de imagens docker no github. Você pode baixar a imagem mais recente com:
docker pull ghcr.io/vitormarcal/chatvault:latest
O aplicativo requer o armazenamento de arquivos de bate-papo no sistema de arquivos. Para uso do Docker, consulte a seção Variáveis de ambiente.
chatvault.bucket.root
: Este é o volume usado para armazenar seus arquivos. Não exclua isso!chatvault.bucket.import
: este volume é usado temporariamente para armazenar arquivos de bate-papo que serão analisados pelo aplicativo e depois movidos para bucket.root.chatvault.bucket.export
: Este volume é usado temporariamente para armazenar um bate-papo que será baixado. Para docker, as variáveis devem estar em maiúsculas e onde está "." deve ser "_": some.environment.variable
é como SOME_ENVIRONMENT_VARIABLE
no docker
Variáveis de ambiente | obs | exemplo |
---|---|---|
Banco de dados | obrigatório | |
primavera.datasource.url | obrigatório | jdbc:postgresql://host_do_banco_de_dados:5432/nome_do_banco_de_dados |
spring.datasource.nome de usuário | obrigatório | usuário |
primavera.datasource.senha | obrigatório | segredo |
-------------------------- | -------------------------- | --------- |
Importação de e-mail | talento não necessário | |
chatvault.email.enabled | não é obrigatório | verdadeiro |
chatvault.email.host | necessário para fazer uma façanha | imap.server.com |
chatvault.email.senha | necessário para fazer uma façanha | segredo |
chatvault.email.port | necessário para fazer uma façanha | 993 |
chatvault.email.nomedeusuário | necessário para fazer uma façanha | algum usuário |
chatvault.email.debug | não é obrigatório | verdadeiro |
-------------------------- | -------------------------- | |
Sistema de arquivos | não é obrigatório | |
chatvault.bucket.root | não é obrigatório | /opt/chatvault/archive |
chatvault.bucket.importar | não é obrigatório | /opt/chatvault/importar |
chatvault.bucket.exportação | não é obrigatório | /opt/chatvault/exportar |
-------------------------- | -------------------------- | |
chatvault.host | não é obrigatório | https://somehost.com, http://localhost:3000 |
spring.servlet.multipart.max-tamanho do arquivo | não é obrigatório | 500 MB |
spring.servlet.multipart.max-request-size | não é obrigatório | 500 MB |
chatvault.msgparser.dateformat | não é obrigatório, mas recomendado | dd/MM/aaaa HH:mm |