c9ed28f258
When containers=['*'] (ip_range change or full restart), the previous code ran docker compose down/up in a background thread inside cell-api. docker compose down killed cell-api, terminating the thread before docker compose up could run — leaving all containers stopped. Fix: spawn an independent docker run --rm container (pic_api:latest) that has the docker socket and project dir mounted. This helper outlives cell-api being stopped and completes the up -d independently. For specific-container restarts (port changes), keep the direct approach since the API container is not in the affected set. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>