MCPcopy Index your code
hub / github.com/altescy/bookshelf

github.com/altescy/bookshelf @1.2.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release 1.2.0 ↗ · + Follow
112 symbols 280 edges 31 files 8 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Bookshelf

Actions Status License Release

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

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

$ 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://minio

MINIO_ACCESS_KEY=minio_access
MINIO_SECRET_KEY=minio_secret
MINIO_HOST=0.0.0.0
MINIO_PORT=9000

POSTGRES_USER=user
POSTGRES_PASSWORD=password
POSTGRES_PORT=5432

TZ=Asia/Tokyo
EOF
$ docker-compose up -d

Extension points exported contracts — how you extend this code

Core symbols most depended-on inside this repo

Shape

Function 72
Method 20
Struct 10
Interface 9
TypeAlias 1

Languages

Go62%
TypeScript38%

Modules by API surface

browser/src/store/index.ts33 symbols
model/book.go10 symbols
cmd/main.go8 symbols
model/file.go7 symbols
controller/handler.go7 symbols
opds/opds.go6 symbols
model/mime.go6 symbols
controller/book.go5 symbols
browser/src/model.ts5 symbols
storage/s3.go4 symbols
storage/filesystem.go4 symbols
storage/storage.go3 symbols

Datastores touched

bookshelfDatabase · 1 repos

For agents

$ claude mcp add bookshelf \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact

Ask about this repo answers extend the page