feat: add Docker support, and documentation for it

This commit is contained in:
GregHilston
2023-11-30 22:28:50 -05:00
parent 0a2a8d3992
commit 5dccfbeeec
3 changed files with 45 additions and 0 deletions

19
Dockerfile Normal file
View File

@@ -0,0 +1,19 @@
FROM node:16
# Create app directory
WORKDIR /usr/src/app
# Install app dependencies
# A wildcard is used to ensure both package.json AND package-lock.json are copied
# where available (npm@5+)
COPY package*.json ./
# Download, and prepare the kepubify binary
RUN wget https://github.com/pgaskin/kepubify/releases/download/v4.0.4/kepubify-linux-64bit
RUN mv kepubify-linux-64bit /usr/local/bin/kepubify
RUN chmod +x /usr/local/bin/kepubify
COPY . .
EXPOSE 3001
CMD [ "node", "index" ]

17
README.md Normal file
View File

@@ -0,0 +1,17 @@
# 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 16 installed
2. Install this service's dependencies by running `$ npm install`
3. Install [Kepubify](https://github.com/pgaskin/kepubify), and have the executable in your path.
4. Start this service by running: `$ node index`
### Containerized
1. Have Docker installed
2. Run `$ docker compose up`

9
docker-compose.yaml Normal file
View File

@@ -0,0 +1,9 @@
version: "3"
services:
send2ereader:
build:
context: .
dockerfile: ./Dockerfile
container_name: send3ereader
ports:
- 3001:3001