Skip to content


Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time



Scan-to-cloud for local scanners.

This is based on the Fujitsu ScanSnap S1300i, which despite it's marketing info saying "Scan to Cloud", doesn't. The "ScanSnap Cloud" software is meant to be able to do scan-to-Dropbox, but doesn't. Also, even if it did, it needs to be rigged up to a Windows or Mac machine, and I don't have a spare one of those to have.

Munger enables the use of a Raspberry Pi for scan-to-cloud, along with a convertor component for running elsewhere if you've got an older slower Pi that can't really do the conversion stuff.

full setup

Install steps

  1. Acquire a Pi (I'm using an original Model B, so probably anything except the Pi Zero will work for this), a screen (I've got a cheap knockoff of the AdaFruit 2.8" 320x240 TFT), and a USB scanner (Fujitsu ScanSnap S1300i is what I've got, but anything that's compatible with SANE and scanbd should work)

  2. Do the raspberry-chef install, using the following settings:

  • chef-url -
  • chef-cookbook - munger
  • chef-directory - device
  1. Download to /etc/scanner/drive.yaml on the Pi and edit it to your local settings. In the example config, I've got another checkout of munger on the server in src/munger and we're dumping the scans under that. mount_folder is the actual folder to mount and scans_folder is a subfolder of that to store things in. When the raspberry-chef updater runs again, you should now have a mounted folder.

  2. At this point you should be able to open up your scanner and see "Scanner on" display, and then push the physical "scan" button and get the scanner to scan images to the folder you configured in drive.yaml

  3. You now need another machine (or in theory the Pi itself could do this, but it's really slow on the Pi 1 I'm using, so mostly untested recently). Checkout a copy of this repo there.

  4. Build the server docker image docker build -t munger server

  5. Run it, replacing <scans folder> with a path to the scans folder from step 3, and <output folder> to wherever the end files go (I suggest a local Dropbox folder or similar) docker run --rm -v <scans folder>:/scans -v <output folder>:/output munger /output /scans

At this point, when you do a scan it should go through the following steps:

  1. Open the scanner and insert the pages scanner on
  2. Push the scan button scanning
  3. Wait for it to finish scanning and uploading copying
  4. Wait for the server side work to make the PDF