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
|
# 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
|
||||||
|
|||||||
Reference in New Issue
Block a user