이 문서에서는 WhatsApp Business API 클라이언트와 관련된 여러 다양한 유형의 데이터와 데이터베이스를 관리하는 방법을 설명합니다.
볼륨은 Docker 컨테이너에서 생성 및 사용하는 데이터의 지속성을 위해 선호되는 메커니즘입니다. WhatsApp Business API 클라이언트는 미디어에 Docker 볼륨 하나가 필요합니다. 이 볼륨은 설치 중에 docker-compose
명령을 실행할 때 자동으로 생성됩니다.
Docker 볼륨은 원격 호스트 또는 클라우드 제공업체에 볼륨을 저장하도록 지원합니다. 기존 데이터 센터 파일 공유 솔루션에도 미디어 볼륨을 설정할 수 있습니다. 모든 Webapp과 Coreapp 컨테이너에 볼륨에 대한 읽기/쓰기 권한이 있는지 확인해야 합니다. 볼륨 경로를 보거나 편집하려면 docker-compose.yml
파일을 편집하세요.
이름 | 설명 |
---|---|
미디어 볼륨 |
|
WhatsApp Business API 클라이언트는 MySQL 또는 PostgreSQL을 사용해 데이터를 저장할 수 있습니다.
WhatsApp Business API 클라이언트를 설치할 때 db.env
파일에서 다음의 환경 변수를 설정하여 데이터베이스 설정을 구성할 수 있습니다. 이러한 환경 변수는 Coreapp과 Webapp이 데이터베이스와 연결할 때 사용합니다.
데이터베이스 설정 | 환경 변수 |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
WA_DB_NAME_PREFIX
— WhatsApp Business API 클라이언트가 설치된 경우 생성된 모든 데이터베이스에 접두사를 지정할 때 사용할 수 있습니다. 동일한 데이터베이스 호스트의 여러 WhatsApp Business API 데이터베이스 집합을 실행하는 데 사용할 수도 있습니다.WA_DB_CONNECTION_IDLE_TIMEOUT
(MySQL에서만 지원) — Coreapp을 시작할 때 이 환경 변수(ms 기준)를 설정하면 MySQL 데이터베이스에 대한 유휴 시간 제한을 설정할 수 있습니다. 그러면 MySQL 서버가 설정된 시간에 유휴 상태인 데이터베이스 연결을 닫습니다.WhatsApp Business API 클라이언트와 연결된 데이터베이스를 관리하기 위한 권장 사항입니다.
우려 사항 | 권장 사항 |
---|---|
대형 데이터베이스로 업그레이드 | 대형 데이터베이스는 |
API 호출 기반 가비지 컬렉션 |
자세한 내용은 서비스 문서를 참조하세요. |
로그 로테이션 스크립트는 Coreapp과 Webapp 컨테이너에 패키징되어 있습니다.
Webapp 컨테이너 내 로그 로테이션 스크립트:
/var/log/whatsapp/archive
에 아카이브합니다.Coreapp 컨테이너 내 로그 로테이션 스크립트:
/var/log/whatsapp/archive
에 아카이브합니다.Coreapp에서 신규 로그 파일은 로그 파일당 크기가 15MB를 초과할 때만 생성됩니다. 이전 로그 파일은 자동으로 삭제되지 않습니다.
주기적(매일)으로 아래 스크립트 정리를 실행하여 전체 Webapp, Coreapp, 마스터(다중 연결 설정의 경우) 컨테이너에 로그 로테이션을 수행할 것을 권장합니다. 호스트에 크론잡을 구성하여 실행 중인 모든 WhatsApp Business API 컨테이너에 수행하고 한산한 시간에 실행되도록 하는 것이 가장 좋습니다. 정리 스크립트를 정기적으로 호출하면 로그 파일이 소비하는 디스크 공간을 관리할 수 있습니다.
docker exec your-container-name /opt/whatsapp/bin/cleanup.sh