A webhook-driven document uploader for reMarkable, featuring a static Next.js + ShadCN UI and a Go backend that processes and pushes documents to your device. Compatible with both reMarkable Cloud and rmfakecloud via rmapi.
Why the Name?
Aviary is a place where birds are kept, chosen to evoke sending documents into the clouds using avian couriers.
Features
Webhook endpoint (/api/webhook) for SMS or HTTP integrations (e.g. Twilio)
Automatic PDF download with a real-browser User-Agent
Optional Ghostscript compression
Two upload modes:
Simple: upload the raw PDF
Managed: rename by date, upload, then append the year locally & clean up files older than 7 days
AWS SES - Lambda to provide emailed PDFs/ePubs to Aviary.
Examples
The following examples are provided as a way to get started. Some adjustments may be required before production use, particularly regarding secret management.
Set Up
Get your device and user token file (rmapi.conf) from the reMarkable cloud by running the following command and entering the one-time code: docker run -it -e RMAPI_HOST=remarkable.mydomain.com ghcr.io/rmitchellscott/aviary pair
Save the output as rmapi.conf, and this will get mounted into the container.