xthursdayx Posted June 9, 2021 Share Posted June 9, 2021 (edited) 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 \ xthursdayx/yacreaderlibrary-server-docker:[tag] ### docker-compose --- version: "2.1" services: yacreaderlibrary-server-docker: container_name: YACReaderLibraryServer image: xthursdayx/yacreaderlibrary-server-docker:[tag] environment: - PUID=99 - PGID=100 - TZ=America/New_York volumes: - /path/to/config:/config - /path/to/comics:/comics ports: - 8080:8080 restart: unless-stopped Parameters 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 June 29, 2021 by xthursdayx Quote Link to comment
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.