update formatting, add lsio wheel index

This commit is contained in:
aptalca 2021-05-17 16:13:47 -04:00
parent df638a1e47
commit 9e734295ec
7 changed files with 233 additions and 231 deletions

View File

@ -8,65 +8,65 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="chbmb" LABEL maintainer="chbmb"
RUN \ RUN \
echo "**** install build packages ****" && \ echo "**** install build packages ****" && \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
git \ git \
libldap2-dev \ libldap2-dev \
libsasl2-dev \ libsasl2-dev \
python3-pip && \ python3-pip && \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apt-get install -y \ apt-get install -y \
imagemagick \ imagemagick \
libnss3 \ libnss3 \
libxcomposite1 \ libxcomposite1 \
libxi6 \ libxi6 \
libxslt1.1 \ libxslt1.1 \
libldap-2.4-2 \ libldap-2.4-2 \
libsasl2-2 \ libsasl2-2 \
libxrandr2 \ libxrandr2 \
python3-minimal \ python3-minimal \
python3-pkg-resources \ python3-pkg-resources \
unrar && \ unrar && \
echo "**** install calibre-web ****" && \ echo "**** install calibre-web ****" && \
if [ -z ${CALIBREWEB_RELEASE+x} ]; then \ if [ -z ${CALIBREWEB_RELEASE+x} ]; then \
CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" \ CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/tmp/calibre-web.tar.gz -L \ /tmp/calibre-web.tar.gz -L \
https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz && \ https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz && \
mkdir -p \ mkdir -p \
/app/calibre-web && \ /app/calibre-web && \
tar xf \ tar xf \
/tmp/calibre-web.tar.gz -C \ /tmp/calibre-web.tar.gz -C \
/app/calibre-web --strip-components=1 && \ /app/calibre-web --strip-components=1 && \
cd /app/calibre-web && \ cd /app/calibre-web && \
pip3 install --no-cache-dir -U \ pip3 install --no-cache-dir -U \
pip && \ pip && \
pip install --no-cache-dir -U -r \ pip install --no-cache-dir -U --find-links https://wheel-index.linuxserver.io/ubuntu/ -r \
requirements.txt -r \ requirements.txt -r \
optional-requirements.txt && \ optional-requirements.txt && \
echo "***install kepubify" && \ echo "***install kepubify" && \
if [ -z ${KEPUBIFY_RELEASE+x} ]; then \ if [ -z ${KEPUBIFY_RELEASE+x} ]; then \
KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" \ KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/usr/bin/kepubify -L \ /usr/bin/kepubify -L \
https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-64bit && \ https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-64bit && \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apt-get -y purge \ apt-get -y purge \
git \ git \
libldap2-dev \ libldap2-dev \
libsasl2-dev \ libsasl2-dev \
python3-pip && \ python3-pip && \
apt-get -y autoremove && \ apt-get -y autoremove && \
rm -rf \ rm -rf \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* \ /var/tmp/* \
/root/.cache /root/.cache
# add local files # add local files
COPY root/ / COPY root/ /

View File

@ -8,79 +8,79 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="chbmb" LABEL maintainer="chbmb"
RUN \ RUN \
echo "**** install build packages ****" && \ echo "**** install build packages ****" && \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
g++ \ g++ \
gcc \ gcc \
git \ git \
libffi-dev \ libffi-dev \
libjpeg-dev \ libjpeg-dev \
libldap2-dev \ libldap2-dev \
libsasl2-dev \ libsasl2-dev \
libxml2-dev \ libxml2-dev \
libxslt1-dev \ libxslt1-dev \
python3-pip \ python3-pip \
zlib1g-dev && \ zlib1g-dev && \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apt-get install -y \ apt-get install -y \
imagemagick \ imagemagick \
libldap-2.4-2 \ libldap-2.4-2 \
libnss3 \ libnss3 \
libsasl2-2 \ libsasl2-2 \
libxcomposite1 \ libxcomposite1 \
libxi6 \ libxi6 \
libxrandr2 \ libxrandr2 \
libxslt1.1 \ libxslt1.1 \
python3-minimal \ python3-minimal \
python3-pkg-resources \ python3-pkg-resources \
unrar && \ unrar && \
echo "**** install calibre-web ****" && \ echo "**** install calibre-web ****" && \
if [ -z ${CALIBREWEB_RELEASE+x} ]; then \ if [ -z ${CALIBREWEB_RELEASE+x} ]; then \
CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" \ CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/tmp/calibre-web.tar.gz -L \ /tmp/calibre-web.tar.gz -L \
https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz && \ https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz && \
mkdir -p \ mkdir -p \
/app/calibre-web && \ /app/calibre-web && \
tar xf \ tar xf \
/tmp/calibre-web.tar.gz -C \ /tmp/calibre-web.tar.gz -C \
/app/calibre-web --strip-components=1 && \ /app/calibre-web --strip-components=1 && \
cd /app/calibre-web && \ cd /app/calibre-web && \
pip3 install --no-cache-dir -U \ pip3 install --no-cache-dir -U \
pip && \ pip && \
pip install --no-cache-dir -U -r \ pip install --no-cache-dir -U --find-links https://wheel-index.linuxserver.io/ubuntu/ -r \
requirements.txt -r \ requirements.txt -r \
optional-requirements.txt && \ optional-requirements.txt && \
echo "***install kepubify" && \ echo "***install kepubify" && \
if [ -z ${KEPUBIFY_RELEASE+x} ]; then \ if [ -z ${KEPUBIFY_RELEASE+x} ]; then \
KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" \ KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/usr/bin/kepubify -L \ /usr/bin/kepubify -L \
https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-arm64 && \ https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-arm64 && \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apt-get -y purge \ apt-get -y purge \
g++ \ g++ \
gcc \ gcc \
git \ git \
libffi-dev \ libffi-dev \
libjpeg-dev \ libjpeg-dev \
libldap2-dev \ libldap2-dev \
libsasl2-dev \ libsasl2-dev \
libxml2-dev \ libxml2-dev \
libxslt1-dev \ libxslt1-dev \
python3-pip \ python3-pip \
zlib1g-dev && \ zlib1g-dev && \
apt-get -y autoremove && \ apt-get -y autoremove && \
rm -rf \ rm -rf \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* \ /var/tmp/* \
/root/.cache /root/.cache
# add local files # add local files
COPY root/ / COPY root/ /

View File

@ -8,84 +8,84 @@ LABEL build_version="Linuxserver.io version:- ${VERSION} Build-date:- ${BUILD_DA
LABEL maintainer="chbmb" LABEL maintainer="chbmb"
RUN \ RUN \
echo "**** install build packages ****" && \ echo "**** install build packages ****" && \
apt-get update && \ apt-get update && \
apt-get install -y \ apt-get install -y \
g++ \ g++ \
gcc \ gcc \
git \ git \
libffi-dev \ libffi-dev \
libjpeg-dev \ libjpeg-dev \
libldap2-dev \ libldap2-dev \
libsasl2-dev \ libsasl2-dev \
libssl-dev \ libssl-dev \
libxml2-dev \ libxml2-dev \
libxslt1-dev \ libxslt1-dev \
python3-pip \ python3-pip \
rustc \ rustc \
zlib1g-dev && \ zlib1g-dev && \
echo "**** install runtime packages ****" && \ echo "**** install runtime packages ****" && \
apt-get install -y \ apt-get install -y \
imagemagick \ imagemagick \
libldap-2.4-2 \ libldap-2.4-2 \
libnss3 \ libnss3 \
libsasl2-2 \ libsasl2-2 \
libxcomposite1 \ libxcomposite1 \
libxi6 \ libxi6 \
libxrandr2 \ libxrandr2 \
libxslt1.1 \ libxslt1.1 \
python3-minimal \ python3-minimal \
python3-pkg-resources \ python3-pkg-resources \
unrar && \ unrar && \
echo "**** install calibre-web ****" && \ echo "**** install calibre-web ****" && \
if [ -z ${CALIBREWEB_RELEASE+x} ]; then \ if [ -z ${CALIBREWEB_RELEASE+x} ]; then \
CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" \ CALIBREWEB_RELEASE=$(curl -sX GET "https://api.github.com/repos/janeczku/calibre-web/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/tmp/calibre-web.tar.gz -L \ /tmp/calibre-web.tar.gz -L \
https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz && \ https://github.com/janeczku/calibre-web/archive/${CALIBREWEB_RELEASE}.tar.gz && \
mkdir -p \ mkdir -p \
/app/calibre-web && \ /app/calibre-web && \
tar xf \ tar xf \
/tmp/calibre-web.tar.gz -C \ /tmp/calibre-web.tar.gz -C \
/app/calibre-web --strip-components=1 && \ /app/calibre-web --strip-components=1 && \
cd /app/calibre-web && \ cd /app/calibre-web && \
pip3 install --no-cache-dir -U \ pip3 install --no-cache-dir -U \
pip && \ pip && \
pip install --no-cache-dir -U -r \ pip install --no-cache-dir -U --find-links https://wheel-index.linuxserver.io/ubuntu/ -r \
requirements.txt -r \ requirements.txt -r \
optional-requirements.txt && \ optional-requirements.txt && \
echo "***install kepubify" && \ echo "***install kepubify" && \
if [ -z ${KEPUBIFY_RELEASE+x} ]; then \ if [ -z ${KEPUBIFY_RELEASE+x} ]; then \
KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" \ KEPUBIFY_RELEASE=$(curl -sX GET "https://api.github.com/repos/pgaskin/kepubify/releases/latest" \
| awk '/tag_name/{print $4;exit}' FS='[""]'); \ | awk '/tag_name/{print $4;exit}' FS='[""]'); \
fi && \ fi && \
curl -o \ curl -o \
/usr/bin/kepubify -L \ /usr/bin/kepubify -L \
https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-arm && \ https://github.com/pgaskin/kepubify/releases/download/${KEPUBIFY_RELEASE}/kepubify-linux-arm && \
echo "**** cleanup ****" && \ echo "**** cleanup ****" && \
apt-get -y purge \ apt-get -y purge \
g++ \ g++ \
gcc \ gcc \
git \ git \
libffi-dev \ libffi-dev \
libjpeg-dev \ libjpeg-dev \
libldap2-dev \ libldap2-dev \
libsasl2-dev \ libsasl2-dev \
libssl-dev \ libssl-dev \
libxml2-dev \ libxml2-dev \
libxslt1-dev \ libxslt1-dev \
python3-pip \ python3-pip \
rustc \ rustc \
zlib1g-dev && \ zlib1g-dev && \
apt-get -y autoremove && \ apt-get -y autoremove && \
rm -rf \ rm -rf \
/tmp/* \ /tmp/* \
/var/lib/apt/lists/* \ /var/lib/apt/lists/* \
/var/tmp/* \ /var/tmp/* \
/root/.cache \ /root/.cache \
/root/.cargo /root/.cargo
# add local files # add local files
COPY root/ / COPY root/ /

View File

@ -118,8 +118,8 @@ services:
- TZ=Europe/London - TZ=Europe/London
- DOCKER_MODS=linuxserver/calibre-web:calibre - DOCKER_MODS=linuxserver/calibre-web:calibre
volumes: volumes:
- <path to data>:/config - /path/to/data:/config
- <path to calibre library>:/books - /path/to/calibre/library:/books
ports: ports:
- 8083:8083 - 8083:8083
restart: unless-stopped restart: unless-stopped
@ -135,8 +135,8 @@ docker run -d \
-e TZ=Europe/London \ -e TZ=Europe/London \
-e DOCKER_MODS=linuxserver/calibre-web:calibre \ -e DOCKER_MODS=linuxserver/calibre-web:calibre \
-p 8083:8083 \ -p 8083:8083 \
-v <path to data>:/config \ -v /path/to/data:/config \
-v <path to calibre library>:/books \ -v /path/to/calibre/library:/books \
--restart unless-stopped \ --restart unless-stopped \
ghcr.io/linuxserver/calibre-web ghcr.io/linuxserver/calibre-web
``` ```
@ -153,7 +153,7 @@ Container images are configured using parameters passed at runtime (such as thos
| `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. | | `-e TZ=Europe/London` | Specify a timezone to use EG Europe/London. |
| `-e DOCKER_MODS=linuxserver/calibre-web:calibre` | #optional & **x86-64 only** Adds the ability to perform ebook conversion | | `-e DOCKER_MODS=linuxserver/calibre-web:calibre` | #optional & **x86-64 only** Adds the ability to perform ebook conversion |
| `-v /config` | Where calibre-web stores the internal database and config. | | `-v /config` | Where calibre-web stores the internal database and config. |
| `-v /books` | Where your preexisting calibre database is locate. | | `-v /books` | Where your preexisting calibre database is located. |
## Environment variables from files (Docker secrets) ## Environment variables from files (Docker secrets)
@ -264,6 +264,7 @@ Once registered you can define the dockerfile to use with `-f Dockerfile.aarch64
## Versions ## Versions
* **17.05.21:** - Add linuxserver wheel index.
* **10.02.21:** - Add libxrandr2 * **10.02.21:** - Add libxrandr2
* **25.01.21:** - Add nightly tag * **25.01.21:** - Add nightly tag
* **19.01.21:** - Add python3-pkg-resources * **19.01.21:** - Add python3-pkg-resources

View File

@ -31,8 +31,8 @@ param_env_vars:
- { env_var: "DOCKER_MODS", env_value: "linuxserver/calibre-web:calibre", desc: "#optional & **x86-64 only** Adds the ability to perform ebook conversion"} - { env_var: "DOCKER_MODS", env_value: "linuxserver/calibre-web:calibre", desc: "#optional & **x86-64 only** Adds the ability to perform ebook conversion"}
param_usage_include_vols: true param_usage_include_vols: true
param_volumes: param_volumes:
- { vol_path: "/config", vol_host_path: "<path to data>", desc: "Where calibre-web stores the internal database and config." } - { vol_path: "/config", vol_host_path: "/path/to/data", desc: "Where calibre-web stores the internal database and config." }
- { vol_path: "/books", vol_host_path: "<path to calibre library>", desc: "Where your preexisting calibre database is locate." } - { vol_path: "/books", vol_host_path: "/path/to/calibre/library", desc: "Where your preexisting calibre database is located." }
param_usage_include_ports: true param_usage_include_ports: true
param_ports: param_ports:
- { external_port: "8083", internal_port: "8083", port_desc: "WebUI" } - { external_port: "8083", internal_port: "8083", port_desc: "WebUI" }
@ -77,6 +77,7 @@ app_setup_block: |
# changelog # changelog
changelogs: changelogs:
- { date: "17.05.21:", desc: "Add linuxserver wheel index."}
- { date: "10.02.21:", desc: "Add libxrandr2"} - { date: "10.02.21:", desc: "Add libxrandr2"}
- { date: "25.01.21:", desc: "Add nightly tag"} - { date: "25.01.21:", desc: "Add nightly tag"}
- { date: "19.01.21:", desc: "Add python3-pkg-resources"} - { date: "19.01.21:", desc: "Add python3-pkg-resources"}

View File

@ -2,48 +2,48 @@
# create symlinks for imagemagick policy.xml # create symlinks for imagemagick policy.xml
[[ -f /etc/ImageMagick-6/policy.xml ]] && \ [[ -f /etc/ImageMagick-6/policy.xml ]] && \
rm /etc/ImageMagick-6/policy.xml rm /etc/ImageMagick-6/policy.xml
[[ ! -L /etc/ImageMagick-6/policy.xml ]] && \ [[ ! -L /etc/ImageMagick-6/policy.xml ]] && \
ln -s /defaults/policy.xml /etc/ImageMagick-6/policy.xml ln -s /defaults/policy.xml /etc/ImageMagick-6/policy.xml
# create symlinks for database and log # create symlinks for database and log
[[ ! -f /config/app.db ]] && \ [[ ! -f /config/app.db ]] && \
cp /defaults/app.db /config/app.db cp /defaults/app.db /config/app.db
[[ -f /app/calibre-web/app.db ]] && \ [[ -f /app/calibre-web/app.db ]] && \
rm /app/calibre-web/app.db rm /app/calibre-web/app.db
[[ ! -L /app/calibre-web/app.db ]] && \ [[ ! -L /app/calibre-web/app.db ]] && \
ln -s /config/app.db /app/calibre-web/app.db ln -s /config/app.db /app/calibre-web/app.db
# create symlinks for log # create symlinks for log
[[ ! -f /config/calibre-web.log ]] && \ [[ ! -f /config/calibre-web.log ]] && \
touch /config/calibre-web.log touch /config/calibre-web.log
[[ -f /app/calibre-web/calibre-web.log ]] && \ [[ -f /app/calibre-web/calibre-web.log ]] && \
rm /app/calibre-web/calibre-web.log rm /app/calibre-web/calibre-web.log
[[ ! -L /app/calibre-web/calibre-web.log ]] && \ [[ ! -L /app/calibre-web/calibre-web.log ]] && \
ln -s /config/calibre-web.log /app/calibre-web/calibre-web.log ln -s /config/calibre-web.log /app/calibre-web/calibre-web.log
# create Google drive client_secrets.json file # create Google drive client_secrets.json file
[[ ! -f /config/client_secrets.json ]] && \ [[ ! -f /config/client_secrets.json ]] && \
echo "{}" > /config/client_secrets.json echo "{}" > /config/client_secrets.json
[[ -f /app/calibre-web/client_secrets.json ]] && [[ -f /app/calibre-web/client_secrets.json ]] &&
rm /app/calibre-web/client_secrets.json rm /app/calibre-web/client_secrets.json
[[ ! -L /app/calibre-web/client_secrets.json ]] && [[ ! -L /app/calibre-web/client_secrets.json ]] &&
ln -s /config/client_secrets.json /app/calibre-web/client_secrets.json ln -s /config/client_secrets.json /app/calibre-web/client_secrets.json
# create Google drive symlinks for database # create Google drive symlinks for database
[[ ! -f /config/gdrive.db ]] && \ [[ ! -f /config/gdrive.db ]] && \
cp /app/calibre-web/gdrive.db /config/gdrive.db cp /app/calibre-web/gdrive.db /config/gdrive.db
[[ -f /app/calibre-web/gdrive.db ]] && \ [[ -f /app/calibre-web/gdrive.db ]] && \
rm /app/calibre-web/gdrive.db rm /app/calibre-web/gdrive.db
[[ ! -L /app/calibre-web/gdrive.db ]] && \ [[ ! -L /app/calibre-web/gdrive.db ]] && \
ln -s /config/gdrive.db /app/calibre-web/gdrive.db ln -s /config/gdrive.db /app/calibre-web/gdrive.db
# check if kepubify is present and if so make executable # check if kepubify is present and if so make executable
[[ -f /usr/bin/kepubify ]] && \ [[ -f /usr/bin/kepubify ]] && \
[[ ! -x /usr/bin/kepubify ]] && \ [[ ! -x /usr/bin/kepubify ]] && \
chmod +x /usr/bin/kepubify chmod +x /usr/bin/kepubify
# permissions # permissions
chown -R abc:abc \ chown -R abc:abc \
/config \ /config \
/app/calibre-web /app/calibre-web

View File

@ -3,4 +3,4 @@
cd /app/calibre-web || exit cd /app/calibre-web || exit
exec \ exec \
s6-setuidgid abc python3 /app/calibre-web/cps.py s6-setuidgid abc python3 /app/calibre-web/cps.py