diff --git a/Dockerfile b/Dockerfile index 0b7418f5e..00ad89b9e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,8 +1,8 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/unrar:latest as unrar +FROM ghcr.io/linuxserver/unrar:latest AS unrar -FROM ghcr.io/linuxserver/baseimage-ubuntu:jammy +FROM ghcr.io/linuxserver/baseimage-ubuntu:noble # set version label ARG BUILD_DATE @@ -46,6 +46,7 @@ RUN \ wheel && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ . && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ Levenshtein && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apt-get -y purge \ libjpeg-turbo8-dev \ diff --git a/Dockerfile.aarch64 b/Dockerfile.aarch64 index bd56e5e7a..1df25b9d5 100644 --- a/Dockerfile.aarch64 +++ b/Dockerfile.aarch64 @@ -1,8 +1,8 @@ # syntax=docker/dockerfile:1 -FROM ghcr.io/linuxserver/unrar:arm64v8-latest as unrar +FROM ghcr.io/linuxserver/unrar:arm64v8-latest AS unrar -FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-jammy +FROM ghcr.io/linuxserver/baseimage-ubuntu:arm64v8-noble # set version label ARG BUILD_DATE @@ -46,6 +46,7 @@ RUN \ wheel && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ . && \ pip install -U --no-cache-dir --find-links https://wheel-index.linuxserver.io/ubuntu/ Levenshtein && \ + printf "Linuxserver.io version: ${VERSION}\nBuild-date: ${BUILD_DATE}" > /build_version && \ echo "**** cleanup ****" && \ apt-get -y purge \ libjpeg-turbo8-dev \ diff --git a/Jenkinsfile b/Jenkinsfile index b32c252c5..6fe95ab99 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -34,9 +34,9 @@ pipeline { CI_WEB='true' CI_PORT='5299' CI_SSL='false' - CI_DELAY='120' - CI_DOCKERENV='TZ=US/Pacific' - CI_AUTH='user:password' + CI_DELAY='240' + CI_DOCKERENV='' + CI_AUTH='' CI_WEBPATH='' } stages { diff --git a/README.md b/README.md index fc2a714af..da7004432 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,7 @@ Access the webui at `http://:5299/home`, for more information check out ### Calibredb import -**64bit only** We have implemented the optional ability to pull in the dependencies to enable the Calibredb import program:, this means if you don't require this feature the container isn't uneccessarily bloated but should you require it, it is easily available. +**64bit only** We have implemented the optional ability to pull in the dependencies to enable the Calibredb import program:, this means if you don't require this feature the container isn't unnecessarily bloated but should you require it, it is easily available. This optional layer will be rebuilt automatically on our CI pipeline upon new Calibre releases so you can stay up to date. To use this option add the optional environmental variable as detailed in the docker-mods section to pull an addition docker layer to enable ebook conversion and then in the LazyLibrarian config page (Processing:Calibredb import program:) set the path to converter tool to `/usr/bin/calibredb` @@ -77,7 +77,7 @@ You can enable it in the Web UI under Settings > Processing > External Programs We have set `/books` as ***optional path***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content. -Use the optional path if you dont understand, or dont want hardlinks/atomic moves. +Use the optional path if you don't understand, or don't want hardlinks/atomic moves. The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this. @@ -99,7 +99,7 @@ services: - TZ=Etc/UTC - DOCKER_MODS=linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg #optional volumes: - - /path/to/data:/config + - /path/to/lazylibrarian/data:/config - /path/to/downloads/:/downloads - /path/to/data/:/books #optional ports: @@ -117,7 +117,7 @@ docker run -d \ -e TZ=Etc/UTC \ -e DOCKER_MODS=linuxserver/mods:universal-calibre|linuxserver/mods:lazylibrarian-ffmpeg `#optional` \ -p 5299:5299 \ - -v /path/to/data:/config \ + -v /path/to/lazylibrarian/data:/config \ -v /path/to/downloads/:/downloads \ -v /path/to/data/:/books `#optional` \ --restart unless-stopped \ @@ -300,6 +300,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64 ## Versions +* **14.08.24:** - Rebase to Ubuntu Noble. * **07.10.23:** - Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar). Switch to Python virtual environment. Add Levenshtein. * **10.08.23:** - Bump unrar to 6.2.10. * **01.07.23:** - Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf) diff --git a/jenkins-vars.yml b/jenkins-vars.yml index a343a33ea..ef3f1d2d7 100644 --- a/jenkins-vars.yml +++ b/jenkins-vars.yml @@ -23,7 +23,7 @@ repo_vars: - CI_WEB='true' - CI_PORT='5299' - CI_SSL='false' - - CI_DELAY='120' - - CI_DOCKERENV='TZ=US/Pacific' - - CI_AUTH='user:password' - - CI_WEBPATH='' \ No newline at end of file + - CI_DELAY='240' + - CI_DOCKERENV='' + - CI_AUTH='' + - CI_WEBPATH='' diff --git a/readme-vars.yml b/readme-vars.yml index 33358644a..773124804 100644 --- a/readme-vars.yml +++ b/readme-vars.yml @@ -12,7 +12,7 @@ available_architectures: param_container_name: "{{ project_name }}" param_usage_include_vols: true param_volumes: - - {vol_path: "/config", vol_host_path: "/path/to/data", desc: "LazyLibrarian config"} + - {vol_path: "/config", vol_host_path: "/path/to/{{ project_name }}/data", desc: "LazyLibrarian config"} - {vol_path: "/downloads", vol_host_path: "/path/to/downloads/", desc: "Download location"} opt_param_usage_include_vols: true opt_param_volumes: @@ -20,9 +20,6 @@ opt_param_volumes: param_usage_include_ports: true param_ports: - {external_port: "5299", internal_port: "5299", port_desc: "The port for the LazyLibrarian webinterface"} -param_usage_include_env: true -param_env_vars: - - {env_var: "TZ", env_value: "Europe/London", desc: "Specify a timezone to use e.g. Europe/London"} # optional container parameters opt_param_usage_include_env: true opt_param_env_vars: @@ -34,7 +31,7 @@ app_setup_block: | ### Calibredb import - **64bit only** We have implemented the optional ability to pull in the dependencies to enable the Calibredb import program:, this means if you don't require this feature the container isn't uneccessarily bloated but should you require it, it is easily available. + **64bit only** We have implemented the optional ability to pull in the dependencies to enable the Calibredb import program:, this means if you don't require this feature the container isn't unnecessarily bloated but should you require it, it is easily available. This optional layer will be rebuilt automatically on our CI pipeline upon new Calibre releases so you can stay up to date. To use this option add the optional environmental variable as detailed in the docker-mods section to pull an addition docker layer to enable ebook conversion and then in the LazyLibrarian config page (Processing:Calibredb import program:) set the path to converter tool to `/usr/bin/calibredb` @@ -48,11 +45,12 @@ app_setup_block: | We have set `/books` as ***optional path***, this is because it is the easiest way to get started. While easy to use, it has some drawbacks. Mainly losing the ability to hardlink (TL;DR a way for a file to exist in multiple places on the same file system while only consuming one file worth of space), or atomic move (TL;DR instant file moves, rather than copy+delete) files while processing content. - Use the optional path if you dont understand, or dont want hardlinks/atomic moves. + Use the optional path if you don't understand, or don't want hardlinks/atomic moves. The folks over at servarr.com wrote a good [write-up](https://wiki.servarr.com/docker-guide#consistent-and-well-planned-paths) on how to get started with this. # changelog changelogs: + - {date: "14.08.24:", desc: "Rebase to Ubuntu Noble."} - {date: "07.10.23:", desc: "Install unrar from [linuxserver repo](https://github.com/linuxserver/docker-unrar). Switch to Python virtual environment. Add Levenshtein."} - {date: "10.08.23:", desc: "Bump unrar to 6.2.10."} - {date: "01.07.23:", desc: "Deprecate armhf. As announced [here](https://www.linuxserver.io/blog/a-farewell-to-arm-hf)"} diff --git a/root/defaults/config.ini b/root/defaults/config.ini index de69f4e8e..ad443d611 100644 --- a/root/defaults/config.ini +++ b/root/defaults/config.ini @@ -1,4 +1,4 @@ [General] logdir = /config/log -destination_dir = /books +ebook_dir = /books download_dir = /downloads diff --git a/root/etc/s6-overlay/s6-rc.d/init-lazylibrarian-config/run b/root/etc/s6-overlay/s6-rc.d/init-lazylibrarian-config/run index b283c88be..b6879b032 100755 --- a/root/etc/s6-overlay/s6-rc.d/init-lazylibrarian-config/run +++ b/root/etc/s6-overlay/s6-rc.d/init-lazylibrarian-config/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash # make folders mkdir -p \ diff --git a/root/etc/s6-overlay/s6-rc.d/svc-lazylibrarian/run b/root/etc/s6-overlay/s6-rc.d/svc-lazylibrarian/run index 15c00cf9f..35ae254f6 100755 --- a/root/etc/s6-overlay/s6-rc.d/svc-lazylibrarian/run +++ b/root/etc/s6-overlay/s6-rc.d/svc-lazylibrarian/run @@ -1,4 +1,5 @@ #!/usr/bin/with-contenv bash +# shellcheck shell=bash exec \ s6-notifyoncheck -d -n 300 -w 1000 -c "nc -z localhost 5299" \