Chat Vault는 API 가져오기, 이메일, 디렉터리 모니터링 등 다양한 소스의 WhatsApp 대화 백업을 저장하고 WhatsApp과 같은 채팅 애플리케이션과 유사한 프런트엔드를 통해 이러한 대화에 쉽게 액세스할 수 있도록 설계된 Kotlin Spring Boot 애플리케이션입니다.
이 프로젝트는 아직 개발 중이므로 일부 기능이 완전히 구현되지 않을 수 있습니다.
공식 Whatsapp FAQ를 읽어보세요.
가져온 파일을 ChatVault에 수집하려면 다음을 수행할 수 있습니다.
이 저장소는 두 개의 주요 모듈로 구분됩니다. 모듈은 프론트엔드(javascript, vue, nuxt)와 백엔드(kotlin, java, spring boot, gradle)입니다.
프런트 엔드 모듈은 Vue/Nuxt 애플리케이션이며 브라우저에서 렌더링할 내용(html, css, javascript 및 정적 자산)을 제공합니다. npm 명령을 사용하여 일반적인 방법을 실행하려면 프런트엔드 디렉터리의 Readme를 따르세요.
npm으로 실행할 수 있습니다:
npm run dev
프런트엔드 애플리케이션은 이전에 백엔드 애플리케이션을 실행하지 않는 한(백엔드가 8080에서 수신 대기) 기본적으로 포트 3000에서 수신 대기합니다. 이 경우 프런트엔드는 임의의 포트를 선택합니다.
IDE 없이 백엔드 애플리케이션을 실행할 수 있습니다.
./gradlew run
백엔드 애플리케이션은 기본적으로 8080 포트를 수신합니다.
컨테이너 이미지를 다운로드하려면 여기의 GitHub Container Registry 단계에 인증해야 할 수도 있습니다. 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
과 같습니다.
환경 변수 | obs | 예 |
---|---|---|
데이터 베이스 | 필수의 | |
spring.datasource.url | 필수의 | jdbc:postgresql://database_host:5432/database_name |
spring.datasource.사용자 이름 | 필수의 | 사용자 |
spring.datasource.password | 필수의 | 비밀 |
------------- | ------------- | --------- |
이메일 가져오기 | 위업이 필요하지 않음 | |
chatvault.email.enabled | 필요하지 않음 | 진실 |
chatvault.email.host | 위업을 달성하는 데 필요한 | imap.server.com |
chatvault.이메일.비밀번호 | 위업을 달성하는 데 필요한 | 비밀 |
chatvault.email.port | 위업을 달성하는 데 필요한 | 993 |
chatvault.email.사용자 이름 | 위업을 달성하는 데 필요한 | 어떤 사용자 |
chatvault.email.debug | 필요하지 않음 | 진실 |
------------- | ------------- | |
파일 시스템 | 필요하지 않음 | |
chatvault.bucket.root | 필요하지 않음 | /opt/chatvault/아카이브 |
chatvault.bucket.import | 필요하지 않음 | /opt/chatvault/import |
chatvault.bucket.export | 필요하지 않음 | /opt/chatvault/내보내기 |
------------- | ------------- | |
chatvault.host | 필요하지 않음 | https://somehost.com,http://localhost:3000 |
spring.servlet.multipart.max-파일 크기 | 필요하지 않음 | 500MB |
spring.servlet.multipart.max-요청 크기 | 필요하지 않음 | 500MB |
chatvault.msgparser.dateformat | 필수는 아니지만 권장 | dd/MM/yyyy HH:mm |