DotOPDS is an OPDS server designed for large libraries like full archive of lib.rus.ec or Flibusta.
- Full-text search through Lucene.net
- Plugins support
- Support for external converters
- OPDS catalog localization
- Cover and annotation extraction (experimental)
- Web interface
Download latest release and extract somewhere.
Copy appsettings.json
to appsettings.Production.json
and customize it or use any other method to configure ASP.NET Core Application
Settings description:
{
"Presentation": {
"DefaultLanguage": "en", // language used to index texts
"PageSize": 10, // how many items per page to show
"Title": "DotOPDS Library", // OPDS title
"LazyInfoExtract": false, // try to extract cover and annotation from book before displaying
"Converters": [
{
"From": "fb2", // file extension
"To": "epub", // file extension
"Command": "fb2epub.exe", // path to converter
"Arguments": "{0} {1}" // {0} - from, {1} - to
}
],
},
"IndexStorage": {
"Path": "./database" // path to database storage
}
}
Import library index from .inpx
file:
DotOPDS import inpx C:\library C:\lib.inpx
To see available import plugins type:
DotOPDS import help
DotOPDS import help inpx # plugin help
Now just start server:
DotOPDS.Server
and OPDS will be available at http://localhost:5000/opds
You always can use help
command to get more info.
docker build . -t dotopds
docker run -it -p 5000:80 -v databasePath:/app/database dotopds
Find container id with docker ps
and get into it
docker exec -it CONTAINER_ID /bin/bash
BookProvider.Inpx
- import.inpx
filesFileFormat.Fb2
- extract annotation and cover from fb2 books
- Make tag with version number
- Wait for ci build completed and edit draft description
- Publish