Deploy Calibre Web Automated
Self-hosted ebook library with auto-import, conversion and e-reader sync
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-automatedDocker image (pinned to v4.0.8) - A Railway volume mounted at
/configfor 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-libraryand/cwa-book-ingestto folders inside the/configvolume, 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_PASSWORDin your service's Variables tab
Changing the password later in the app is safe; restarts will not overwrite it.
| Variable | Default | Purpose |
|---|---|---|
ADMIN_PASSWORD | ${{secret(24)}} | Initial admin password |
PUID / PGID | 1000 | User and group the app runs as |
TZ | Etc/UTC | Time zone for logs and scheduled tasks |
HARDCOVER_TOKEN | empty | Optional, 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
Calibre Web Automated
sukrutnrvd/calibre-web-automated-railway