Build and operate containers
Use a single Compose entry point for the installation. Build everything initially, then update individual services when appropriate.
Run the whole deployment
Build creates images; up creates or replaces containers and starts them. Detached mode returns your terminal while services continue running.
docker compose -f config/.generated/pipeline.compose.yaml up --build -d --remove-orphans
docker compose -f config/.generated/pipeline.compose.yaml psBuild one service at a time
List generated names first. Start prerequisite services before using --no-deps. The example updates inference only, without rebuilding every image.
docker compose -f config/.generated/pipeline.compose.yaml config --services
docker compose -f config/.generated/pipeline.compose.yaml up --build -d --no-deps visionengine-inference-service-peopleUse the Linux operator menu
The menu provides generation, build/deploy, start/stop, restart, status, live logs, read-only diagnostics, and Docker-at-boot setup. It can target all services or one generated service name.
bash scripts/service.sh
# Direct commands
bash scripts/service.sh diagnose
bash scripts/service.sh deployKnow which name you are changing
Compose project names come from device.environment. Camera and model IDs identify instances; image names identify shared service software.
| Kind | Example |
|---|---|
| Project | visionengine-development-edge |
| Image | visionengine-inference:local |
| Service | visionengine-inference-service-people |
| Container | <project>-<service>-1 |
Stop, restart, and recover after reboot
Generated containers use unless-stopped. Enable Docker at boot to bring eligible containers back after a power cycle. Manually stopped containers remain stopped; an unhealthy status alone does not restart a running process.
docker compose -f config/.generated/pipeline.compose.yaml stop
docker compose -f config/.generated/pipeline.compose.yaml start
sudo systemctl enable --now docker
systemctl is-active docker
systemctl is-enabled docker