Chat Vault adalah aplikasi Kotlin Spring Boot yang dirancang untuk menyimpan cadangan percakapan WhatsApp dari berbagai sumber, seperti impor API, email, dan pemantauan direktori, serta memberikan akses mudah ke percakapan tersebut melalui frontend yang menyerupai aplikasi obrolan, seperti WhatsApp.
Proyek ini masih dalam pengembangan, dan beberapa fitur mungkin belum diterapkan sepenuhnya.
Silakan baca FAQ Whatsapp resmi.
Dengan file yang diimpor, untuk menyerapnya ke ChatVault Anda dapat:
Repositori ini dibagi menjadi dua modul utama. Modul-modul tersebut adalah: frontend (javascript, vue, nuxt) dan backend (kotlin, java, spring boot, gradle)
Modul front end adalah aplikasi Vue/Nuxt dan melayani apa yang akan dirender oleh browser: html, css, javascript, dan aset statis. Untuk menjalankan cara konvensional, dengan perintah npm, ikuti Readme di direktori frontend.
Anda dapat menjalankannya dengan npm:
npm run dev
Aplikasi frontend akan mendengarkan pada port 3000 secara default, kecuali Anda menjalankan aplikasi backend sebelumnya (backend mendengarkan pada 8080), dalam hal ini frontend akan mengambil port acak.
Anda dapat menjalankan aplikasi backend tanpa IDE:
./gradlew run
Aplikasi backend akan mendengarkan port 8080 secara default.
Perhatikan bahwa mengunduh gambar kontainer mungkin mengharuskan Anda mengautentikasi ke langkah-langkah GitHub Container Registry di sini. Anda dapat menggunakan composer.yml untuk membuat database dan membangun proyek frontend dan backend secara lokal.
docker-compose -f compose.yml
Ada paket gambar buruh pelabuhan di github. Anda dapat mengunduh gambar terbaru dengan:
docker pull ghcr.io/vitormarcal/chatvault:latest
Aplikasi ini memerlukan penyimpanan file obrolan di sistem file. Untuk penggunaan Docker, silakan lihat bagian Variabel Lingkungan.
chatvault.bucket.root
: Ini adalah volume yang digunakan untuk menyimpan file Anda. Jangan hapus ini!chatvault.bucket.import
: Volume ini digunakan sementara untuk menyimpan file obrolan yang akan diurai oleh aplikasi dan kemudian dipindahkan ke bucket.root.chatvault.bucket.export
: Volume ini digunakan sementara untuk menyimpan chat yang akan diunduh. Untuk buruh pelabuhan, variabelnya harus dalam huruf besar dan di mana "." itu harus "_": some.environment.variable
seperti SOME_ENVIRONMENT_VARIABLE
di buruh pelabuhan
Variabel lingkungan | obs | contoh |
---|---|---|
Basis data | diperlukan | |
musim semi.datasource.url | diperlukan | jdbc:postgresql://database_host:5432/nama_database |
spring.datasource.nama pengguna | diperlukan | pengguna |
pegas.datasource.kata sandi | diperlukan | rahasia |
-------------------------- | -------------------------- | --------- |
Impor email | prestasi tidak diperlukan | |
chatvault.email.diaktifkan | tidak diperlukan | BENAR |
chatvault.email.host | diperlukan untuk berprestasi | imap.server.com |
chatvault.email.kata sandi | diperlukan untuk berprestasi | rahasia |
chatvault.email.port | diperlukan untuk berprestasi | 993 |
chatvault.email.nama pengguna | diperlukan untuk berprestasi | beberapa pengguna |
chatvault.email.debug | tidak diperlukan | BENAR |
-------------------------- | -------------------------- | |
Sistem file | tidak diperlukan | |
chatvault.bucket.root | tidak diperlukan | /opt/chatvault/arsip |
chatvault.bucket.impor | tidak diperlukan | /opt/chatvault/import |
chatvault.bucket.ekspor | tidak diperlukan | /opt/chatvault/export |
-------------------------- | -------------------------- | |
chatvault.host | tidak diperlukan | https://somehost.com ,http://localhost:3000 |
spring.servlet.multipart.max-ukuran file | tidak diperlukan | 500MB |
spring.servlet.multipart.max-request-size | tidak diperlukan | 500MB |
chatvault.msgparser.dateformat | tidak wajib tetapi direkomendasikan | hh/MM/tttt JJ:mm |