Electronic Books

Posted on 3 2026

Calibre is the standard for e-book library management on Linux. It handles format conversion, metadata management, device syncing, and library organisation in a single application. For a self-hosted setup, the library lives in a directory that syncs to Nextcloud, making the collection accessible from any device on the network.

Installation

The version of Calibre in the Ubuntu repositories tends to lag behind the current release. The official installer from the Calibre website is the recommended approach:

sudo -v && wget -nv -O- https://download.calibre-ebook.com/linux-installer.sh | sudo sh /dev/stdin

This installs Calibre to /opt/calibre/ and creates desktop entries automatically. Verify the installation:

calibre --version

To update Calibre in future, run the same command again. It handles upgrades cleanly.

If you prefer the Ubuntu repository version for security and update management reasons:

sudo apt install calibre

The repository version is functional but may be one or two major versions behind.

Initial configuration

Open Calibre. The first-run wizard asks where to store the library. Point it at a directory that will sync via Nextcloud:

~/Nextcloud/Calibre Library/

Or if the Nextcloud directory is not yet set up (covered later in this series):

~/Documents/Calibre Library/

This single directory contains all books and the Calibre database. Everything Calibre needs is in this one location, which makes syncing and backup straightforward.

Library management

Calibre’s library management features are the core of its usefulness:

Adding books: drag and drop e-book files onto the Calibre window, or use Add books from the toolbar. Calibre supports EPUB, MOBI, PDF, AZW, CBZ, and many other formats.

Metadata editing: right-click any book and select Edit Metadata. Calibre can also fetch metadata automatically from online sources: select one or more books and click Edit Metadata > Download Metadata and Covers.

Format conversion: right-click a book and select Convert Books. Calibre converts between any supported format. This is particularly useful for converting PDFs to EPUB for better reading on e-readers, or Kindle AZW files to EPUB for device-agnostic storage.

Sending to devices: connect a Kindle, Kobo, or other e-reader via USB. Calibre detects it and allows sending books directly, converting format automatically if needed.

Syncing with Nextcloud

Once the Nextcloud client is set up (covered in the next section of this series), the Calibre library directory syncs automatically. The library is then accessible from:

  • The desktop via Calibre
  • A tablet or phone via the Nextcloud app
  • Any device with Nextcloud access

For reading on mobile devices, the Nextcloud app can open EPUB files directly, or they can be transferred to a reading app of your choice.

Calibre Content Server

Calibre includes a built-in content server that makes the library accessible via a web browser. This is useful for reading on a device that does not have the full Calibre application.

Start the server from within Calibre: Preferences > Sharing over the net > Start server.

Or start it from the command line:

calibre-server --port 8080 ~/Nextcloud/"Calibre Library"/

The server is accessible at http://localhost:8080 locally, or from other devices on the network at http://desktop.yourdomain.net:8080. The interface allows browsing, searching, and downloading books from any browser.

For a permanent library server that does not require the desktop to be running, Kavita or Calibre-Web on the NAS is a better solution. This is covered in the NAS section of this series.

DRM and e-books

DRM on e-books is a complicated topic, both technically and legally. The situation has changed significantly since the source material for this series was written.

The DeDRM tools referenced in the original (DeDRM_tools by apprenticealf) are now maintained as a fork by noDRM:

https://github.com/noDRM/DeDRM_tools

The installation process has been simplified considerably since the 2019 instructions. The current version is a native Python 3 Calibre plugin that works without Wine or a separate Windows Python installation.

Installing the DeDRM plugin

Download the latest release from the noDRM GitHub releases page. The file to install is DeDRM_plugin.zip from within the release archive.

In Calibre:

  1. Go to Preferences > Plugins
  2. Click Load plugin from file
  3. Select the DeDRM_plugin.zip file
  4. Restart Calibre

The plugin runs automatically when books are added to the library. DRM-protected books added to Calibre are processed through the plugin during import.

Adobe Digital Editions

The source material covers an elaborate Wine-based installation of Adobe Digital Editions. The current situation is considerably cleaner: the DeDRM plugin handles Adobe ADEPT DRM without requiring Adobe Digital Editions to be installed at all, provided the Adobe account credentials are configured in the plugin settings.

For .acsm files (Adobe Content Server Message files, used by library lending services):

  1. Download and install the free Adobe Digital Editions for Linux via Wine if you specifically need to authorise new Adobe accounts
  2. Or use the Knock application which handles .acsm files directly on Linux without Wine

Most library lending platforms also offer DRM-free alternatives or have moved to the Libby/OverDrive ecosystem, which has its own tools.

A note on DRM and ownership

When you purchase a DRM-protected e-book, you are purchasing a licence to read it under terms set by the retailer. If the retailer closes, changes terms, or restricts access, your books may become inaccessible. Removing DRM from books you have legitimately purchased, for personal use and format shifting, is a reasonable response to this situation and is legal in many jurisdictions, though not all. Research the legal position in your own jurisdiction before proceeding.

DRM-free e-books are available from many sources including Tor Books, Smashwords, Humble Bundle, and Project Gutenberg. Where a DRM-free version is available, it is always worth preferring it.

Backing up the library

The Calibre library directory is included in the user data backup configured earlier in this series. No additional configuration is needed. The entire library, including the database and all book files, is backed up daily via borgmatic.

If the library is large, check the backup exclusion list in the borgmatic configuration to ensure it is not accidentally excluded. By default only caches and build artefacts are excluded, not document directories.

Calibre’s library database (metadata.db) is the most important file in the library directory. It contains all metadata, reading progress, and custom columns. The book files themselves can often be re-obtained, but the metadata represents significant curation effort. Verify it is included in the backup.