feat: initialize managed portal
This commit is contained in:
44
managed/store_dwell_alert/scripts/run.sh
Executable file
44
managed/store_dwell_alert/scripts/run.sh
Executable file
@@ -0,0 +1,44 @@
|
||||
#!/usr/bin/env bash
|
||||
set -euo pipefail
|
||||
|
||||
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd)"
|
||||
VENV_PYTHON="${PROJECT_DIR}/.venv/bin/python"
|
||||
CONFIG_TEMPLATE="${PROJECT_DIR}/config/config.example.yaml"
|
||||
CONFIG_PATH="${PROJECT_DIR}/config/local.yaml"
|
||||
LOG_DIR="${PROJECT_DIR}/logs"
|
||||
CAMERA_ID="${CAMERA_ID:-store_cam_01}"
|
||||
RTSP_URL="${RTSP_URL:-rtsp://user:password@camera-ip:554/h264/ch1/main/av_stream}"
|
||||
EVENT_SINK_PATH="${EVENT_SINK_PATH:-logs/events.jsonl}"
|
||||
PREPARE_ONLY=0
|
||||
|
||||
if [[ "${1:-}" == "--prepare-only" ]]; then
|
||||
PREPARE_ONLY=1
|
||||
shift
|
||||
fi
|
||||
|
||||
if [[ ! -x "${VENV_PYTHON}" ]]; then
|
||||
echo "Virtual environment is missing. Run scripts/install.sh first." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if [[ "${RTSP_URL}" == "rtsp://user:password@camera-ip:554/h264/ch1/main/av_stream" ]]; then
|
||||
echo "Please edit scripts/run.sh and set RTSP_URL before starting." >&2
|
||||
exit 1
|
||||
fi
|
||||
|
||||
mkdir -p "${LOG_DIR}"
|
||||
|
||||
cp "${CONFIG_TEMPLATE}" "${CONFIG_PATH}"
|
||||
sed -i.bak \
|
||||
-e "s|^camera_id: .*|camera_id: ${CAMERA_ID}|" \
|
||||
-e "s|^ rtsp_url: .*| rtsp_url: ${RTSP_URL}|" \
|
||||
-e "s|^ path: .*| path: ${EVENT_SINK_PATH}|" \
|
||||
"${CONFIG_PATH}"
|
||||
rm -f "${CONFIG_PATH}.bak"
|
||||
|
||||
if [[ "${PREPARE_ONLY}" -eq 1 ]]; then
|
||||
echo "Prepared config at ${CONFIG_PATH}"
|
||||
exit 0
|
||||
fi
|
||||
|
||||
exec "${VENV_PYTHON}" -m app.main --config "${CONFIG_PATH}" "$@"
|
||||
Reference in New Issue
Block a user