https://github.com/saghen/open-library-proxy
OpenLibrary in MongoDB with a backend for consumption by Readarr
https://github.com/saghen/open-library-proxy
Last synced: 2 months ago
JSON representation
OpenLibrary in MongoDB with a backend for consumption by Readarr
- Host: GitHub
- URL: https://github.com/saghen/open-library-proxy
- Owner: Saghen
- Created: 2024-08-16T02:49:17.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2025-06-22T20:12:24.000Z (4 months ago)
- Last Synced: 2025-07-21T05:54:23.756Z (3 months ago)
- Language: TypeScript
- Size: 88.9 KB
- Stars: 36
- Watchers: 12
- Forks: 8
- Open Issues: 12
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# open-library-proxy
> [!WARNING]
> This project is a work in progress and the Servarr team provides **no support** for it
>
> Please get the `Testarr` role on [Servarr Discord](https://discord.com/invite/8Dbsx35rrx) and check out the #readarr-ol channel if you'd like to get involvedServe a search, author and bulk API on top of the [OpenLibrary](https://openlibrary.org/developers/dumps) corpus. Primarily for consumption by [Readarr](https://wiki.servarr.com/readarr).
## Development
This project requires a local installation of [docker](https://docs.docker.com/engine/install/) and [bun](https://bun.sh/).
Spin up the required services (MongoDB and MeiliSearch) by running `docker-compose up` (optionally add `-d` to run in the background). Alternatively, you may avoid docker compose by running the following equivalent commands:
```bash
docker run -d --name open-library-mongo -e MONGO_INITDB_ROOT_USERNAME=open-library-proxy -e MONGO_INITDB_ROOT_PASSWORD=stringsolongandpowerfulnoonecouldguessit -p 27017:27017 mongo:7
docker run -d --name open-library-meili -e MEILI_NO_ANALYTICS=true -e MEILI_MASTER_KEY=stringsolongandpowerfulnoonecouldguessit -p 7700:7700 getmeili/meilisearch:v1.9
```> [!WARNING]
> You need ~100GB of free disk space to download and decompress the corpus.
> This initial dump and ingest will take quite a while.Start the development environment:
```sh
bun install --frozen-lockfile
bun dev
```## Production