| 123456789101112131415161718192021222324252627282930313233343536373839404142434445 |
- import sys, subprocess, requests, time
- CHROMA_V2 = "http://192.168.0.200:8001/api/v2/tenants/default_tenant/databases/default_database"
- CONTAINER = "mem0server"
- COMPOSE_FILE = "/home/lucky/mem0server/docker-compose.yml"
- MEM0_SQLITE = "/root/.mem0/history.db"
- name = sys.argv[1]
- # 1. Wipe and recreate Chroma collection
- requests.delete(f"{CHROMA_V2}/collections/{name}")
- requests.post(f"{CHROMA_V2}/collections", json={"name": name})
- print(f"chroma reset: {name}")
- # 2. Verify entry count is 0
- col = requests.get(f"{CHROMA_V2}/collections/{name}").json()
- col_id = col.get("id")
- count = requests.get(f"{CHROMA_V2}/collections/{col_id}/count").json()
- print(f"chroma verified: {name} → {count} entries")
- # 3. Delete mem0 SQLite
- subprocess.run(["docker", "exec", CONTAINER, "rm", "-f", MEM0_SQLITE])
- print(f"removed sqlite: {MEM0_SQLITE}")
- # 4. Restart
- subprocess.run(["docker", "compose", "-f", COMPOSE_FILE, "restart", CONTAINER])
- print("restarting...")
- # 5. Wait for health
- online = False
- for i in range(15):
- time.sleep(2)
- try:
- r = requests.get("http://192.168.0.200:8420/health", timeout=2)
- if r.ok:
- online = True
- break
- except:
- pass
- print(f" waiting... ({(i+1)*2}s)")
- if online:
- print(f"server back online ✓")
- else:
- print("server did not come back — check: docker logs mem0server")
|