crocodilestick/calibre-web-automated
Calibre-Web but automated and with Calibre features! Fully automate and simplify your eBook set up!
100K+
Calibre, while a fantastic tool for its age, has several problems when containerised, including its reliance on a KasmVNC server instance for the UI, which is near impossible to use on mobile and is relatively resource-heavy if you're running a small, lower power server like I am.
For many, Calibre-Web has really swooped in to save the day, offering an alternative to a containerised Calibre instance that's resource-light and with a much more modern UI to boot.
However, when compared to full-fat Calibre, it unfortunately lacks a few core features leading many to run both services in parallel, each serving to fill in where the other lacks, resulting in an often clunky, imperfect solution.
Calibre-Web Automated aims to be an all-in-one solution, combining the modern lightweight web UI from Calibre-Web with the robust, versatile feature set of Calibre, with a slew of extra features and automations thrown in on top.
CWA allows you to keep your ebook library accessible & organised and looks good while doing it 😎🦚
Modern & responsive Bootstrap 3 HTML5 interface | Comprehensive user management with per-user permissions | OPDS feed for ereader apps |
eBook metadata editing and deletion support | Metadata download from various sources (extensible via plugins) | eBook download restriction to logged-in users |
Public user registration support | Send eBooks to E-Readers with a single click | Sync Kobo devices with your Calibre library |
In-browser eBook reading support for multiple formats | Content hiding based on categories and Custom Column content per user | "Magic Link" login for easy access on eReaders |
LDAP, Google/GitHub OAuth, and proxy authentication support | Advanced search and filtering options | Multilingual user interface supporting 20+ languages |
Click a feature below to read about it in more detail:
Automatic Ingest Service ✨
Automatic Conversion Service 🔃
Automatic Enforcement of Changes made to Covers & Metadata through the Calibre-Web UI! 👀📔
Batch Editing & Deletion! 🗂️🗄️
Books List
page on the left hand side of the Web UI, select the books you wish to edit/ delete and use the buttons either above the table or within the headers to do whatever you need!Automated Back Up Service 🔒
/config/processed_books
though this can be toggled in the CWA Settings panelAutomatic EPUB Fixer Service 🔨
Ever had it where you're super excited to start reading your next book but for some reason, Amazon's Send-to-Kindle service just keeps rejecting it? Well no more!
Originally developed by innocenat, this tool corrects the following potential issues for every EPUB processed by CWA:
<body>
with ID hash.<img>
tags with no source field.This ensures maximum comparability for each EPUB file with the Amazon Send-to-Kindle service and for those who don't use Amazon devices, has the side benefit of cleaning up your lower quality files!
Enabled by default but can be toggled in settings.
Files processed by the EPUB-Fixer service are by default automatically backed up to /config/processed_books
however this can also be toggled in the settings.
Bulk processing of whole library with progress tracking available in the Admin Panel
Available via both the Web UI and CLI
Simple to use Multi-Format Conversion Service 🌌
/config/processed_books
or to trust the process and have CWA simply convert and replace those files (not recommended)Additional Metadata Providers 🗃️
Server Stats Tracking Page 📍📊
Library Auto-Detect 📚🕵️
metadata.db
files and point to their location in the Web UI, CWA will now automatically detect the lack of Library in your given bind and automatically create a new one for you! It will even automatically register it with the Web UI so you can really hit the ground runningEasy Dark/ Light Mode Switching ☀️🌙
Internal Update Notification System 🛎️
Manual Library Refresh ♻️
Refresh Library
button on the navbar of the Web UI and anything still sitting in the ingest folder will be automatically ingested!Auto-Compression of Backed Up Files 🤐
High Priority 🚨
Lower Priority 🌱
Please suggest any ideas or wishes you might have! we're open to anything!
curl -OL https://raw.githubusercontent.com/crocodilestick/calibre-web-automated/main/docker-compose.yml
Move the compose file to an empty folder (e.g. ~/docker/calibre-web-automated/docker-compose.yml). This will be used to store the server data and library
Edit the compose file using the comments to help, filling in your Timezone (optional) and desired binds
Navigate to where you downloaded the Compose file using cd
and run:
docker compose up -d
And that's you off to the races! 🥳 HOWEVER to avoid potential problems and ensure maximum functionality, we recommend carrying out these Post-Install Tasks Here.
---
services:
calibre-web-automated:
image: crocodilestick/calibre-web-automated:latest
container_name: calibre-web-automated
environment:
# Only change these if you know what you're doing
- PUID=1000
- PGID=1000
# Edit to match your current timezone https://en.wikipedia.org/wiki/List_of_tz_database_time_zones
- TZ=UTC
volumes:
# CW users migrating should stop their existing CW instance, make a copy of the config folder, and bind that here to carry over all of their user settings ect.
- /path/to/config/folder:/config
# This is an ingest dir, NOT a library one. Anything added here will be automatically added to your library according to the settings you have configured in CWA Settings page. All files placed here are REMOVED AFTER PROCESSING
- /path/to/the/folder/you/want/to/use/for/book/ingest:/cwa-book-ingest
# If you don't have an existing library, CWA will automatically create one at the bind provided here
- /path/to/your/calibre/library:/calibre-library
ports:
# Change the first number to change the port you want to access the Web UI, not the second
- 8083:8083
restart: unless-stopped
/config
- This is used to store logs and other miscellaneous files that keep CWA running
root:root
in your main os)/config
directory containing app.db
to ensure settings and users are pulled in/cwa-book-ingest
- ATTENTION ⚠️ - All files within this folder will be DELETED after being processed. This folder should only be used to dump new books into for import and automatic conversion/calibre-library
- This should be bound to your Calibre library folder where the metadata.db
& book(s) files reside.
root:root
in your main os)metadata.db
was utilised/app/calibre-web/gmail.json
(Optional) - This is used to setup Calibre-Web and/or CWA with your gmail account for sending books via email. Follow the guide here if this is something you're interested in but be warned it can be a very fiddly process, I would personally recommend a simple SMTP ServerAnd just like that, Calibre-Web Automated should be up and running! HOWEVER to avoid potential problems and ensure maximum functionality,we recommend carrying out these Post-Install Tasks Here.
/books
bind was in Calibre-Web, should be your /calibre-library
bind for CWA/config
folder in your Docker Compose that you were using for CW (or a copy of it to be extra safe)/books
by default)Enable Uploads
is enabled in Settings -> Basic Configuration -> Feature Configuration
Username: admin
Password: a
docker pull crocodilestick/calibre-web-automated