{ "$schema-template": "2.0.0", "modulesContent": { "$edgeAgent": { "properties.desired": { "schemaVersion": "1.0", "runtime": { "type": "docker", "settings": { "minDockerVersion": "v1.25", "loggingOptions": "", "registryCredentials": { "alexacrdemo": { "username": "$CONTAINER_REGISTRY_USERNAME", "password": "$CONTAINER_REGISTRY_PASSWORD", "address": "alexacrdemo.azurecr.io" } } } }, "systemModules": { "edgeAgent": { "type": "docker", "settings": { "image": "mcr.microsoft.com/azureiotedge-agent:1.2.3", "createOptions": {} } }, "edgeHub": { "type": "docker", "status": "running", "restartPolicy": "always", "settings": { "image": "mcr.microsoft.com/azureiotedge-hub:1.2.3", "createOptions": { "HostConfig": { "PortBindings": { "5671/tcp": [ { "HostPort": "5671" } ], "8883/tcp": [ { "HostPort": "8883" } ], "443/tcp": [ { "HostPort": "443" } ] } } } } } }, "modules": { "ObjDetector": { "version": "1.5", "type": "docker", "status": "running", "restartPolicy": "always", "env": { "BLOB_ACC": {"value": "$BLOB_ACC"}, "BLOB_KEY": {"value": "$BLOB_KEY"} }, "settings": { "image": "${MODULES.ObjDetector}", "createOptions": {} } }, "camera-capture": { "version": "1.0", "type": "docker", "status": "running", "restartPolicy": "always", "env": { "VIDEO_PATH": {"value": "0"}, "IMAGE_PROCESSING_ENDPOINT": {"value": "http://objdetector:80/image"}, "RESIZE_WIDTH": {"value": "1024"}, "RESIZE_HEIGHT": {"value": "768"}, "SHOW_VIDEO": {"value": "True"}, "ANNOTATE": {"value": "True"}, "VERBOSE": {"value": "True"} }, "settings": { "image": "${MODULES.CameraCapture}", "createOptions": { "HostConfig": { "PortBindings": { "5012/tcp": [ { "HostPort":"5012"}] }, "Binds": ["/dev/video0:/dev/video0"], "Devices":[{"PathOnHost":"/dev/video0","PathInContainer":"/dev/video0","CgroupPermissions":"mrw"}] } } } } } } }, "$edgeHub": { "properties.desired": { "schemaVersion": "1.0", "routes": { "cameraCaptureToIoTHub": "FROM /messages/modules/CameraCapture/outputs/* INTO $upstream" }, "storeAndForwardConfiguration": { "timeToLiveSecs": 7200 } } } } }