diff --git a/models/models-list.yaml b/models/models-list.yaml index 03caa19d..45c7e098 100644 --- a/models/models-list.yaml +++ b/models/models-list.yaml @@ -3,13 +3,15 @@ models: runner: brick name : "Lightweight-Face-Detection" description: "Face bounding box detection. This model is trained on the WIDER FACE dataset and can detect faces in images." - model_configuration: - "EI_OBJ_DETECTION_MODEL": "/models/ootb/ei/lw-face-det.eim" model_labels: - face bricks: - - arduino:object_detection - - arduino:video_object_detection + - arduino:object_detection: + model_configuration: + "EI_OBJ_DETECTION_MODEL": "/models/ootb/ei/lw-face-det.eim" + - arduino:video_object_detection: + model_configuration: + "EI_V_OBJ_DETECTION_MODEL": "/models/ootb/ei/lw-face-det.eim" metadata: source: "qualcomm-ai-hub" ei-gpu-mode: false @@ -19,8 +21,6 @@ models: runner: brick name : "General purpose object detection - YoloX" description: "General purpose object detection model based on YoloX-Nano. This model is trained on the COCO dataset and can detect 80 different object classes." - model_configuration: - "EI_OBJ_DETECTION_MODEL": "/models/ootb/ei/yolo-x-nano.eim" model_labels: - airplane - apple @@ -109,14 +109,16 @@ models: source-model-id: "YOLOX-Nano" source-model-url: "https://github.com/Megvii-BaseDetection/YOLOX" bricks: - - arduino:object_detection - - arduino:video_object_detection + - arduino:object_detection: + model_configuration: + "EI_OBJ_DETECTION_MODEL": "/models/ootb/ei/yolo-x-nano.eim" + - arduino:video_object_detection: + model_configuration: + "EI_V_OBJ_DETECTION_MODEL": "/models/ootb/ei/yolo-x-nano.eim" - mobilenet-image-classification: runner: brick name : "General purpose image classification" description: "General purpose image classification model based on MobileNetV2. This model is trained on the ImageNet dataset and can classify images into 1000 categories." - model_configuration: - "EI_CLASSIFICATION_MODEL": "/models/ootb/ei/mobilenet-v2-224px.eim" model_labels: - abacus - abaya @@ -1077,14 +1079,16 @@ models: source-model-id: "MobileNetV2" source-model-url: "https://www.tensorflow.org/api_docs/python/tf/keras/applications/MobileNetV2" bricks: - - arduino:image_classification - - arduino:video_image_classification + - arduino:image_classification: + model_configuration: + "EI_CLASSIFICATION_MODEL": "/models/ootb/ei/mobilenet-v2-224px.eim" + - arduino:video_image_classification: + model_configuration: + "EI_V_CLASSIFICATION_MODEL": "/models/ootb/ei/mobilenet-v2-224px.eim" - person-classification: runner: brick name : "Person classification" description: "Person classification model based on WakeVision dataset. This model is trained to classify images into two categories: person and not-person." - model_configuration: - "EI_CLASSIFICATION_MODEL": "/models/ootb/ei/person-classification.eim" model_labels: - "non person" - "person" @@ -1096,14 +1100,16 @@ models: source-model-id: "person-classification-wakevision" source-model-url: "https://studio.edgeimpulse.com/public/755016/live" bricks: - - arduino:image_classification - - arduino:video_image_classification + - arduino:image_classification: + model_configuration: + "EI_CLASSIFICATION_MODEL": "/models/ootb/ei/person-classification.eim" + - arduino:video_image_classification: + model_configuration: + "EI_V_CLASSIFICATION_MODEL": "/models/ootb/ei/person-classification.eim" - concreate-crack-anomaly-detection: runner: brick name : "Concrete crack anomaly detection" description: "Anomaly detection model to identify cracks in concrete structures." - model_configuration: - "EI_V_ANOMALY_DETECTION_MODEL": "/models/ootb/ei/concrete-crack-anomaly-detection.eim" metadata: source: "edgeimpulse" ei-project-id: 800941 @@ -1111,13 +1117,13 @@ models: source-model-id: "concrete-crack-anomaly-detection" source-model-url: "https://studio.edgeimpulse.com/public/800941/live" bricks: - - arduino:visual_anomaly_detection + - arduino:visual_anomaly_detection: + model_configuration: + "EI_V_ANOMALY_DETECTION_MODEL": "/models/ootb/ei/concrete-crack-anomaly-detection.eim" - keyword-spotting-hey-arduino: runner: brick name : "Keyword spotting - Hey Arduino!" description: "A keyword-spotting model to detect the 'Hey Arduino!' in audio streams." - model_configuration: - "EI_KEYWORD_SPOTTING_MODEL": "/models/ootb/ei/keyword-spotting-hey-arduino.eim" model_labels: - "background" - "hey_arduino" @@ -1131,13 +1137,13 @@ models: source-model-url: "https://studio.edgeimpulse.com/studio/757509/live" private: true bricks: - - arduino:keyword_spotter + - arduino:keyword_spotter: + model_configuration: + "EI_KEYWORD_SPOTTING_MODEL": "/models/ootb/ei/keyword-spotting-hey-arduino.eim" - updown-wave-motion-detection: runner: brick name : "Continuous motion detection" description: "A motion detection model designed to identify up/down, wave, and snake movements evalauting accelerometer data." - model_configuration: - "EI_MOTION_DETECTION_MODEL": "/models/ootb/ei/updown-wave-motion-detection.eim" model_labels: - idle - snake @@ -1150,13 +1156,13 @@ models: source-model-id: "continuous-motion-detection" source-model-url: "https://studio.edgeimpulse.com/public/734960/live" bricks: - - arduino:motion_detection + - arduino:motion_detection: + model_configuration: + "EI_MOTION_DETECTION_MODEL": "/models/ootb/ei/updown-wave-motion-detection.eim" - fan-anomaly-detection: runner: brick name : "Fan anomaly detection" - description: "An anomaly detection model designed to identify anomalies in fan operation." - model_configuration: - "EI_VIBRATION_ANOMALY_DETECTION_MODEL": "/models/ootb/ei/fan-anomaly-detection.eim" + description: "An anomaly detection model designed to identify anomalies in fan operation." metadata: source: "edgeimpulse" ei-project-id: 774707 @@ -1164,13 +1170,13 @@ models: source-model-id: "fan-anomaly-detection" source-model-url: "https://studio.edgeimpulse.com/public/774707/live" bricks: - - arduino:vibration_anomaly_detection + - arduino:vibration_anomaly_detection: + model_configuration: + "EI_VIBRATION_ANOMALY_DETECTION_MODEL": "/models/ootb/ei/fan-anomaly-detection.eim" - glass-breaking: runner: brick name : "Glass breaking classifier" description: "A glass breaking classifier model to detect glass breaking sounds in audio recordings" - model_configuration: - "EI_AUDIO_CLASSIFICATION_MODEL": "/models/ootb/ei/glass-breaking.eim" model_labels: - "Background" - "Glass_Breaking" @@ -1182,4 +1188,6 @@ models: source-model-url: "https://studio.edgeimpulse.com/public/749446/live" private: true bricks: - - arduino:audio_classifier + - arduino:audio_classifier: + model_configuration: + "EI_AUDIO_CLASSIFICATION_MODEL": "/models/ootb/ei/glass-breaking.eim" diff --git a/src/arduino/app_bricks/arduino_cloud/brick_config.yaml b/src/arduino/app_bricks/arduino_cloud/brick_config.yaml index 9b12950e..874fedcb 100644 --- a/src/arduino/app_bricks/arduino_cloud/brick_config.yaml +++ b/src/arduino/app_bricks/arduino_cloud/brick_config.yaml @@ -4,5 +4,8 @@ description: "Connects to Arduino Cloud" variables: - name: ARDUINO_DEVICE_ID description: Arduino Cloud Device ID + mandatory: true - name: ARDUINO_SECRET - description: Arduino Cloud Secret \ No newline at end of file + description: Arduino Cloud Secret + mandatory: true + secret: true \ No newline at end of file diff --git a/src/arduino/app_bricks/audio_classification/brick_compose.yaml b/src/arduino/app_bricks/audio_classification/brick_compose.yaml index 6dbe38e4..723e7b13 100644 --- a/src/arduino/app_bricks/audio_classification/brick_compose.yaml +++ b/src/arduino/app_bricks/audio_classification/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_AUDIO_CLASSIFICATION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-audio-classifier-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/audio_classification/brick_config.yaml b/src/arduino/app_bricks/audio_classification/brick_config.yaml index 1b1836bc..f82abe6f 100644 --- a/src/arduino/app_bricks/audio_classification/brick_config.yaml +++ b/src/arduino/app_bricks/audio_classification/brick_config.yaml @@ -9,3 +9,13 @@ requires_model: true model: glass-breaking model_configuration_variables: - EI_AUDIO_CLASSIFICATION_MODEL +variables: +- name: EI_AUDIO_CLASSIFICATION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true diff --git a/src/arduino/app_bricks/dbstorage_tsstore/brick_compose.yaml b/src/arduino/app_bricks/dbstorage_tsstore/brick_compose.yaml index b43f55c6..7ca01e0b 100644 --- a/src/arduino/app_bricks/dbstorage_tsstore/brick_compose.yaml +++ b/src/arduino/app_bricks/dbstorage_tsstore/brick_compose.yaml @@ -1,8 +1,3 @@ -# BIND_ADDRESS = external container address -# BIND_PORT = container port -# DB_USERNAME = Edge Impulse project API key -# DB_PASSWORD = Database password -# INFLUXDB_ADMIN_TOKEN = InfluxDB admin token services: dbstorage-influx: image: influxdb:2.7 diff --git a/src/arduino/app_bricks/dbstorage_tsstore/brick_config.yaml b/src/arduino/app_bricks/dbstorage_tsstore/brick_config.yaml index 8258cf13..cc928a70 100644 --- a/src/arduino/app_bricks/dbstorage_tsstore/brick_config.yaml +++ b/src/arduino/app_bricks/dbstorage_tsstore/brick_config.yaml @@ -2,4 +2,17 @@ id: arduino:dbstorage_tsstore name: Database - Time Series description: "Simplified time series database storage layer for Arduino sensor samples built on top of InfluxDB." requires_container: true -category: storage \ No newline at end of file +category: storage +variables: +- name: DB_USERNAME + description: Database username + default_value: admin +- name: DB_PASSWORD + description: Database password + default_value: Arduino15 +- name: INFLUXDB_ADMIN_TOKEN + description: InfluxDB admin token + default_value: 392edbf2-b8a2-481f-979d-3f188b2c05f0 +- name: BIND_ADDRESS + description: External container address + private: true diff --git a/src/arduino/app_bricks/image_classification/brick_compose.yaml b/src/arduino/app_bricks/image_classification/brick_compose.yaml index d8207271..55be33c7 100644 --- a/src/arduino/app_bricks/image_classification/brick_compose.yaml +++ b/src/arduino/app_bricks/image_classification/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_CLASSIFICATION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-classification-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/image_classification/brick_config.yaml b/src/arduino/app_bricks/image_classification/brick_config.yaml index a26273b4..2d4a284f 100644 --- a/src/arduino/app_bricks/image_classification/brick_config.yaml +++ b/src/arduino/app_bricks/image_classification/brick_config.yaml @@ -9,3 +9,13 @@ requires_model: true model: mobilenet-image-classification model_configuration_variables: - EI_CLASSIFICATION_MODEL +variables: +- name: EI_CLASSIFICATION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true diff --git a/src/arduino/app_bricks/keyword_spotting/brick_compose.yaml b/src/arduino/app_bricks/keyword_spotting/brick_compose.yaml index b4dd7963..d01aed67 100644 --- a/src/arduino/app_bricks/keyword_spotting/brick_compose.yaml +++ b/src/arduino/app_bricks/keyword_spotting/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_KEYWORD_SPOTTING_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-keyword-spot-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/keyword_spotting/brick_config.yaml b/src/arduino/app_bricks/keyword_spotting/brick_config.yaml index b5e2875e..8d940dc6 100644 --- a/src/arduino/app_bricks/keyword_spotting/brick_config.yaml +++ b/src/arduino/app_bricks/keyword_spotting/brick_config.yaml @@ -11,3 +11,13 @@ requires_model: true model: keyword-spotting-hey-arduino model_configuration_variables: - EI_KEYWORD_SPOTTING_MODEL +variables: +- name: EI_KEYWORD_SPOTTING_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true \ No newline at end of file diff --git a/src/arduino/app_bricks/motion_detection/brick_compose.yaml b/src/arduino/app_bricks/motion_detection/brick_compose.yaml index ef7fc730..31de5c46 100644 --- a/src/arduino/app_bricks/motion_detection/brick_compose.yaml +++ b/src/arduino/app_bricks/motion_detection/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_MOTION_DETECTION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-motion-detection-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/motion_detection/brick_config.yaml b/src/arduino/app_bricks/motion_detection/brick_config.yaml index 86160c49..6ac52624 100644 --- a/src/arduino/app_bricks/motion_detection/brick_config.yaml +++ b/src/arduino/app_bricks/motion_detection/brick_config.yaml @@ -9,3 +9,13 @@ requires_model: true model: updown-wave-motion-detection model_configuration_variables: - EI_MOTION_DETECTION_MODEL +variables: +- name: EI_MOTION_DETECTION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true \ No newline at end of file diff --git a/src/arduino/app_bricks/object_detection/brick_compose.yaml b/src/arduino/app_bricks/object_detection/brick_compose.yaml index 9d418913..f7471960 100644 --- a/src/arduino/app_bricks/object_detection/brick_compose.yaml +++ b/src/arduino/app_bricks/object_detection/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_OBJ_DETECTION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-obj-detection-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/object_detection/brick_config.yaml b/src/arduino/app_bricks/object_detection/brick_config.yaml index e5a96ce5..8dbd0880 100644 --- a/src/arduino/app_bricks/object_detection/brick_config.yaml +++ b/src/arduino/app_bricks/object_detection/brick_config.yaml @@ -8,4 +8,14 @@ requires_container: true requires_model: true model: yolox-object-detection model_configuration_variables: - - EI_OBJ_DETECTION_MODEL \ No newline at end of file + - EI_OBJ_DETECTION_MODEL +variables: +- name: EI_OBJ_DETECTION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true \ No newline at end of file diff --git a/src/arduino/app_bricks/vibration_anomaly_detection/brick_compose.yaml b/src/arduino/app_bricks/vibration_anomaly_detection/brick_compose.yaml index aca4e2a2..71b76474 100644 --- a/src/arduino/app_bricks/vibration_anomaly_detection/brick_compose.yaml +++ b/src/arduino/app_bricks/vibration_anomaly_detection/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_MOTION_DETECTION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-anomaly-detection-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml b/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml index 0babe018..908feb4b 100644 --- a/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml +++ b/src/arduino/app_bricks/vibration_anomaly_detection/brick_config.yaml @@ -9,3 +9,13 @@ requires_model: true model: fan-anomaly-detection model_configuration_variables: - EI_VIBRATION_ANOMALY_DETECTION_MODEL +variables: +- name: EI_VIBRATION_ANOMALY_DETECTION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true diff --git a/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml b/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml index 7e054acc..27af159a 100644 --- a/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml +++ b/src/arduino/app_bricks/video_imageclassification/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_CLASSIFICATION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-video-classification-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 @@ -13,7 +11,7 @@ services: volumes: - "${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}:${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}" - "/run/udev:/run/udev" - command: ["--model-file", "${EI_CLASSIFICATION_MODEL:-/models/ootb/ei/mobilenet-v2-224px.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] + command: ["--model-file", "${EI_V_CLASSIFICATION_MODEL:-/models/ootb/ei/mobilenet-v2-224px.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] healthcheck: test: [ "CMD-SHELL", "wget -q --spider http://ei-video-classification-runner:4912 || exit 1" ] interval: 2s diff --git a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml index 0517c457..46cf3919 100644 --- a/src/arduino/app_bricks/video_imageclassification/brick_config.yaml +++ b/src/arduino/app_bricks/video_imageclassification/brick_config.yaml @@ -13,4 +13,14 @@ required_devices: - camera model: mobilenet-image-classification model_configuration_variables: - - EI_CLASSIFICATION_MODEL \ No newline at end of file + - EI_V_CLASSIFICATION_MODEL +variables: +- name: EI_V_CLASSIFICATION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true \ No newline at end of file diff --git a/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml b/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml index 82ac93ad..671b844c 100644 --- a/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml +++ b/src/arduino/app_bricks/video_objectdetection/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_OBJ_DETECTION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-video-obj-detection-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 @@ -13,7 +11,7 @@ services: volumes: - "${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}:${CUSTOM_MODEL_PATH:-/home/arduino/.arduino-bricks/ei-models/}" - "/run/udev:/run/udev" - command: ["--model-file", "${EI_OBJ_DETECTION_MODEL:-/models/ootb/ei/yolo-x-nano.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] + command: ["--model-file", "${EI_V_OBJ_DETECTION_MODEL:-/models/ootb/ei/yolo-x-nano.eim}", "--dont-print-predictions", "--mode", "streaming", "--preview-original-resolution", "--camera", "${VIDEO_DEVICE:-/dev/video1}"] healthcheck: test: [ "CMD-SHELL", "wget -q --spider http://ei-video-obj-detection-runner:4912 || exit 1" ] interval: 2s diff --git a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml index 66b297ee..7ddaf346 100644 --- a/src/arduino/app_bricks/video_objectdetection/brick_config.yaml +++ b/src/arduino/app_bricks/video_objectdetection/brick_config.yaml @@ -12,4 +12,14 @@ required_devices: - camera model: yolox-object-detection model_configuration_variables: - - EI_OBJ_DETECTION_MODEL \ No newline at end of file + - EI_V_OBJ_DETECTION_MODEL +variables: +- name: EI_V_OBJ_DETECTION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true \ No newline at end of file diff --git a/src/arduino/app_bricks/visual_anomaly_detection/brick_compose.yaml b/src/arduino/app_bricks/visual_anomaly_detection/brick_compose.yaml index 0e71d75a..c80cc3f6 100644 --- a/src/arduino/app_bricks/visual_anomaly_detection/brick_compose.yaml +++ b/src/arduino/app_bricks/visual_anomaly_detection/brick_compose.yaml @@ -1,5 +1,3 @@ -# EI_V_ANOMALY_DETECTION_MODEL = path to the model file -# CUSTOM_MODEL_PATH = path to the custom model directory services: ei-obj-video-anomalies-det-runner: image: ${DOCKER_REGISTRY_BASE:-ghcr.io/arduino/}app-bricks/ei-models-runner:0.5.0 diff --git a/src/arduino/app_bricks/visual_anomaly_detection/brick_config.yaml b/src/arduino/app_bricks/visual_anomaly_detection/brick_config.yaml index 2920b52f..e25cc8d5 100644 --- a/src/arduino/app_bricks/visual_anomaly_detection/brick_config.yaml +++ b/src/arduino/app_bricks/visual_anomaly_detection/brick_config.yaml @@ -9,3 +9,13 @@ requires_model: true model: concrete-crack-anomaly-detection model_configuration_variables: - EI_V_ANOMALY_DETECTION_MODEL +variables: +- name: EI_V_ANOMALY_DETECTION_MODEL + description: Path to the model file + private: true +- name: CUSTOM_MODEL_PATH + description: Path to the custom model directory + private: true +- name: BIND_ADDRESS + description: Bind address + private: true