Chat Vault — это приложение Kotlin Spring Boot, предназначенное для хранения резервных копий разговоров WhatsApp из различных источников, таких как импорт API, электронная почта и мониторинг каталогов, а также обеспечения легкого доступа к этим разговорам через интерфейс, напоминающий приложение чата, такое как WhatsApp.
Этот проект все еще находится в разработке, и некоторые функции могут быть реализованы не полностью.
Пожалуйста, прочитайте официальный FAQ по WhatsApp.
Импортированный файл можно загрузить в ChatVault:
Этот репозиторий разделен на два основных модуля. Это модули: интерфейс (javascript, vue, nuxt) и сервер (kotlin, java, Spring Boot, gradle).
Интерфейсный модуль — это приложение Vue/Nuxt, которое обслуживает то, что будет отображаться в браузере: HTML, CSS, JavaScript и статические ресурсы. Чтобы запустить обычный способ с помощью команд npm, следуйте Readme в каталоге внешнего интерфейса.
Вы можете запустить его с помощью npm:
npm run dev
Интерфейсное приложение по умолчанию будет прослушивать порт 3000, если только вы не запускали серверное приложение раньше (серверное приложение прослушивает порт 8080), и в этом случае внешний интерфейс выберет случайный порт.
Вы можете запустить серверное приложение без IDE:
./gradlew run
Серверное приложение по умолчанию будет прослушивать порт 8080.
Обратите внимание, что для загрузки образов контейнеров может потребоваться проверка подлинности на шагах реестра контейнеров GitHub, описанных здесь. Вы можете использовать compose.yml для создания базы данных и локальной сборки внешнего и внутреннего проектов.
docker-compose -f compose.yml
На github есть пакеты образов докеров. Вы можете скачать последнее изображение с помощью:
docker pull ghcr.io/vitormarcal/chatvault:latest
Приложение требует хранения файлов чата в файловой системе. Сведения об использовании Docker см. в разделе «Переменные среды».
chatvault.bucket.root
: это том, используемый для хранения ваших файлов. Не удаляйте это!chatvault.bucket.import
: этот том временно используется для хранения файлов чата, которые должны быть проанализированы приложением, а затем перемещены в Bucket.root.chatvault.bucket.export
: этот том временно используется для хранения чата, который необходимо загрузить. Для докера переменные должны быть в верхнем регистре и где находится «.» это должно быть "_": some.environment.variable
похож на SOME_ENVIRONMENT_VARIABLE
в докере
Переменные среды | наблюдение | пример |
---|---|---|
База данных | необходимый | |
весна.datasource.url | необходимый | jdbc:postgresql://хост_базы_данных:5432/имя_базы_данных |
весна.источник данных.имя пользователя | необходимый | пользователь |
весна.datasource.пароль | необходимый | секрет |
-------------------------- | -------------------------- | --------- |
Импорт электронной почты | подвиг не обязателен | |
Chatvault.email.enabled | не требуется | истинный |
Chatvault.email.host | требуется для достижения | imap.server.com |
Chatvault.email.пароль | требуется для достижения | секрет |
Chatvault.email.port | требуется для достижения | 993 |
Chatvault.email.имя_пользователя | требуется для достижения | какой-то пользователь |
Chatvault.email.debug | не требуется | истинный |
-------------------------- | -------------------------- | |
Файловая система | не требуется | |
Chatvault.bucket.root | не требуется | /opt/chatvault/архив |
Chatvault.bucket.import | не требуется | /opt/chatvault/импорт |
Chatvault.bucket.export | не требуется | /opt/chatvault/экспорт |
-------------------------- | -------------------------- | |
чатvault.host | не требуется | https://somehost.com, http://localhost:3000 |
Spring.servlet.multipart.max-размер-файла | не требуется | 500 МБ |
Spring.servlet.multipart.max-request-size | не требуется | 500 МБ |
Chatvault.msgparser.dateformat | не обязательно, но рекомендуется | дд/ММ/гггг ЧЧ:мм |