Compresses PDFs and photos and sends them to Paperless-ngx after review
1.5K
A small self-hosted web page that compresses PDFs and photos and sends them to Paperless-ngx after you had a last look at them. Built for phones and desktops, for use in your home network or VPN.
Full documentation, setup guide and source code: github.com/Pascal2108/paperdrop
Paperdrop runs next to Paperless-ngx, behind a reverse proxy that provides HTTPS. You need two files.
secrets.env, with every value replaced by your own (Paperdrop refuses to start with these examples; create the key with openssl rand -hex 32):
PAPERLESS_TOKEN=your-token-here
UPLOADER_USER=your-username
UPLOADER_PASSWORD=a-long-secure-password
SECRET_KEY=paste-random-key-here
docker-compose.yml:
services:
paperdrop:
image: pascal2108/paperdrop:latest
container_name: paperdrop
restart: unless-stopped
env_file:
- secrets.env
environment:
PAPERLESS_URL: http://paperless-webserver-1:8000 # container name of your Paperless webserver
tmpfs:
- /tmp:size=1g
read_only: true
cap_drop:
- ALL
security_opt:
- no-new-privileges:true
mem_limit: 2g
pids_limit: 200
networks:
- proxy
networks:
proxy:
external: true
name: nginx_reverse_proxy # network shared by your reverse proxy and Paperless
This is the shortest working setup. The full docker-compose.yml on GitHub also lists optional settings that are not shown here, such as the page name and logo, theme, default compression, upload size limit, session length, turning the document scanner off, and running without a reverse proxy. They are explained under Configuration in the README.
Then docker compose up -d and add a proxy host for port 8000 of the container paperdrop. The setup guide explains every step, including a Paperless user with limited rights for the token.
| Tag | Contains |
|---|---|
latest | The current stable version, rebuilt weekly with security updates |
1.1.0, … | Exactly that release; never changes and receives no security updates |
beta | The next release while it is being tested; may break |
Images are built for linux/amd64 and linux/arm64 (e.g. Raspberry Pi). The same images are published as ghcr.io/pascal2108/paperdrop.
Paperdrop is meant for private networks only, not for the public internet: it has one shared login, no two-factor authentication, and has not been audited. Please report vulnerabilities privately as described in the security policy, not in a public issue.
AGPL-3.0. The image also contains Ghostscript (AGPL-3.0) and other software under its own licenses.
Content type
Image
Digest
sha256:ac347ca0d…
Size
91.3 MB
Last updated
2 days ago
docker pull pascal2108/paperdrop