Railway

Deploy bookorbit

Self-hosted digital library and reader with Kobo/OPDS sync

Deploy bookorbit

Just deployed

/var/lib/postgresql/data

/data

Deploy and Host BookOrbit on Railway

About Hosting BookOrbit on Railway

BookOrbit runs on Railway as a Docker-image based self-hosted digital library platform. The template uses the official BookOrbit GHCR image, a pgvector-enabled PostgreSQL service, public HTTPS routing, and persistent storage for app data and database files.

Tech Stack

  • BookOrbit web app and API
  • Node.js / NestJS backend
  • Vue frontend served by the app container
  • PostgreSQL with pgvector
  • Railway public HTTPS domain and private service networking
  • Docker image deployment from GHCR and Docker Hub

Why Deploy BookOrbit on Railway

Railway provides one-click Docker deployments, managed private networking between services, public HTTPS domains, automatic restarts, and persistent volumes. This makes BookOrbit easy to host without managing servers while still keeping your library and reading data under your control.

Common Use Cases

  • Host a private ebook, PDF, audiobook, and comic library
  • Read books directly in the browser
  • Track reading progress and library statistics
  • Sync with Kobo, KOReader, and OPDS-compatible readers
  • Manage metadata, collections, smart shelves, and multi-user access
  • Use Send-to-Kindle and email features after configuring SMTP in the admin UI

Deployment Notes

The app listens on port 3000 and requires PORT=3000 for Railway routing. BookOrbit uses PostgreSQL with the pgvector extension, so the database service uses pgvector/pgvector:pg18 rather than a plain PostgreSQL image. The app persists runtime files, covers, uploads, cache, and Book Dock data at /data; PostgreSQL persists its database files at /var/lib/postgresql/data.

On first launch, open the generated Railway domain and complete setup with SETUP_BOOTSTRAP_TOKEN. The token is generated as a template variable and is also required by BookOrbit's initial /auth/setup endpoint. APP_URL and CLIENT_URL are derived from the app public domain. No custom start command is required; the upstream image entrypoint handles migrations, permission checks, and server startup.

Dependencies for BookOrbit on Railway

BookOrbit depends on a pgvector-enabled PostgreSQL database over Railway private networking. The app service connects to the Postgres service through template variable references and stores app-managed files on its mounted /data volume.

Deployment Dependencies

ServiceImagePortVolume
appghcr.io/bookorbit/bookorbit:1.8.03000/data
Postgrespgvector/pgvector:pg185432/var/lib/postgresql/data

Template Content

More templates in this category

View Template
Rocky Linux
[Jun'26] Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀

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

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

Letta