---
title: "Deploy booklore"
description: "BookLore is a self-hosted, multi-user digital library for books and comics"
category: "Other"
url: https://railway.com/deploy/booklore-1
---

# Deploy booklore

BookLore is a self-hosted, multi-user digital library for books and comics

**[Deploy booklore on Railway](https://railway.com/template/booklore-1)**

- **Creator:** koukyo_huang's Projects
- **Category:** Other
- **Total deploys:** 4

## Template content

### booklore

- **Image:** xiaosong233/booklore-archive:latest
- **Health check:** /api/v1/healthcheck
- **Public domain:** Yes

### mariadb

- **Image:** mariadb:latest

## Documentation

# Deploy and Host BookLore on Railway

## About Hosting

[BookLore](https://github.com/booklore-app/booklore) is an open-source, self-hosted digital library for books and comics. It combines a modern web UI with a Spring Boot backend, supports EPUB/PDF/comic reading, metadata enrichment, OPDS feeds, BookDrop ingestion, and multi-user access.

This Railway template deploys BookLore from the official Docker image and wires it to a dedicated MariaDB sidecar service (`lscr.io/linuxserver/mariadb`). The app runs as one web service on port `6060`, with persistent application data mounted at `/app/data`.

## Why Deploy

- **Own your library stack** — keep your books, metadata, and reading history on your own infra.
- **Official image, minimal drift** — deploy directly from upstream `booklore/booklore` image.
- **Production-compatible database** — deploy with MariaDB, matching BookLore's default JDBC driver and migration expectations.
- **Reader-friendly features** — built-in reader, OPDS support, BookDrop import flow, and metadata automation.
- **Multi-user ready** — separate user accounts, shelves, and reading state in one deployment.

## Common Use Cases

- Build a personal cloud library for EPUB/PDF/comics.
- Host a family reading server with separate user accounts.
- Replace third-party ebook servers with a private, self-hosted stack.
- Run a BookLore + MariaDB stack on Railway with internal private networking between services.

## Dependencies for Deployment

### Deployment Dependencies

| Dependency | Details |
|---|---|
| **App Image** | `booklore/booklore:latest` (official Docker Hub image) |
| **App Port** | `6060` (BookLore HTTP server) |
| **Database Service** | Sidecar `mariadb` service using `lscr.io/linuxserver/mariadb:11.4.8` |
| **Persistent Volume** | Mount `/app/data` for BookLore app data persistence |
| **Required Env Vars** | `PORT`, `BOOKLORE_PORT`, `DATABASE_HOST`, `DATABASE_PORT`, `DATABASE_NAME`, `DATABASE_USERNAME`, `DATABASE_PASSWORD`, `MYSQL_DATABASE`, `MYSQL_USER`, `MYSQL_PASSWORD`, `MYSQL_ROOT_PASSWORD` |
| **Recommended Env Vars** | `TZ`, `DISK_TYPE`, `USER_ID`, `GROUP_ID`, `SWAGGER_ENABLED`, `FORCE_DISABLE_OIDC` |
| **Health Endpoint** | `GET /api/v1/healthcheck` |
| **Public Access** | Railway domain routed to `PORT=6060` |


## Similar templates

- [Rocky Linux](https://railway.com/deploy/rocky-linux) — Hosted Rocky Linux 9 workspace with SSH and persistent storage. 🚀
- [Foundry Virtual Tabletop](https://railway.com/deploy/X5tR6G) — A Self-Hosted & Modern Roleplaying Platform
- [Letta Code Remote](https://railway.com/deploy/letta-code-remote) — Run a Letta Code agent 24/7. No inbound ports, just deploy.

Open this page in a browser: https://railway.com/deploy/booklore-1
