DotOPDS is an OPDS server designed for large libraries like full archive of lib.rus.ec or Flibusta.
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