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")