Compare commits

..

2 Commits

Author SHA1 Message Date
Tobias 99e19c8ef6 rm: comments 2026-07-28 15:09:18 +02:00
Tobias 920bab7068 fix: compatibility in paperless v3 (https://github.com/hansmi/prometheus-paperless-exporter/issues/134) 2026-07-28 15:07:45 +02:00
2 changed files with 49 additions and 24 deletions
+4
View File
@@ -21,6 +21,8 @@ color
catch_errors
function update_script() {
header_info "$APP"
msg_info "Updating Alpine OS"
$STD apk -U upgrade
msg_ok "System updated"
@@ -28,8 +30,10 @@ function update_script() {
msg_info "Pulling latest NPMplus container image"
cd /opt
$STD docker compose pull
msg_info "Recreating container"
$STD docker compose up -d
msg_ok "Updated NPMplus container"
msg_ok "Updated successfully!"
exit
}
@@ -35,6 +35,32 @@ 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
# ==============================================================================
@@ -57,19 +83,31 @@ 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"
msg_info "Starting service"
systemctl start prometheus-paperless-ngx-exporter
msg_ok "Started service"
msg_ok "Updated successfully!"
exit
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_ok "Updated successfully!"
else
msg_ok "No new release found, service configuration refreshed"
fi
exit
}
# ==============================================================================
@@ -93,24 +131,7 @@ EOF
msg_ok "Created configuration"
msg_info "Creating 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
write_service
systemctl enable -q --now prometheus-paperless-ngx-exporter
msg_ok "Created and started service"