daniel-j/send2ereader

A service for sending ebooks to a Kobo or Kindle ereader through the built-in browser

JavaScript

1,050

91 commits

updated Apr 9, 2025

See the code

README

send2ereader

A self hostable service for sending ebooks to a Kobo or Kindle ereader through the built-in browser.

How To Run

On Your Host OS

  1. Have Node.js 16 or 20 installed
  2. Install this service's dependencies by running $ npm install
  3. Install Kepubify, and have the kepubify executable in your PATH.
  4. Install KindleGen, and have the kindlegen executable in your PATH.
  5. Install pdfCropMargins, and have the pdfcropmargins executable in your PATH.
  6. Start this service by running: $ npm start and access it on HTTP port 3001

Containerized

  1. You need Docker and docker-compose installed
  2. Clone this repo (you need Dockerfile, docker-compose.yaml and package.json in the same directory)
git clone https://github.com/daniel-j/send2ereader.git
  1. Build the image
docker compose build
  1. run container (-d to keep running in the background)
docker compose up -d
  1. Access the service on HTTP, default port 3001 (http://localhost:3001)
ebook
epub
kepub
kindle
kindlegen
kobo
kobo-ereader

Significant stargazers

Karol Bucek

112 followers · starred Jul 2023

Scott Graham

138 followers · starred Oct 2023

Tavian Barnes

243 followers · starred Feb 2026

Filip Czaplicki

35 followers · starred Mar 2025

daniel-j/send2ereader

A service for sending ebooks to a Kobo or Kindle ereader through the built-in browser

JavaScript

1,050

91 commits

updated Apr 9, 2025

See the code

README

send2ereader

A self hostable service for sending ebooks to a Kobo or Kindle ereader through the built-in browser.

How To Run

On Your Host OS

  1. Have Node.js 16 or 20 installed
  2. Install this service's dependencies by running $ npm install
  3. Install Kepubify, and have the kepubify executable in your PATH.
  4. Install KindleGen, and have the kindlegen executable in your PATH.
  5. Install pdfCropMargins, and have the pdfcropmargins executable in your PATH.
  6. Start this service by running: $ npm start and access it on HTTP port 3001

Containerized

  1. You need Docker and docker-compose installed
  2. Clone this repo (you need Dockerfile, docker-compose.yaml and package.json in the same directory)
git clone https://github.com/daniel-j/send2ereader.git
  1. Build the image
docker compose build
  1. run container (-d to keep running in the background)
docker compose up -d
  1. Access the service on HTTP, default port 3001 (http://localhost:3001)
ebook
epub
kepub
kindle
kindlegen
kobo
kobo-ereader

Significant stargazers

Karol Bucek

112 followers · starred Jul 2023

Scott Graham

138 followers · starred Oct 2023

Tavian Barnes

243 followers · starred Feb 2026

Filip Czaplicki

35 followers · starred Mar 2025

Languages

JavaScript

55.8%

HTML

34.1%

CSS

6.4%

Dockerfile

3.6%