> ## Documentation Index
> Fetch the complete documentation index at: https://docs.zapbip.com/llms.txt
> Use this file to discover all available pages before exploring further.

# zapbip을 로컬에서 실행하기

> Meta 계정 없이 내 컴퓨터나 Docker에서 zapbip을 직접 실행해요.

로컬에서는 프로덕션과 같은 Worker가 실행돼요. WhatsApp 대신 개발용 샌드박스가 소유자의 휴대폰처럼 응답하므로 Meta 계정이 필요 없고, 실제 휴대폰에는 아무것도 전달되지 않아요.

## 필요한 것

* Node 24 이상과 pnpm
* Git
* Docker 방식을 쓸 경우 Compose가 포함된 Docker

## 내 컴퓨터에서

코드를 받아 설치해요.

```bash theme={null}
git clone https://github.com/dhyegocalota/zapbip.git
cd zapbip
pnpm install
```

무작위 시크릿 네 개를 담은 `apps/api/.dev.vars`를 만들고 로컬 데이터베이스를 준비해요.

```bash theme={null}
printf 'MEDIA_LINK_SIGNING_KEY=%s\nUPLOAD_LINK_SIGNING_KEY=%s\nNUMBER_REGISTRY_KEY=%s\nMETA_APP_SECRET=%s\n' "$(openssl rand -hex 32)" "$(openssl rand -hex 32)" "$(openssl rand -base64 32)" "$(openssl rand -hex 16)" > apps/api/.dev.vars
pnpm migrate:development
```

Worker를 시작하고 확인해요.

```bash theme={null}
pnpm --filter @zapbip/api dev
curl http://localhost:8787/health
```

소유자와 에이전트를 만들어요. 에이전트의 시크릿은 한 번만 출력돼요.

```bash theme={null}
pnpm --silent --filter @zapbip/api dev:seed --phone <digits> --agents alpha
```

출력된 시크릿으로 AI를 연결해요.

```bash theme={null}
claude mcp add --transport http alpha http://localhost:8787/c/<alpha-secret>/mcp
```

[로컬 스택 가이드](https://github.com/dhyegocalota/zapbip/blob/main/docs/contributing/local-stack.md)에서 대화 전체를 따라가 볼 수 있어요(영어).

## Docker

명령 하나로 이미지를 빌드하고 8787 포트에서 Worker를 시작해요.

```bash theme={null}
git clone https://github.com/dhyegocalota/zapbip.git
cd zapbip
docker compose up --build
```

데이터베이스, 파일, 생성된 시크릿은 `zapbip-data` 볼륨에 저장되어 재시작 후에도 남아요. 직접 정하려면 환경에 `MEDIA_LINK_SIGNING_KEY`, `UPLOAD_LINK_SIGNING_KEY`, `NUMBER_REGISTRY_KEY`, `META_APP_SECRET`을 설정하세요.

컨테이너 안에서 소유자와 에이전트를 만들어요.

```bash theme={null}
docker compose exec zapbip pnpm --silent dev:seed --phone <digits> --agents alpha
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.