CLI tool to interact with paperless-ngx remote API
upload: Uploads local document(s) to Paperless instance.consume: Consumes a local directory and uploads each file to Paperless instance. The files will be deleted once uploaded.bulk-download: Downloads all documents at once.
Go:
go install github.com/ccremer/paperless-cli@latest
Docker:
docker run ghcr.io/ccremer/paperless-cli:latest
Binary:
wget https://github.com/ccremer/paperless-cli/releases/latest/download/paperless-cli_linux_amd64
chmod +x paperless-cli_linux_amd64
sudo mv paperless-cli_linux_amd64 /usr/local/bin/paperless-cliDeb:
wget https://github.com/ccremer/paperless-cli/releases/latest/download/paperless-cli_linux_amd64.deb
sudo dpkg -i paperless-cli_linux_amd64.deb
rm paperless-cli_linux_amd64.debRPM:
wget https://github.com/ccremer/paperless-cli/releases/latest/download/paperless-cli_linux_amd64.rpm
sudo rpm -i paperless-cli_linux_amd64.rpm
rm paperless-cli_linux_amd64.rpmThe consume subcommand is a long-running process that is best run as a daemon.
The Deb/RPM packages come with a SystemD unit file.
Enable SystemD consume service:
sudo ${EDITOR:-nano} /etc/default/paperless-cli
sudo systemctl enable paperless-consume
sudo systemctl start paperless-consumeMost config options of each command can be specified as both CLI flag and as an environment variable.
Run each command with --help to view the variables names (if supported).
Additionally, some options can be specified in a YAML file.
Run init subcommand to initialize a new config file with the supported options.
I didn't find any other projects or means to consume a directory that uploads the documents via API. In my case, I can't configure the scanner to directly upload to the consume dir as setup by paperless-already, I have to watch the dir on a different host. So I created a tool that also watches a directory, but uploads them to Paperless instead.
Other projects that I've found:
- https://github.com/stgarf/paperless-cli (archived, doesn't upload or consume)
- go
- docker
- docker-compose (if running local test instance of paperless-ngx)
- goreleaser (if building deb/rpm packages locally)
Run go run . --help to directly invoke the CLI for testing purposes.
Run make help to see a list of available targets.
Commonly used:
make build: Build the projectmake local-install: Start paperless-ngx in docker-compose (http://localhost:8008, useradmin:admin)