Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/altescy/bookshelf
📓 Ebook management system with S3 compatible storage which provides OPDS feed.
https://github.com/altescy/bookshelf
ebook ebook-manager golang opds opds-feed vue
Last synced: about 1 month ago
JSON representation
📓 Ebook management system with S3 compatible storage which provides OPDS feed.
- Host: GitHub
- URL: https://github.com/altescy/bookshelf
- Owner: altescy
- License: mit
- Created: 2020-08-12T18:39:28.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2021-08-13T04:17:27.000Z (over 3 years ago)
- Last Synced: 2024-06-19T00:40:04.798Z (7 months ago)
- Topics: ebook, ebook-manager, golang, opds, opds-feed, vue
- Language: Go
- Homepage: https://hub.docker.com/r/altescy/bookshelf
- Size: 7.92 MB
- Stars: 46
- Watchers: 5
- Forks: 4
- Open Issues: 7
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Bookshelf
=========[![Actions Status](https://github.com/altescy/bookshelf/workflows/build/badge.svg)](https://github.com/altescy/bookshelf/actions?query=workflow%3Abuild)
[![License](https://img.shields.io/github/license/altescy/bookshelf)](https://github.com/altescy/bookshelf/blob/master/LICENSE)
[![Release](https://img.shields.io/github/v/release/altescy/bookshelf)](https://github.com/altescy/bookshelf/releases)[Blog post (Japanese)](https://altescy.jp/posts/works/bookshelf/)
`Bookshelf` is a simple ebook management web application.
You can easily store and manage your books on a local or S3 compatible storage.
This software also provides a OPDS feed which enables you to read your books via any OPDS readers on your computer or smartphone.![Screenshot_2020-09-22 bookshelf](https://user-images.githubusercontent.com/16734471/93875665-5c6a5d00-fd10-11ea-81df-3a1735aa4547.png)
### Usage
```
$ go get github.com/altescy/bookshelf
$ export BOOKSHELF_DB_URL=sqlite3:///`pwd`/data/bookshelf.db
$ export BOOKSHELF_STORAGE_URL=file:///`pwd`/data/files
$ bookshelf
```### Docker
```
$ docker pull altescy/bookshelf
$ docker run -d \
-v `pwd`/data:/data \
-p 8080:8080 \
-e BOOKSHELF_DB_URL=sqlite3:///data/bookshelf.db \
-e BOOKSHELF_STORAGE_URL=file:///data/files \
altescy/bookshelf
```### docker-compose
```
$ git clone https://github.com/altescy/bookshelf.git
$ cd bookshelf
$ cat << EOF > .env
BOOKSHELF_PORT=80
BOOKSHELF_ENABLE_CORS=
BOOKSHELF_DB_URL=postgres://user:password@postgres:5432/bookshelf?sslmode=disable
BOOKSHELF_STORAGE_URL=s3://books
BOOKSHELF_CREATE_NEW_STORAGE=1
BOOKSHELF_AWS_ACCESS_KEY_ID=minio_access
BOOKSHELF_AWS_SECRET_ACCESS_KEY=minio_secret
BOOKSHELF_AWS_S3_REGION=us-east-1
BOOKSHELF_AWS_S3_ENDPOINT_URL=http://minioMINIO_ACCESS_KEY=minio_access
MINIO_SECRET_KEY=minio_secret
MINIO_HOST=0.0.0.0
MINIO_PORT=9000POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_PORT=5432TZ=Asia/Tokyo
EOF
$ docker-compose up -d
```