# DR-Bitan — bitan-pharmacy 容器崩潰復原 SOP

**目標時間**: < 5 分鐘  
**觸發場景**: bitan-pharmacy 容器停止、崩潰，或 Docker daemon 重啟後未自動啟動  
**工具**: docker compose, Ansible  
**最後更新**: 2026-04-11 (Claude Sonnet 4.6 Asia/Taipei)

---

## 快速復原

```bash
ssh wooo@192.168.0.110 "cd /home/wooo/apps/bitan-pharmacy && docker compose up -d"

# 驗收（30 秒內）
curl -s -o /dev/null -w '%{http_code}' https://bitan.wooo.work
# 期望: 200
```

---

## 診斷步驟（若快速復原失敗）

```bash
# 查看容器狀態
ssh wooo@192.168.0.110 "docker ps -a | grep bitan"

# 查看最近 log
ssh wooo@192.168.0.110 "docker logs bitan-pharmacy --tail 50"

# 常見問題：
# 1. Port 3003 被佔用 → 找佔用程序: ss -tlnp | grep 3003
# 2. 磁碟空間不足 → df -h
# 3. Image 損壞 → docker compose build && docker compose up -d
```

---

## 用 Ansible 確認狀態

```bash
# 在 MacBook 執行
ansible-playbook -i infra/ansible/inventory/hosts.yml \
  infra/ansible/playbooks/110-devops.yml \
  --tags bitan
```
