Chat Vault 是一个 Kotlin Spring Boot 应用程序,旨在存储来自各种来源(例如 API 导入、电子邮件和目录监控)的 WhatsApp 对话的备份,并通过类似于聊天应用程序(如 WhatsApp)的前端提供对这些对话的轻松访问。
该项目仍在开发中,某些功能可能尚未完全实现。
请阅读官方 Whatsapp 常见问题解答。
使用导入的文件,要将其提取到 ChatVault 中,您可以:
该存储库分为两个主要模块。它们是模块:前端(javascript、vue、nuxt)和后端(kotlin、java、spring boot、gradle)
前端模块是一个 Vue/Nuxt 应用程序,它提供浏览器渲染的内容:html、css、javascript 和静态资源。要使用 npm 命令以传统方式运行,请按照前端目录中的自述文件进行操作。
您可以使用 npm 运行它:
npm run dev
默认情况下,前端应用程序将侦听端口 3000,除非您之前运行过后端应用程序(后端侦听 8080),在这种情况下,前端将选择一个随机端口。
您可以在没有 IDE 的情况下运行后端应用程序:
./gradlew run
后端应用程序默认监听8080端口。
请注意,下载容器映像可能需要您通过此处的 GitHub 容器注册表步骤进行身份验证。您可以使用 compose.yml 在本地创建数据库并构建前后端项目。
docker-compose -f compose.yml
github上有docker镜像包。您可以通过以下方式下载最新的图像:
docker pull ghcr.io/vitormarcal/chatvault:latest
该应用程序需要在文件系统中存储聊天文件。 Docker的使用请参考环境变量部分。
chatvault.bucket.root
:这是用于存储文件的卷。不要删除这个!chatvault.bucket.import
:此卷暂时用于存储将由应用程序解析然后移动到bucket.root的聊天文件。chatvault.bucket.export
:该卷临时用于存储要下载的聊天内容。对于docker来说,变量必须是大写,其中“.”它必须是“_”: some.environment.variable
就像docker中的SOME_ENVIRONMENT_VARIABLE
环境变量 | 观测值 | 例子 |
---|---|---|
数据库 | 必需的 | |
spring.datasource.url | 必需的 | jdbc:postgresql://database_host:5432/database_name |
spring.datasource.用户名 | 必需的 | 用户 |
spring.datasource.password | 必需的 | 秘密 |
-------------------------- | -------------------------- | --------- |
邮件导入 | 不需要壮举 | |
chatvault.email.启用 | 不需要 | 真的 |
chatvault.email.host | 需要壮举 | imap.server.com |
聊天库.电子邮件.密码 | 需要壮举 | 秘密 |
chatvault.email.port | 需要壮举 | 993 |
chatvault.email.用户名 | 需要壮举 | 某个用户 |
聊天库.电子邮件.调试 | 不需要 | 真的 |
-------------------------- | -------------------------- | |
文件系统 | 不需要 | |
chatvault.bucket.root | 不需要 | /opt/chatvault/存档 |
chatvault.bucket.import | 不需要 | /opt/chatvault/导入 |
chatvault.bucket.export | 不需要 | /opt/chatvault/导出 |
-------------------------- | -------------------------- | |
聊天库主机 | 不需要 | https://somehost.com ,http://localhost:3000 |
spring.servlet.multipart.max-文件大小 | 不需要 | 500MB |
spring.servlet.multipart.最大请求大小 | 不需要 | 500MB |
chatvault.msgparser.dateformat | 不是必需的,但建议 | 日/月/年 时:分 |