Published 9 minutes ago
Ayush Pande is a PC hardware and gaming writer. When he’s not working on a new article, you can find him with his head stuck inside a PC or tinkering with a server operating system. Besides computing, his interests include spending hours in long RPGs, yelling at his friends in co-op games, and practicing guitar.
Media serving apps capable of streaming TV shows, videos, images, documents, and other formats straight to client devices are extremely popular in the self-hosting ecosystem – and for good reason. Besides sparing your wallet from regular subscription fees, these FOSS tools let you manage archived media without intruding on your privacy or displaying annoying ads on their UIs.
In fact, I started my self-hosting journey with typical media server tools,…
Published 9 minutes ago
Ayush Pande is a PC hardware and gaming writer. When he’s not working on a new article, you can find him with his head stuck inside a PC or tinkering with a server operating system. Besides computing, his interests include spending hours in long RPGs, yelling at his friends in co-op games, and practicing guitar.
Media serving apps capable of streaming TV shows, videos, images, documents, and other formats straight to client devices are extremely popular in the self-hosting ecosystem – and for good reason. Besides sparing your wallet from regular subscription fees, these FOSS tools let you manage archived media without intruding on your privacy or displaying annoying ads on their UIs.
In fact, I started my self-hosting journey with typical media server tools, and have built an entire stack of apps to organize all the ripped files I’ve gathered over the years. Jellyfin, for example, houses the TV shows and movies I’ve collected since I was a teenager. And then there’s Calibre-Web, which fulfils a similar role for my ebook archive.
Calibre-Web is a sleek ebook management platform
It’s pretty much Jellyfin, but for my ebook collection
Considering that I’ve hastily thrown most of the scanned books and ebooks into a single folder, calling my library a disorganized mess would be an understatement. Worse still, I’ve even got a couple of academic ebooks that I grabbed from my uni’s online library, and many of these files are stored with weird hash names, while others have multiple copies stored in different formats.
Luckily, Calibre-Web includes all the features I need to organize my ebook collection. For example, it automatically reads the metadata from ebooks and assigns the author, publisher, description, and other records accordingly. It also lets me edit the metadata and assign different covers, which is a godsend for my reference manuals, obscure coding documents, and other technical ebooks. The search and filter options on Calibre-Web are extremely detailed, so I can easily find an old novel even among thousands of ebooks.
Calibre-Web supports most of the common file formats, including those that cater to comics and audiobooks. I like to make my ebook library accessible to my family, and the app’s support for multiple users and tweakable permissions makes it easier to fine-tune the privileges for the different denizens of my house.
Calibre-Web works with different e-readers
One of Calibre-Web’s biggest advantages is that it pairs well with e-readers, so I don’t need to stay glued to the online interface to browse my favorite digital books. It’s compatible with the OPDS format, allowing my family to access my painstakingly-assembled ebook collection from a variety of e-readers. Kobo devices, for example, can automatically sync with my ebook collection, while apps like MoonReader let typical Android tablets connect with my Calibre-Web instance.
Heck, it even has a third-party companion app that lets me create custom bookshelves, check out different statics, and upload local documents to the Calibre-Web instance. Better yet, it can even transfer ebooks to Kindle and Kobo devices by leveraging send2reader, effectively bridging the gap between the Calibre-Web server and reader apps that don’t ship with OPDS support.
It doesn’t take a lot of effort to get Calibre-Web up and running, either
And it’s possible to import ebooks manually
With the theoretical part out of the way, here’s a practical demonstration of how I deployed a Calibre-Web instance on my local server. I’ve gone with good ol’ a Docker Compose file, but you can even pick the Podman route if you prefer the daemonless rival to the uber-popular container runtime. Interestingly, when I first came across Calibre-Web, it was available as an LXC template on the Proxmox VE-Helper Scripts repo, but it’s no longer available on the website as of writing. I also tried setting it up on TrueNAS, but the sheer pain of transferring the metadata.db file to the container made me switch to an old Debian system immediately.
Anyway, I created a Data folder for the config files alongside a** Library** folder for the ebooks. Calibre-Web requires a metadata.db file, which I grabbed from the tool’s official GitHub repo and pasted inside the Data directory. With that, I used the sudo nano compose.yml command to create a Docker Compose file with the following code:
---services: calibre-web: image: lscr.io/linuxserver/calibre-web:latest container_name: calibre-web environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - DOCKER_MODS=linuxserver/mods:universal-calibre #optional - OAUTHLIB_RELAX_TOKEN_SCOPE=1 #optional volumes: - /data_directory:/config - /library_directory:/books ports: - 8083:8083 restart: unless-stopped
Then, I spun up the container via sudo docker compose up -d. Unlike many lightweight services, Calibre-Web installs a bunch of packages, so I had to wait a couple of seconds before accessing the web UI. Soon, I entered the IP address of the server PC followed by a colon (:) and port number 8083 to open Calibre-Web’s online interface and entered admin as the Username and admin123 as the Password to arrive at its dashboard.
Once I’d chosen the metadata.db file, I quickly selected the Edit Basic Configuration option within the Admin tab (the one with the capital ‘A’) and toggled the Enable Uploads option, so I could add files from other systems to my ebook server from local devices. Then, I began transferring the ebooks via the Upload button. There are probably better ways to add files to Calibre-Web, but I’m not fond of dealing with the permission shenanigans of PUIDs and GUIDs. Finally, since I have a bunch of documents stored in different formats, I used the** Upload Format **button within the Edit Metadata section to merge all the variants into a single file.
Calibre-Web goes well with other bibliophile-centric apps
Although Calibre-Web supports most of the essential ebook formats, I rely on a couple of other tools for my binge-reading needs. For comics, graphic novels, manga, and everything in between, I prefer using Kavita’s gorgeous UI and built-in reader. Meanwhile, my podcast and audiobook collection is managed entirely by Audiobookshelf.
Related
These 7 self-hosted apps cater to my data-hoarding needs
From managing my images to storing essential backups, these apps satisfy the data-hoarding gremlin in my head