Update scrutiny/start.sh
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 8s
All checks were successful
Test and Publish Templates / test-and-publish (push) Successful in 8s
This commit is contained in:
@@ -7,14 +7,14 @@ _check_required_env_vars "CONTAINER_NAME" "IMAGE_REGISTRY" "IMAGE_REPO" "IMAGE_T
|
||||
# Set defaults
|
||||
WEB_PORT="${WEB_PORT:-8080}"
|
||||
INFLUXDB_PORT="${INFLUXDB_PORT:-8086}"
|
||||
DEVICES="${DEVICES:-/dev/sda}"
|
||||
DEVICES="${DEVICES:-sda}"
|
||||
PRIVILEGED_MODE="${PRIVILEGED_MODE:-false}"
|
||||
COLLECTOR_CRON_SCHEDULE="${COLLECTOR_CRON_SCHEDULE:-0 0 * * *}"
|
||||
|
||||
# Build device arguments
|
||||
DEVICE_ARGS=""
|
||||
# Build device arguments array
|
||||
DEVICE_ARGS=()
|
||||
if [ "$PRIVILEGED_MODE" = "true" ]; then
|
||||
DEVICE_ARGS="--privileged"
|
||||
DEVICE_ARGS+=("--privileged")
|
||||
else
|
||||
for dev in $DEVICES; do
|
||||
# Auto-prepend /dev/ if not already a path
|
||||
@@ -22,35 +22,39 @@ else
|
||||
dev="/dev/$dev"
|
||||
fi
|
||||
if [ -e "$dev" ]; then
|
||||
DEVICE_ARGS="$DEVICE_ARGS --device=$dev"
|
||||
DEVICE_ARGS+=("--device=$dev")
|
||||
else
|
||||
echo "Warning: Device $dev does not exist, skipping"
|
||||
fi
|
||||
done
|
||||
if [ -z "$DEVICE_ARGS" ]; then
|
||||
if [ ${#DEVICE_ARGS[@]} -eq 0 ]; then
|
||||
_die "No valid devices found. Check DEVICES setting or enable PRIVILEGED_MODE."
|
||||
fi
|
||||
fi
|
||||
|
||||
# Build docker run command
|
||||
DOCKER_RUN_CMD="docker run -d \
|
||||
# Remove existing container if stopped
|
||||
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 \
|
||||
--name ${CONTAINER_NAME} \
|
||||
-p ${WEB_PORT}:8080 \
|
||||
-p ${INFLUXDB_PORT}:8086 \
|
||||
-v ${CONTAINER_NAME}_config:/opt/scrutiny/config \
|
||||
-v ${CONTAINER_NAME}_influxdb:/opt/scrutiny/influxdb \
|
||||
--name "${CONTAINER_NAME}" \
|
||||
-p "${WEB_PORT}:8080" \
|
||||
-p "${INFLUXDB_PORT}:8086" \
|
||||
-v "${CONTAINER_NAME}_config:/opt/scrutiny/config" \
|
||||
-v "${CONTAINER_NAME}_influxdb:/opt/scrutiny/influxdb" \
|
||||
-v /run/udev:/run/udev:ro \
|
||||
--cap-add SYS_RAWIO \
|
||||
--cap-add SYS_ADMIN \
|
||||
-e COLLECTOR_CRON_SCHEDULE=\"${COLLECTOR_CRON_SCHEDULE}\" \
|
||||
${DEVICE_ARGS} \
|
||||
${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
|
||||
-e "COLLECTOR_CRON_SCHEDULE=${COLLECTOR_CRON_SCHEDULE}" \
|
||||
"${DEVICE_ARGS[@]}" \
|
||||
"${IMAGE_REGISTRY}/${IMAGE_REPO}:${IMAGE_TAG}"
|
||||
|
||||
# Verify running
|
||||
sleep 2
|
||||
|
||||
Reference in New Issue
Block a user