A webhook-driven document uploader that automatically downloads and sends PDFs to your reMarkable tablet through a web interface or API. Compatible with both reMarkable Cloud and self-hosted rmfakecloud via rmapi, with features like automatic PDF conversion, compression, and organized file management.
Aviary is a place where birds are kept, chosen to evoke sending documents into the clouds using avian couriers.
- Send documents from URL or local filesystem
- Compression toggle for supported file types
- Destination directory selector
- Light/dark themes with system detection
- Internationalization: 15 languages with auto-detected browser locale
- Single-user mode: Simple environment variable authentication
- Multi-user mode: Database-backed user management with admin interface
- Advanced auth: OIDC and proxy authentication support
- Per-user API key management with expiration tracking
- Password reset via e-mail
- Webhook endpoint for HTTP integrations
- Automatic PDF download with realistic browser User-Agent
- Web article extraction (using Mozilla Readability algorithm)
- Markdown and HTML to PDF/EPUB conversion
- PNG/JPEG to PDF conversion
- Optional Ghostscript compression
- Configurable conflict resolution (abort/overwrite/content-only)
- Smart upload modes (simple or managed with retention via API)
- SQLite (default) or PostgreSQL database support
- Complete backup/restore system with cross-database migration
- Per-user document storage and folder caching
- Admin tools for user management and system settings
# Basic usage (pair through web interface)
docker run -d -p 8000:8000 -v ~/.config/rmapi:/root/.config/rmapi ghcr.io/rmitchellscott/aviary# Multi-user mode - first user becomes admin
docker run -d -p 8000:8000 \
-e MULTI_USER=true \
-e ALLOW_INSECURE=true \
-v ./data:/data \
ghcr.io/rmitchellscott/aviary
# Or pre-create admin user
docker run -d -p 8000:8000 \
-e MULTI_USER=true \
-e ALLOW_INSECURE=true \
-e AUTH_USERNAME=admin \
-e AUTH_PASSWORD=secure-password \
-v ./data:/data \
ghcr.io/rmitchellscott/aviaryOpen http://localhost:8000 and pair with your reMarkable account.
- Configuration - Environment variables and settings
- Authentication - User management, OIDC, and proxy auth
- Deployment - Docker, Docker Compose, and production setup
- API Reference - Webhook endpoints and integrations
- Data Management - Backup, restore, and database migration
- Translations - Multi-language support and contributing
Aviary includes comprehensive backup and restore capabilities.
- Complete system backups: Database + user files + configurations
- Cross-database migration: Migrate between SQLite and PostgreSQL
- Large backup support: Background job processing for large datasets
When migrating from single-user to multi-user mode, Aviary automatically:
- Creates initial admin user
- Migrates existing cloud pairing, archived PDF files, and API key
- Runs schema migrations for new features
See Data Management and Migration from Single-User Mode for more details.
- AWS SES Integration - Lambda to provide emailed PDFs/ePubs to Aviary
See API Reference for webhook details and integration examples.
See Deployment Guide for local build instructions and requirements.
Copyright (C) 2025 Mitchell Scott
Licensed under the GNU Affero General Public License v3.0.