iop/docs/edge-local-dev-guide.md
toki 37cb1b2cf7 fix(client): 웹 환경에서 외부 푸시 초기화를 비활성화한다
플랫폼별 초기화 분기를 추가해 웹 실행 시 Firebase와 Mattermost 초기화를 건너뛰고, Edge local 운영 문서와 기본 설정값을 실제 운영 연계 흐름에 맞춰 정리한다.
2026-06-10 18:36:01 +09:00

117 lines
2.2 KiB
Markdown

# Edge Local Quickstart
이 문서는 `toki-labs.com` Control Plane에 native Edge를 붙이고, Ollama Node를 연결해 OpenAI-compatible smoke까지 확인하는 최소 절차다.
설정 기준은 `edge.yaml`이다. 주소는 환경 변수로 흩뿌리지 않는다.
## 1. Package
현재 `toki-labs.com` 원격처럼 Apple Silicon macOS에서 실행한다.
```bash
make build
```
## 2. Edge 설정
```bash
rm -rf "$HOME/iop-edge-test"
mkdir -p "$HOME/iop-edge-test"
tar -xzf build/packages/iop-edge-darwin-arm64.tar.gz -C "$HOME/iop-edge-test"
cd "$HOME/iop-edge-test/iop-edge-darwin-arm64"
./iop-edge config init
```
`edge.yaml`에서 아래 값만 맞춘다. 모델만 필요하면 바꾼다.
```yaml
edge:
id: "edge-toki-labs"
name: "Toki Labs Edge"
server:
listen: "0.0.0.0:19090"
advertise_host: "toki-labs.com"
bootstrap:
listen: "0.0.0.0:18080"
artifact_base_url: "http://toki-labs.com:18080"
artifact_dir: "artifacts"
control_plane:
enabled: true
wire_addr: "toki-labs.com:19081"
openai:
enabled: true
listen: "0.0.0.0:18081"
adapter: "ollama"
target: "gemma4:26b"
models:
- "gemma4:26b"
timeout_sec: 300
nodes: []
```
확인:
```bash
./iop-edge --config edge.yaml env
./iop-edge --config edge.yaml config check
```
## 3. Node 등록
```bash
./iop-edge --config edge.yaml node register node-ollama-1 \
--adapter ollama \
--ollama-base-url http://127.0.0.1:11434
```
출력된 `curl -fsSL ... | bash -s <token>` 명령을 보관한다.
## 4. Edge 실행
```bash
mkdir -p logs run
nohup ./iop-edge --config edge.yaml serve > logs/edge.stdout.log 2>&1 &
echo $! > run/iop-edge.pid
```
확인:
```bash
curl -fsS http://toki-labs.com:18000/edges
```
## 5. Node 실행
3단계에서 출력된 bootstrap 명령을 Node host에서 실행한다.
```bash
curl -fsSL http://toki-labs.com:18080/bootstrap/node.sh | bash -s <token>
```
Node 연결 확인:
```bash
curl -fsS http://toki-labs.com:18000/edges/edge-toki-labs/status
```
## 6. Smoke
```bash
curl -fsS http://toki-labs.com:18081/v1/models
./iop-edge --config edge.yaml smoke openai \
--model gemma4:26b \
--base-url http://toki-labs.com:18081 \
--timeout 60s
```
외부 OpenAI-compatible client base URL:
```text
http://toki-labs.com:18081/v1
```