Compare commits

..

1 Commits

Author SHA1 Message Date
MickLesk 2b980dce59 Read prompt input directly from /dev/tty
Update the interactive `read` call in `misc/build.func` to read from `/dev/tty` instead of standard input. This ensures the timeout prompt still accepts user input even when stdin is redirected or consumed by another stream.
2026-07-28 16:39:53 +02:00
2 changed files with 23 additions and 44 deletions
+1 -1
View File
@@ -5337,7 +5337,7 @@ EOF
local response=""
local read_rc
read -t 60 -r response
read -t 60 -r response </dev/tty
read_rc=$?
if [[ $read_rc -eq 0 ]]; then
case "${response:-1}" in
@@ -35,32 +35,6 @@ if ! grep -qE 'ID=debian|ID=ubuntu' /etc/os-release 2>/dev/null; then
exit 238
fi
# ==============================================================================
# SERVICE FILE
# ==============================================================================
function write_service() {
cat <<EOF >"$SERVICE_PATH"
[Unit]
Description=Prometheus Paperless NGX Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
EnvironmentFile=$CONFIG_PATH
ExecStart=$BINARY_PATH \\
--paperless_url=\${PAPERLESS_URL} \\
--paperless_auth_token_file=$AUTH_TOKEN_FILE \\
--paperless_header 'Accept: application/json; version=9' \\
--collectors=tag,correspondent,document_type,storage_path,task,log,group,user,status,statistics
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
}
# ==============================================================================
# UNINSTALL
# ==============================================================================
@@ -83,31 +57,19 @@ function uninstall() {
# UPDATE
# ==============================================================================
function update() {
local release_found=1
if check_for_gh_release "prom-paperless-exp" "hansmi/prometheus-paperless-exporter"; then
release_found=0
msg_info "Stopping service"
systemctl stop prometheus-paperless-ngx-exporter
msg_ok "Stopped service"
fetch_and_deploy_gh_release "prom-paperless-exp" "hansmi/prometheus-paperless-exporter" "binary" "latest"
fi
msg_info "Refreshing service configuration"
write_service
msg_ok "Refreshed service configuration"
msg_info "Starting service"
systemctl restart prometheus-paperless-ngx-exporter
msg_ok "Started service"
if [[ $release_found -eq 0 ]]; then
msg_info "Starting service"
systemctl start prometheus-paperless-ngx-exporter
msg_ok "Started service"
msg_ok "Updated successfully!"
else
msg_ok "No new release found, service configuration refreshed"
exit
fi
exit
}
# ==============================================================================
@@ -131,7 +93,24 @@ EOF
msg_ok "Created configuration"
msg_info "Creating service"
write_service
cat <<EOF >"$SERVICE_PATH"
[Unit]
Description=Prometheus Paperless NGX Exporter
Wants=network-online.target
After=network-online.target
[Service]
User=root
EnvironmentFile=$CONFIG_PATH
ExecStart=$BINARY_PATH \\
--paperless_url=\${PAPERLESS_URL} \\
--paperless_auth_token_file=$AUTH_TOKEN_FILE
Restart=always
[Install]
WantedBy=multi-user.target
EOF
systemctl daemon-reload
systemctl enable -q --now prometheus-paperless-ngx-exporter
msg_ok "Created and started service"