paperless - make configurable and add step for retagging
This commit is contained in:
5
seqs/paperless.cfg.example
Normal file
5
seqs/paperless.cfg.example
Normal file
@@ -0,0 +1,5 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
sc_paperlessHome="/opt/paperless"
|
||||||
|
sc_paperlessDir="${sc_paperlessHome}/paperless-ngx"
|
||||||
|
sc_paperlessBackupDir="${HOME}/backup"
|
@@ -13,24 +13,14 @@ downUrl=
|
|||||||
sq_paperlessDownLoc="/tmp/paperless_latest.tar.xz"
|
sq_paperlessDownLoc="/tmp/paperless_latest.tar.xz"
|
||||||
sq_aptOpt=
|
sq_aptOpt=
|
||||||
|
|
||||||
sc_paperlessHome="/opt/paperless"
|
|
||||||
sc_paperlessDir="${sc_paperlessHome}/paperless-ngx"
|
|
||||||
|
|
||||||
seq_config() {
|
seq_config() {
|
||||||
## Called once before executing steps.
|
|
||||||
## e.g. to source a config file manually:
|
|
||||||
#. "${seq_origin:?}/${seq_configName:?}"
|
|
||||||
|
|
||||||
## or to use sequencer api with profile config file support:
|
|
||||||
#if initSeqConfig -p "${seq_fileName:?}" "${seq_configTemplate:?}" ; then
|
|
||||||
|
|
||||||
## or to use sequencer api with global config file:
|
## or to use sequencer api with global config file:
|
||||||
#if initSeqConfig "${seq_configName:?}" "${seq_configTemplate:?}" ; then
|
if initSeqConfig "${seq_configName:?}" "${seq_configTemplate:?}" ; then
|
||||||
# sq_config=1
|
sq_config=1
|
||||||
#else
|
else
|
||||||
# # End if no configuration file exists
|
# End if no configuration file exists
|
||||||
# dry || return 1
|
dry || return 1
|
||||||
#fi
|
fi
|
||||||
|
|
||||||
## Apt cmdline option to suppress user interaction
|
## Apt cmdline option to suppress user interaction
|
||||||
interactive || sq_aptOpt="-y"
|
interactive || sq_aptOpt="-y"
|
||||||
@@ -45,14 +35,13 @@ seq_config() {
|
|||||||
|
|
||||||
getVersions() {
|
getVersions() {
|
||||||
versionNew="${versionNew:-$(curl --silent "$versionUrl" | grep -Po '"tag_name": "v\K.*?(?=")')}"
|
versionNew="${versionNew:-$(curl --silent "$versionUrl" | grep -Po '"tag_name": "v\K.*?(?=")')}"
|
||||||
versionNow=1.7.1 #${versionNow:-$(grep -Po 'Changelog.*Paperless-ngx \K.*?(?= )' 2>/dev/null < "${sc_paperlessDir}/docs/changelog.html")}
|
versionNow=${versionNow:-$(grep -Po 'Changelog.*Paperless-ngx \K.*?(?= )' 2>/dev/null < "${sc_paperlessDir}/docs/changelog.html")}
|
||||||
downUrl="${downUrl:-"https://github.com/paperless-ngx/paperless-ngx/releases/download/v${versionNew:?}/paperless-ngx-v${versionNew:?}.tar.xz"}"
|
downUrl="${downUrl:-"https://github.com/paperless-ngx/paperless-ngx/releases/download/v${versionNew:?}/paperless-ngx-v${versionNew:?}.tar.xz"}"
|
||||||
}
|
}
|
||||||
|
|
||||||
step_1_info() { echo "Status of ${toolName}"; }
|
step_1_info() { echo "Status of ${toolName}"; }
|
||||||
step_1_alias() { echo "status"; }
|
step_1_alias() { echo "status"; }
|
||||||
step_1() {
|
step_1() {
|
||||||
die "Testende"
|
|
||||||
getVersions
|
getVersions
|
||||||
info -n "${toolName} "
|
info -n "${toolName} "
|
||||||
if [[ -n "${versionNow}" ]] ; then
|
if [[ -n "${versionNow}" ]] ; then
|
||||||
@@ -74,26 +63,30 @@ step_3_info() { echoinfoArgs "[status|start|stop]"; echo "Manage ${toolName} ser
|
|||||||
step_3_alias() { echo "service"; }
|
step_3_alias() { echo "service"; }
|
||||||
step_3() {
|
step_3() {
|
||||||
shift
|
shift
|
||||||
local serviceCommand="status"
|
local serviceCommand="is-active"
|
||||||
local serviceOpt="-n 0"
|
case "${1:-"status"}" in
|
||||||
case "${1:-}" in
|
|
||||||
start)
|
start)
|
||||||
serviceOpt=
|
|
||||||
serviceCommand="${1}" ;;
|
serviceCommand="${1}" ;;
|
||||||
stop)
|
stop)
|
||||||
serviceOpt=
|
|
||||||
serviceCommand="${1}" ;;
|
serviceCommand="${1}" ;;
|
||||||
status)
|
status)
|
||||||
serviceCommand="${1}" ;;
|
serviceCommand="is-active"
|
||||||
|
info -n "paperless-webserver: "
|
||||||
|
exe systemctl "${serviceCommand:?}" paperless-webserver
|
||||||
|
info -na "paperless-scheduler: "
|
||||||
|
exe systemctl "${serviceCommand:?}" paperless-scheduler
|
||||||
|
info -na "paperless-consumer : "
|
||||||
|
exe systemctl "${serviceCommand:?}" paperless-consumer
|
||||||
|
return 0 ;;
|
||||||
"")
|
"")
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
error "Unknown command ${1:-"-"}"
|
error "Unknown command ${1:-"-"}"
|
||||||
return 1 ;;
|
return 1 ;;
|
||||||
esac
|
esac
|
||||||
exe systemctl ${serviceOpt:-} "${serviceCommand:?}" paperless-webserver
|
exe systemctl "${serviceCommand:?}" paperless-webserver
|
||||||
exe systemctl ${serviceOpt:-} "${serviceCommand:?}" paperless-scheduler
|
exe systemctl "${serviceCommand:?}" paperless-scheduler
|
||||||
exe systemctl ${serviceOpt:-} "${serviceCommand:?}" paperless-consumer
|
exe systemctl "${serviceCommand:?}" paperless-consumer
|
||||||
}
|
}
|
||||||
|
|
||||||
step_10_info() { echo "Install python3"; }
|
step_10_info() { echo "Install python3"; }
|
||||||
@@ -141,7 +134,6 @@ step_12() {
|
|||||||
|
|
||||||
exe tar -xf "${sq_paperlessDownLoc}" -C "${sc_paperlessHome}"
|
exe tar -xf "${sq_paperlessDownLoc}" -C "${sc_paperlessHome}"
|
||||||
exe chown -R "${toolUser}": "${sc_paperlessDir}"
|
exe chown -R "${toolUser}": "${sc_paperlessDir}"
|
||||||
exe install --owner="${toolUser}" --group="${toolUser}" -d "${sc_paperlessHome}/"{consume,data,media}
|
|
||||||
|
|
||||||
if ((toolUpgrade)) ; then
|
if ((toolUpgrade)) ; then
|
||||||
info "Moving over ${toolName} and gunicorn configuration"
|
info "Moving over ${toolName} and gunicorn configuration"
|
||||||
@@ -170,6 +162,7 @@ step_13() {
|
|||||||
|
|
||||||
step_14_info() { echo "Initialization"; }
|
step_14_info() { echo "Initialization"; }
|
||||||
step_14() {
|
step_14() {
|
||||||
|
exe install --owner="${toolUser}" --group="${toolUser}" -d "${sc_paperlessHome}/"{consume,data,media}
|
||||||
exe cd "${sc_paperlessDir}/src"
|
exe cd "${sc_paperlessDir}/src"
|
||||||
exe sudo -Hu paperless python3 manage.py migrate
|
exe sudo -Hu paperless python3 manage.py migrate
|
||||||
exe sudo -Hu paperless python3 manage.py createsuperuser
|
exe sudo -Hu paperless python3 manage.py createsuperuser
|
||||||
@@ -183,9 +176,42 @@ step_16() {
|
|||||||
exe sudo -Hu paperless python3 manage.py migrate
|
exe sudo -Hu paperless python3 manage.py migrate
|
||||||
}
|
}
|
||||||
|
|
||||||
step_20_info() { echo "Notes"; }
|
step_18_info() {
|
||||||
step_20_alias() { echo "notes"; }
|
echoinfoArgs "[OPTIONS]"; echo "Retag existing documents"
|
||||||
step_20() {
|
echoinfo "OPTIONS"
|
||||||
|
echoinfo " -c, --correspondent"
|
||||||
|
echoinfo " -T, --tags"
|
||||||
|
echoinfo " -t, --document_type"
|
||||||
|
echoinfo " -i, --inbox-only"
|
||||||
|
echoinfo " --use-first"
|
||||||
|
echoinfo " -f, --overwrite"
|
||||||
|
}
|
||||||
|
step_18_alias() { echo "retag"; }
|
||||||
|
step_18() {
|
||||||
|
shift
|
||||||
|
exe cd "${sc_paperlessDir}/src"
|
||||||
|
exe sudo -Hu paperless python3 manage.py document_retagger "$@"
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
step_30_info() { echoinfoArgs "[--nostart]"; echo "Backup ${toolName}"; }
|
||||||
|
step_30_alias() { echo "backup"; }
|
||||||
|
step_30() {
|
||||||
|
shift
|
||||||
|
info "Doing backup..."
|
||||||
|
step service stop
|
||||||
|
exe cd "$(dirname -- "${sc_paperlessHome}")"
|
||||||
|
exe tar czf "${sc_paperlessBackupDir:-"${HOME}/backup"}/paperless_backup_$(date +%Y%m%d-%H%M%S).tar.gz" "$(basename -- "${sc_paperlessHome}")"
|
||||||
|
if [[ ${1:-} == "--nostart" ]] ; then
|
||||||
|
info "Not starting ${toolName} services after backup"
|
||||||
|
else
|
||||||
|
step service start
|
||||||
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
step_100_info() { echo "Notes"; }
|
||||||
|
step_100_alias() { echo "notes"; }
|
||||||
|
step_100() {
|
||||||
color green
|
color green
|
||||||
cat <<EOF_NOTES
|
cat <<EOF_NOTES
|
||||||
# Config modifications
|
# Config modifications
|
||||||
@@ -215,20 +241,5 @@ EOF_NOTES
|
|||||||
color none
|
color none
|
||||||
}
|
}
|
||||||
|
|
||||||
step_30_info() { echoinfoArgs "[--nostart]"; echo "Backup ${toolName}"; }
|
|
||||||
step_30_alias() { echo "backup"; }
|
|
||||||
step_30() {
|
|
||||||
shift
|
|
||||||
info "Doing backup..."
|
|
||||||
step service stop
|
|
||||||
exe cd "$(dirname -- "${sc_paperlessHome}")"
|
|
||||||
exe tar czf "/root/backup/paperless_backup_$(date +%Y%m%d-%H%M%S).tar.gz" "$(basename -- "${sc_paperlessHome}")"
|
|
||||||
if [[ ${1:-} == "--nostart" ]] ; then
|
|
||||||
info "Not starting ${toolName} services after backup"
|
|
||||||
else
|
|
||||||
step service start
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
readonly sqr_minVersion=16
|
readonly sqr_minVersion=16
|
||||||
. sequencer.sh
|
. sequencer.sh
|
||||||
|
Reference in New Issue
Block a user