Deploy Calibre Web Automated

Self-hosted ebook library with auto-import, conversion and e-reader sync

Deploy Calibre Web Automated

Just deployed

/config

Deploy and Host Calibre Web Automated on Railway

Calibre Web Automated (CWA) is a self-hosted ebook server that pairs the Calibre-Web interface with automation from the full Calibre toolkit. Drop books into its ingest folder or upload them in the browser, and CWA converts them to your preferred format, fixes metadata and covers, and adds them to your library for reading anywhere.

About Hosting Calibre Web Automated

Calibre Web Automated runs as a single container that bundles Calibre-Web, the Calibre command-line tools and several background services for ingesting, converting and cleaning up books. It expects three persistent folders: one for settings and its databases, one for the Calibre library, and one ingest folder that it watches for new files. Railway allows one volume per service, so this template mounts a single volume at /config and links the library and ingest folders into it. On first boot CWA creates an empty library automatically, and the admin password is set from a generated variable instead of the default.

Common Use Cases

  • Hosting a personal or family ebook library you can browse and read from any device
  • Automatically converting and importing new books, including PDFs and other formats, into EPUB
  • Syncing books to Kobo and KOReader devices or sending them to a Kindle by email

Dependencies for Calibre Web Automated Hosting

  • The official crocodilestick/calibre-web-automated Docker image (pinned to v4.0.8)
  • A Railway volume mounted at /config for settings, the library and the ingest folder

Implementation Details

The template builds a thin image on top of the official one and adds two startup steps:

  • An entrypoint that links /calibre-library and /cwa-book-ingest to folders inside the /config volume, so all data lives on a single volume.
  • An s6 startup service that runs after the library is created. It fixes folder ownership and, while the admin password is still the default, replaces it with ADMIN_PASSWORD.

Log in with:

  • Username: admin
  • Password: the value of ADMIN_PASSWORD in your service's Variables tab

Changing the password later in the app is safe; restarts will not overwrite it.

VariableDefaultPurpose
ADMIN_PASSWORD${{secret(24)}}Initial admin password
PUID / PGID1000User and group the app runs as
TZEtc/UTCTime zone for logs and scheduled tasks
HARDCOVER_TOKENemptyOptional, enables Hardcover as a metadata source

The whole library is stored on the volume, so size it for your collection.

Why Deploy Calibre Web Automated on Railway?

Railway is a singular platform to deploy your infrastructure stack. Railway will host your infrastructure so you don't have to deal with configuration, while allowing you to vertically and horizontally scale it.

By deploying Calibre Web Automated on Railway, you are one step closer to supporting a complete full-stack application with minimal burden. Host your servers, databases, AI agents, and more on Railway.


Template Content

More templates in this category

View Template
Rocky Linux
Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

codestorm
50
View Template
Foundry Virtual Tabletop
A Self-Hosted & Modern Roleplaying Platform

Lucas
71
View Template
Letta Code Remote
Run a Letta Code agent 24/7. No inbound ports, just deploy.

Letta
51