Self-host

Run BookReplay on your own server

The same app as the hosted version, on a machine you control. Free for noncommercial use.

Quick start

One container plus PostgreSQL

Set two secrets in .env, then start it.

Terminal
$ git clone https://github.com/BookReplay/BookReplay.git && cd BookReplay# set POSTGRES_PASSWORD and SETUP_SECRET (openssl rand -hex 32) in .env$ cp .env.example .env && chmod 600 .env$ docker compose -f compose.yaml -f compose.dev.yaml up -d --build --wait
  • What you need

    A Linux x86-64 host with Docker Engine and Compose 2.24.4 or newer. ARM64 machines such as a Raspberry Pi are not supported yet.

  • Then open port 2665

    Go to http://localhost:2665, create the owner account with your setup secret and import your clippings.

  • Free for noncommercial use

    The source is public under the PolyForm Noncommercial License 1.0.0: run, study and modify it for noncommercial purposes.

No prebuilt image is published yet, so these commands build BookReplay from source on first start.

Compare

Self-hosted or hosted

What is different today between running BookReplay yourself and using the hosted version.

TodaySelf-hostedFree · noncommercial useHostedFree plan
Hosting
Who runs the serverYouUs
UpdatesYou apply themApplied for you
Where your data livesYour PostgreSQL databaseOur PostgreSQL database
Accounts
AccountsOne owner per instanceOne per person
Creating an accountSetup secretEmail confirmation link
Password reset by emailSelf-hosted owners reset their password from the command line.
The app
Kindle import
Library and highlight editing
Spaced review, daily goal and streak
Start for free

Self-hosting questions

What does self-hosting cost?

BookReplay itself is free for noncommercial use; you pay only for the machine you run it on. Our estimate is 1 vCPU, 1 GiB of RAM and 2 GiB of disk.

What licence is the source code under?

The PolyForm Noncommercial License 1.0.0. You may run, study and modify BookReplay for noncommercial purposes. Commercial use is not permitted.

Does my instance send data anywhere?

Only book titles and authors, to Open Library, to find covers (and to Google Books if you add an API key). The text of your highlights is never sent, and you can turn the lookups off with METADATA_ENRICHMENT=false.

Can I export or back up my highlights?

There is no export inside the app yet. Your data is in your own PostgreSQL database, and the documentation covers backing it up and restoring it with pg_dump.

Can I run it on a Raspberry Pi or another ARM64 machine?

Not yet. Self-hosting is supported and tested on Linux x86-64 only.

Can I move between self-hosted and hosted?

There is no transfer tool yet. Both versions import the same My Clippings.txt file, so your highlights come with you, but your review history does not. The hosted plans are on the pricing section.