bundles/scansnap: introduce, add to home.nas
This commit is contained in:
parent
5e49e3204b
commit
b5fb5dd6c2
5 changed files with 120 additions and 2 deletions
16
bundles/scansnap/files/scan.sh
Normal file
16
bundles/scansnap/files/scan.sh
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
set -euo pipefail
|
||||||
|
|
||||||
|
DATE=$(date +%F_%H-%M-%S)
|
||||||
|
OUTFILE="/tmp/${DATE}"
|
||||||
|
|
||||||
|
scanimage --source 'ADF Duplex' --format tiff --mode Gray --resolution 300 --page-width 210 --page-height 297.3 -x 210 -y 297.3 --batch=${OUTFILE}_p%04d.tiff
|
||||||
|
|
||||||
|
convert ${OUTFILE}_*.tiff ${OUTFILE}.pdf
|
||||||
|
ocrmypdf -l deu ${OUTFILE}.pdf ${OUTFILE}.OCR.pdf
|
||||||
|
|
||||||
|
rm -f ${OUTFILE}_*.tiff
|
||||||
|
rm -f ${OUTFILE}.pdf
|
||||||
|
|
||||||
|
mv "${OUTFILE}.OCR.pdf" "/srv/scansnap/${DATE}.pdf"
|
52
bundles/scansnap/files/scanbd.conf
Normal file
52
bundles/scansnap/files/scanbd.conf
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
global {
|
||||||
|
debug = true
|
||||||
|
debug-level = 2
|
||||||
|
|
||||||
|
user = saned
|
||||||
|
group = scanner
|
||||||
|
|
||||||
|
saned = "/usr/sbin/saned"
|
||||||
|
saned_opt = {}
|
||||||
|
saned_env = { "SANE_CONFIG_DIR=/etc/scanbd" }
|
||||||
|
|
||||||
|
scriptdir = /etc/scanbd/scripts
|
||||||
|
|
||||||
|
timeout = 500
|
||||||
|
|
||||||
|
pidfile = "/var/run/scanbd.pid"
|
||||||
|
|
||||||
|
environment {
|
||||||
|
device = "SCANBD_DEVICE"
|
||||||
|
action = "SCANBD_ACTION"
|
||||||
|
}
|
||||||
|
|
||||||
|
function function_knob {
|
||||||
|
filter = "^message.*"
|
||||||
|
desc = "The value of the function knob / wheel / selector"
|
||||||
|
env = "SCANBD_FUNCTION"
|
||||||
|
}
|
||||||
|
function function_mode {
|
||||||
|
filter = "^mode.*"
|
||||||
|
desc = "Color mode"
|
||||||
|
env = "SCANBD_FUNCTION_MODE"
|
||||||
|
}
|
||||||
|
|
||||||
|
multiple_actions = false
|
||||||
|
action scan {
|
||||||
|
filter = "^scan.*"
|
||||||
|
numerical-trigger {
|
||||||
|
from-value = 1
|
||||||
|
to-value = 0
|
||||||
|
}
|
||||||
|
desc = "Scan to file"
|
||||||
|
script = "scan.sh"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
include(scanner.d/avision.conf)
|
||||||
|
include(scanner.d/fujitsu.conf)
|
||||||
|
include(scanner.d/hp.conf)
|
||||||
|
include(scanner.d/pixma.conf)
|
||||||
|
include(scanner.d/snapscan.conf)
|
||||||
|
include(scanner.d/canon.conf)
|
||||||
|
include(scanner.d/plustek.conf)
|
25
bundles/scansnap/items.py
Normal file
25
bundles/scansnap/items.py
Normal file
|
@ -0,0 +1,25 @@
|
||||||
|
directories = {
|
||||||
|
'/etc/scanbd/scripts': {
|
||||||
|
'purge': True,
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
files = {
|
||||||
|
'/etc/scanbd/scanbd.conf': {
|
||||||
|
'triggers': {
|
||||||
|
'svc_systemd:scanbd:restart',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'/etc/scanbd/scripts/scan.sh': {
|
||||||
|
'mode': '0755',
|
||||||
|
},
|
||||||
|
}
|
||||||
|
|
||||||
|
svc_systemd = {
|
||||||
|
'scanbd': {
|
||||||
|
'needs': {
|
||||||
|
'file:/etc/scanbd/scanbd.conf',
|
||||||
|
'pkg_apt:scanbd',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
16
bundles/scansnap/metadata.py
Normal file
16
bundles/scansnap/metadata.py
Normal file
|
@ -0,0 +1,16 @@
|
||||||
|
defaults = {
|
||||||
|
'apt': {
|
||||||
|
'packages': {
|
||||||
|
'sane-utils': {},
|
||||||
|
'scanbd': {},
|
||||||
|
'imagemagick': {},
|
||||||
|
'ocrmypdf': {},
|
||||||
|
'tesseract-ocr-deu': {},
|
||||||
|
},
|
||||||
|
},
|
||||||
|
'backups': {
|
||||||
|
'paths': {
|
||||||
|
'/src/scansnap',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
}
|
|
@ -7,6 +7,7 @@ nodes['home.nas'] = {
|
||||||
'mosquitto',
|
'mosquitto',
|
||||||
'netdata',
|
'netdata',
|
||||||
'nfs-server',
|
'nfs-server',
|
||||||
|
'scansnap',
|
||||||
'smartd',
|
'smartd',
|
||||||
'vmhost',
|
'vmhost',
|
||||||
'zfs',
|
'zfs',
|
||||||
|
@ -111,11 +112,16 @@ nodes['home.nas'] = {
|
||||||
},
|
},
|
||||||
'nfs-server': {
|
'nfs-server': {
|
||||||
'shares': {
|
'shares': {
|
||||||
|
'/storage/download': {
|
||||||
|
'172.19.138.27/32(rw,all_squash,anonuid=65534,anongid=1012,no_subtree_check)',
|
||||||
|
},
|
||||||
'/storage/nas': {
|
'/storage/nas': {
|
||||||
'172.19.138.0/24(ro,all_squash,anonuid=65534,anongid=65534,no_subtree_check)',
|
'172.19.138.0/24(ro,all_squash,anonuid=65534,anongid=65534,no_subtree_check)',
|
||||||
},
|
},
|
||||||
'/storage/download': {
|
'/srv/scansnap': {
|
||||||
'172.19.138.27/32(rw,all_squash,anonuid=65534,anongid=1012,no_subtree_check)',
|
# uid 121 -> saned
|
||||||
|
# gid 120 -> scanner
|
||||||
|
'172.19.138.0/24(rw,all_squash,anonuid=121,anongid=120,no_subtree_check)',
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -198,6 +204,9 @@ nodes['home.nas'] = {
|
||||||
'storage/nas': {
|
'storage/nas': {
|
||||||
'mountpoint': '/storage/nas',
|
'mountpoint': '/storage/nas',
|
||||||
},
|
},
|
||||||
|
'storage/scan': {
|
||||||
|
'mountpoint': '/srv/scansnap',
|
||||||
|
},
|
||||||
},
|
},
|
||||||
'snapshots': {
|
'snapshots': {
|
||||||
'retain_per_dataset': {
|
'retain_per_dataset': {
|
||||||
|
|
Loading…
Reference in a new issue