Update scrutiny/start.sh
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 8s

This commit is contained in:
j
2026-01-15 11:10:06 +13:00
parent 97fe9d0bd9
commit 757b47cf06

View File

@@ -7,14 +7,14 @@ _check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_T
# Set defaults # Set defaults
WEB_PORT="${WEB_PORT:-8080}" WEB_PORT="${WEB_PORT:-8080}"
INFLUXDB_PORT="${INFLUXDB_PORT:-8086}" INFLUXDB_PORT="${INFLUXDB_PORT:-8086}"
DEVICES="${DEVICES:-/dev/sda}" DEVICES="${DEVICES:-sda}"
PRIVILEGED_MODE="${PRIVILEGED_MODE:-false}" PRIVILEGED_MODE="${PRIVILEGED_MODE:-false}"
COLLECTOR_CRON_SCHEDULE="${COLLECTOR_CRON_SCHEDULE:-0 0 * * *}" COLLECTOR_CRON_SCHEDULE="${COLLECTOR_CRON_SCHEDULE:-0 0 * * *}"
# Build device arguments # Build device arguments array
DEVICE_ARGS="" DEVICE_ARGS=()
if [ "$PRIVILEGED_MODE" = "true" ]; then if [ "$PRIVILEGED_MODE" = "true" ]; then
DEVICE_ARGS="--privileged" DEVICE_ARGS+=("--privileged")
else else
for dev in $DEVICES; do for dev in $DEVICES; do
# Auto-prepend /dev/ if not already a path # Auto-prepend /dev/ if not already a path
@@ -22,35 +22,39 @@ else
dev="/dev/$dev" dev="/dev/$dev"
fi fi
if [ -e "$dev" ]; then if [ -e "$dev" ]; then
DEVICE_ARGS="$DEVICE_ARGS --device=$dev" DEVICE_ARGS+=("--device=$dev")
else else
echo "Warning: Device $dev does not exist, skipping" echo "Warning: Device $dev does not exist, skipping"
fi fi
done done
if [ -z "$DEVICE_ARGS" ]; then if [ ${#DEVICE_ARGS[@]} -eq 0 ]; then
_die "No valid devices found. Check DEVICES setting or enable PRIVILEGED_MODE." _die "No valid devices found. Check DEVICES setting or enable PRIVILEGED_MODE."
fi fi
fi fi
# Build docker run command # Remove existing container if stopped
DOCKER_RUN_CMD="docker run -d \ if _is_container_exists "$CONTAINER_NAME"; then
if _is_container_running "$CONTAINER_NAME"; then
echo "Container ${CONTAINER_NAME} is already running"
exit 0
fi
_remove_container "$CONTAINER_NAME"
fi
# Run docker directly with proper quoting
docker run -d \
--restart unless-stopped \ --restart unless-stopped \
--name ${CONTAINER_NAME} \ --name "${CONTAINER_NAME}" \
-p ${WEB_PORT}:8080 \ -p "${WEB_PORT}:8080" \
-p ${INFLUXDB_PORT}:8086 \ -p "${INFLUXDB_PORT}:8086" \
-v ${CONTAINER_NAME}_config:/opt/scrutiny/config \ -v "${CONTAINER_NAME}_config:/opt/scrutiny/config" \
-v ${CONTAINER_NAME}_influxdb:/opt/scrutiny/influxdb \ -v "${CONTAINER_NAME}_influxdb:/opt/scrutiny/influxdb" \
-v /run/udev:/run/udev:ro \ -v /run/udev:/run/udev:ro \
--cap-add SYS_RAWIO \ --cap-add SYS_RAWIO \
--cap-add SYS_ADMIN \ --cap-add SYS_ADMIN \
-e COLLECTOR_CRON_SCHEDULE=\"${COLLECTOR_CRON_SCHEDULE}\" \ -e "COLLECTOR_CRON_SCHEDULE=${COLLECTOR_CRON_SCHEDULE}" \
${DEVICE_ARGS} \ "${DEVICE_ARGS[@]}" \
${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}" "${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
# Start container
if ! _create_and_start_container "$DOCKER_RUN_CMD" "$CONTAINER_NAME"; then
_die "Failed to start container ${CONTAINER_NAME}"
fi
# Verify running # Verify running
sleep 2 sleep 2