dir2opds inspects the given folder and serves an OPDS 1.1 compliant server.
There are good options to serve books using OPDS. Calibre is good for that, but if your server is headless, installing Calibre doesn't seem to be the best option.
That is why calibre2opds exists, but if you have too many books and you don't want to create a Calibre library, dir2opds could help you to have an OPDS server from a directory with one condition:
- A folder should have only folders or only files.
go install github.com/dubyte/dir2opds@latest
Usage of dir2opds:
-calibre
Hide files stored by calibre
-debug
If it is set, it will log the requests
-dir string
A directory with books (default "./books")
-host string
The server will listen in this host (default "0.0.0.0")
-port string
The server will listen in this port (default "8080")
- Moon+ reader
cd && mkdir dir2opds && cd dir2opds
# get the binary
wget https://github.com/dubyte/dir2opds/releases/download/v0.0.10/dir2opds_0.0.10_Linux_ARMv7.tar.gz
tar xvf dir2opds_0.0.10_Linux_ARMv7.tar.gz
sudo touch /etc/systemd/system/dir2opds.service
# Paste the content below but rember to pass the fullpath of your books in -dir
sudo nano /etc/systemd/system/dir2opds.service
sudo systemctl enable dir2opds.service
sudo systemctl start dir2opds.service
/etc/systemd/system/dir2opds.service
[Unit]
Description=dir2opds
Documentation=https://github.com/dubyte/dir2opds
After=network-online.target
[Service]
User=pi
Restart=on-failure
ExecStart=/home/pi/dir2opds/dir2opds -dir <FULL PATH OF BOOKS FOLDER> -port 8080
[Install]
WantedBy=multi-user.target