Skip to content

rmitchellscott/Aviary

Repository files navigation

Aviary Logo

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.

Why the Name?

Aviary is a place where birds are kept, chosen to evoke sending documents into the clouds using avian couriers.

Features

Web Interface

  • 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

Authentication & User Management

  • 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

Document Processing

  • 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)

Data Management (Mulit-User Mode)

  • 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

Screenshot

Aviary UI Screenshot

Quick Start

Simple Docker Setup

# Basic usage (pair through web interface)
docker run -d -p 8000:8000 -v ~/.config/rmapi:/root/.config/rmapi ghcr.io/rmitchellscott/aviary

Multi-User Setup

# 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/aviary

Open http://localhost:8000 and pair with your reMarkable account.

Documentation

Data Management

Aviary includes comprehensive backup and restore capabilities.

Backup & Restore Features

  • Complete system backups: Database + user files + configurations
  • Cross-database migration: Migrate between SQLite and PostgreSQL
  • Large backup support: Background job processing for large datasets

Migration & Data Safety

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.

Integrations

See API Reference for webhook details and integration examples.

Building from Source

See Deployment Guide for local build instructions and requirements.

License

Copyright (C) 2025 Mitchell Scott

Licensed under the GNU Affero General Public License v3.0.

About

A document uploader that automatically downloads and sends PDFs to your reMarkable cloud through a web interface or API. Supports PDF conversion, compression, and organized file management.

Topics

Resources

License

Stars

Watchers

Forks

Sponsor this project

Packages

 
 
 

Contributors