# Managed Portal Deployment Plan ## Goal Deploy `/Users/yoilun/code/managed-portal` to `xiaozheng@192.168.5.185`, including local model weights/assets, run it with Docker, and configure startup on boot. ## Phases - [complete] Inspect local project layout, Docker files, and weight/artifact locations. - [complete] Inspect target host prerequisites and choose deploy path. - [complete] Sync project contents to target host without losing required assets. - [complete] Build/start Docker services on target host. - [complete] Configure boot autostart and verify service health. ## Decisions - Preserve existing local uncommitted changes. - Prefer Docker Compose restart policies for boot autostart when Docker service is enabled. ## Errors Encountered | Error | Attempt | Resolution | |-------|---------|------------| | First SSH inspect command returned no remote output after password prompt | Attempt 1 | Retry with cleaner `expect` argument grouping for the remote `sh -lc` command. | | macOS system `rsync` does not support `--info=progress2` | Sync attempt 1 | Retry with portable `--progress --stats`. | | `people-flow-project` pip resolver downloaded multiple OpenCV wheels during Docker build | Build attempt 1 | Interrupted build, pinned OpenCV packages to `4.11.0.86`, and split pip install into separate Docker cache layers. | | Initial API verification used `/api/managed/services` | Verification attempt 1 | Checked local routes and verified the correct endpoint `/api/managed-services`. |