scanservjs (Scanner Web-UI)
version: "3.8"
services:
scanservjs:
image: sbs20/scanservjs:v3.0.4
container_name: scanservjs
privileged: true
ports:
- "8098:8080"
environment:
DELIMITER: '|'
#SANED_NET_HOSTS: "10.0.100.30;10.0.100.31"
AIRSCAN_DEVICES: '"HWS PM1 ✳️⚫" = "http://192.168.200.18/eSCL"|"HWS PM2 ✳️⚫" = "http://192.168.200.15/eSCL"|"HWS 1.OG ✳️🎨" = "http://192.168.200.119/eSCL"'
#AIRSCAN_DEVICES='"Canon MFD" = "http://192.168.0.10/eSCL";"EPSON MFD" = "http://192.168.0.11/eSCL"'
#AIRSCAN_DEVICES: |
# "Canon MFD" = "http://192.168.0.10/eSCL";
# "EPSON MFD" = "http://192.168.0.11/eSCL"
#PIXMA_HOSTS: "10.0.100.32;10.0.100.33"
#SCANIMAGE_LIST_IGNORE: "true"
#DEVICES: "net:10.0.100.30:plustek:libusb:001:003;net:10.0.100.31:plustek:libusb:001:003;airscan:e0:Canon TR8500 series;airscan:e1:EPSON Cool Series"
OCR_LANG: "deu+eng"
volumes:
- /var/run/dbus:/var/run/dbus
- scans:/var/lib/scanservjs/output
- cfg:/etc/scanservjs
- saned:/etc/sane.d
restart: unless-stopped
volumes:
scans:
cfg:
saned:
Problem: Es werden immer nur die ersten Trennzeichen erkannt, das heißt Scanner PM2 und 1.OG fallen unter ein Device, siehe Log:
# Insert airscan devices
if [ ! -z "$AIRSCAN_DEVICES" ]; then
devices=$(echo $AIRSCAN_DEVICES | sed "s/$DELIMITER/\n/")
for device in $devices; do
sed -i "/^\[devices\]/a $device" /etc/sane.d/airscan.conf
done
fi
+ [ ! -z "HWS PM1 ✳️⚫" = "http://192.168.200.18/eSCL"|"HWS PM2 ✳️⚫" = "http://192.168.200.15/eSCL"|"HWS 1.OG ✳️🎨" = "http://192.168.200.119/eSCL" ]
+ echo "HWS PM1 ✳️⚫" = "http://192.168.200.18/eSCL"|"HWS PM2 ✳️⚫" = "http://192.168.200.15/eSCL"|"HWS 1.OG ✳️🎨" = "http://192.168.200.119/eSCL"
+ sed s/|/\n/
+ devices="HWS PM1 ✳️⚫" = "http://192.168.200.18/eSCL"
"HWS PM2 ✳️⚫" = "http://192.168.200.15/eSCL"|"HWS 1.OG ✳️🎨" = "http://192.168.200.119/eSCL"
+ sed -i /^\[devices\]/a "HWS PM1 ✳️⚫" = "http://192.168.200.18/eSCL" /etc/sane.d/airscan.conf
+ sed -i /^\[devices\]/a "HWS PM2 ✳️⚫" = "http://192.168.200.15/eSCL"|"HWS 1.OG ✳️🎨" = "http://192.168.200.119/eSCL" /etc/sane.d/airscan.conf
# Insert pixma hosts
if [ ! -z "$PIXMA_HOSTS" ]; then
hosts=$(echo $PIXMA_HOSTS | sed "s/$DELIMITER/\n/")
for host in $hosts; do
echo "bjnp://$host" >> /etc/sane.d/pixma.conf
Lösung: wie oben im docker-compose, den Ordner /etc/sane.d als Volume mounten und die airscan.conf darin per Hand bearbeiten:
>

