[Support] xthursdayx - YACReaderLibraryServer

Recommended Posts


YACReaderLibraryServer Docker






Headless version of the YACReaderLibraryServer, running on a custom base image built with Ubuntu 18.04 LTS cloud image and S6 overlay

YACReader is the best comic reader and comic manager available, with support for cbr, cbz, zip, and rar comic files. 

YACReaderLibraryServer makes it easy to run a home comics server to serve your comics to any device running a YACReader client (including Windows, MacOS, and Linux as well the YACReader iOS app.


Setup Instructions


You can choose to install one of two versions of the YACReaderLibraryServer docker image, which use two different compression backends - either p7zip or unarr. These two versions are handled via the Docker repository tags "xthursdayx/yacreaderlibrary-server-docker:pzip" or "xthursdayx/yacreaderlibrary-server-docker:unarr" in your docker settings.


For the best stability and general quality, it is recommended that you install YACReaderLibraryServer with unarr, which is the default installation. It should be noted, however, that as of version 1.0.1, unarr supports fewer formats than p7zip, notably RAR5. There is also some evidence that YACReaderLibraryServer compiled with p7zip may scan and create your comic library(s) faster than the version complied with unarr, so the choice is yours. In practice, any shortcomings unarr has are rarely an issue, since the vast majority of comic books use either zip or RAR4 compression, which is handled nicely by this backend, and after the initial library creation, library updates proceed smoothly with either decompression backend.


If you would like to use the default unarr backend, then you do not need to add any tag to "xthursdayx/yacreaderlibrary-server-docker` since it will default to the "latest"/"unarr" tag.


The docker images are also available from the GitHub container registry: ghcr.io/xthursdayx/yacreaderlibrary-server-docker


Here are some examples to help you get started creating a container from this image. If you are an UNRAID user you can access my UNRAID YACReaderLibraryServer template which is available in Community Apps.

Docker CLI

docker run -d \
  --name=YACReaderLibraryServer \
  -e PUID=99 \
  -e PGID=100 \
  -e TZ=America/New_York \
  -p 8080:8080 \
  -v /path/to/config:/config \
  -v /path/to/comic:/comics \
  --restart unless-stopped \


### docker-compose

version: "2.1"
    container_name: YACReaderLibraryServer
    image: xthursdayx/yacreaderlibrary-server-docker:[tag]
      - PUID=99
      - PGID=100
      - TZ=America/New_York
      - /path/to/config:/config
      - /path/to/comics:/comics
      - 8080:8080
    restart: unless-stopped




Container images are configured using parameters passed at runtime (such as those listed above). These parameters are separated by a colon and indicate <external>:<internal> respectively. For example, -p 8080:80 would expose port 80 from inside the container to be accessible from the host's IP on port 8080 outside the container. You can change the external/host port and volume mappings to suit your needs.


| Parameter | Function |
| :----: | --- |
| `-p 8080` | HTTP access to YACReaderLibraryServer. |
| `-e PUID=99` | for UserID - see below for more information. |
| `-e PGID=100` | for GroupID - see below for more information. |
| `-e TZ=America/New_York` | Specify a timezone to use, e.g. America/New_York. |
| `-v /config` | Directory where YACReaderLibraryServer's configuration and log files will be stored. |
| `-v /comics` | The directory where YACReaderLibraryServer will look for your comics. |
| tag |(Optional) The docker tag will pull your chosen version YACReaderLibraryServer, the options are pzip or unarr/latest (default). |


 User / Group Identifiers

When using volumes (-v flags) permissions issues can arise between the host OS and the container, you can avoid this by specifying the user PUID and group PGID.

Ensure any mapped volume directories on your host machine are owned by the same user you specify and you will avoid any permissions issues.

In this instance PUID=99 and PGID=100, to find yours using the following command:

 $ id <username> # Replace with your username
 uid=99(nobody) gid=100(users) groups=100(users)


Usage Instructions


  • To create a new YACReader comics library run the  following command from the CLI on your host machine, changing `<library-name>` to whatever you want your library to be called:


docker exec YACReaderLibraryServer YACReaderLibraryServer create-library <library-name> /comics


  • To add an existing YACReader library:


docker exec YACReaderLibraryServer YACReaderLibraryServer add-library <library-name> /comics

To update your YACReader library (e.g. when you've added new comics):


docker exec YACReaderLibraryServer YACReaderLibraryServer update-library /comics

To list all existing YACReader libraries:


docker exec YACReaderLibraryServer YACReaderLibraryServer list-libraries

To remove a YACReader library: 


docker exec YACReaderLibraryServer YACReaderLibraryServer remove-library <library-name>


Accessing YACReaderLibraryServer 


You can access your YACReaderLibraryServer by pointing your YACReader app to: 

  • `http://SERVERIP:8080` (Replace `SERVERIP` with the correct value). 


Please note: YACReaderLibraryServer does not have authentication installed by default, so it is not advisable to expose your server outside of your home network. If you wish to be able to access YACReaderLibraryServer from outside your local network please use a reverse ssl proxy, such as NGINX with an .htaccess file, or a locally-hosted VPN, such as OpenVPN to access your local network.



 If you appreciate my work please consider buying me a coffee, cheers! 😁


Edited by xthursdayx
Link to comment
  • xthursdayx changed the title to [Support] xthursdayx - YACReaderLibraryServer
  • 1 year later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.