Official YACReader Docker images running YACReaderLibraryServer
100K+
Official YACReader Docker image running YACReaderLibraryServer.
YACReaderLibraryServer is the headless (no GUI) version of YACReaderLibrary. It is intended to be used in scenarios where you can't run YACReaderLibrary. And it's perfect for setting up a self hosted 24/7 comic server for the iOS and Android apps, typically you can install this image in a NAS to make it serve you comics library.
This image support two architectures amd64 and arm64. The tag develop will contain the current version being developed, it can be unstable, for now it's the only one available since the code base of YACReader 9.14.1 contains some bugs that had to be fixed to make the Docker images work as expected. Later, once 9.15.0 is release the tag latest will contain the latest release of YACReaderLibraryServer.
YACReader supports being built using a bunch of different options, the official recommendation is to build it with RAR5 and PDF support. This image is built using 7zip (7z, RAR, RAR5, ZIP and other formats) and Poppler (PDF) and includes a wide range of image formats support.
Pull latest if it's available (not yet) or develop.
docker pull yacreader/yacreaderlibraryserver:latest
docker pull yacreader/yacreaderlibraryserver:develop
The image starts YACReaderLibraryServer automatically and restarts it if it crash.
To run a container using the command line client you can do:
docker run -d \
--name=YACReaderLibraryServer \
-e PUID=99 \
-e PGID=100 \
-e TZ=Europe/Madrid \
-p 9999:8080 \
-v '/path/to/config:/config' \
-v '/path/to/comics:/comics' \
--restart unless-stopped \
yacreader/yacreaderlibraryserver:[develop|latest]
or you can use docker-compose:
---
version: "3"
services:
yacreaderlibraryserver:
container_name: YACReaderLibraryServer
image: yacreader/yacreaderlibraryserver:[develop|latest]
environment:
- PUID=99
- PGID=100
- TZ=Europe/Madrid
volumes:
- /path/to/config:/config
- /path/to/comics:/comics
ports:
- 9999:8080
restart: unless-stopped
If you are new to Docker you'll probably need some clarifications:
YACReaderLibraryServer won't be running in the device where you are installing the image, YACReaderLibraryServer will be running in a virutal computer called container and you have to map your real world resource from your device to the container...yacreader/yacreaderlibraryserver:develop or yacreader/yacreaderlibraryserver:latest, but you can use any other tag available in this repository if you need to.-v '/path/to/config:/config' means that you'll be able to access the config files in your machine at /path/to/config and -v '/path/to/comic:/comics' means that your comics are in /path/to/comics, YACReaderLibraryServer will use /comics internally as the path to your comics, so when adding or creating a library that's the path you have to use inside the container.YACReaderLibraryServer will be running in the background, you can use the command line to add/remove/update libraries like this:
Usage: YACReaderLibraryServer.exe [options] command
YACReaderLibraryServer is the headless (no gui) version of YACReaderLibrary.
This appplication support persisten settings, to set them up edit this file C:/Users/luisa/AppData/Local/YACReader/YACReaderLibrary/YACReaderLibrary.ini
To learn about the available settings please check the documentation at https://raw.githubusercontent.com/YACReader/yacreader/develop/YACReaderLibraryServer/SETTINGS_README.md
Options:
-?, -h, --help Displays help on commandline options.
--help-all Displays help including Qt specific options.
-v, --version Displays version information.
--loglevel <loglevel> Set log level. Valid values: trace, info, debug, warn,
error.
--port <port> Set server port (temporary). Valid values: 1-65535
--system-info Prints detailed information about the system
environment, including OS version, hardware
specifications, and available resources.
Arguments:
command The command to execute. [start, create-library,
update-library, add-library, remove-library,
list-libraries, set-port, rescan-xml-info]
Initially YACReaderLibraryServer will have no libraries, so you need to create or add one if the path pointing to /comics already have a library:
YACReaderLibraryServer create-library MyComics /comics
or if /path/to/comics already contains a YACReaderLibrary library:
YACReaderLibraryServer add-library MyComics /comics
You can find YACReaderLibrary.ini in /path/to/config -> /path/to/config/.local/share/YACReader/YACReaderLibrary/YACReaderLibrary.ini
There are some setting you can add there that aren't available through the command line, open YACReaderLibrary.ini and add the [libraryConfig] section, and then add the settings you want:
[libraryConfig]
IMPORT_COMIC_INFO_XML_METADATA=true
UPDATE_LIBRARIES_PERIODICALLY=true
UPDATE_LIBRARIES_PERIODICALLY_INTERVAL=6
UPDATE_LIBRARIES_AT_CERTAIN_TIME=true
UPDATE_LIBRARIES_AT_CERTAIN_TIME_TIME=00:00
UPDATE_LIBRARIES_AT_STARTUP=true
UPDATE_LIBRARIES_PERIODICALLY enables UPDATE_LIBRARIES_PERIODICALLY_INTERVAL go together, the values for UPDATE_LIBRARIES_PERIODICALLY_INTERVAL are 0,1,2,3,4,5 or 6 (30min, 1 hour, 2 hours, 4 hours, 8 hours, 12 hours, daily).
UPDATE_LIBRARIES_AT_CERTAIN_TIME enables UPDATE_LIBRARIES_AT_CERTAIN_TIME_TIME, just set the time in 24h format.
There are two recurring problems when it comes to the server, one is related to the network setup and the other one is the server not being able to write in the library folder.
If the client can't connect to the server check the following:
The server needs to write information in the folder where your comics are. The server will create a folder called .yacreaderlibrary that contains the data base and cached information (mostly covers). If your library is in /my_path/comics this folder will be in /my_path/comics/.yacreaderlibrary.
nobrl option (you may read some docs refering to this option as nolock). Samba doesn't allow creating lock files and the database need those to be able to write information.NOTE: If you created the library using YACReaderLibrary the Docker container will be able to read the library and stream content even if doesn't have write permissions, but it will fail to update the reading progress, if you find that the clients aren't able to update the reading progress, please, double check that the server can write to the comics path.
YACReader is open source, you can find the git repository in Github, the Dockerfile that builds this image can be found here. If you think you can improve these images please open a PR.
Content type
Image
Digest
sha256:caf4d677a…
Size
178.6 MB
Last updated
about 15 hours ago
docker pull yacreader/yacreaderlibraryserver:developPulls:
4,356
Jun 29 to Jul 5