Namespace
johngong
Image / Tag
calibre-web:0.6.26-8.16.2
Content Digest
sha256:e962d60a7da9d24ab863faf25a3cf13c64d45ee8ffcf8ef36dad6567ff7ba2c2
Details
Created

2026-05-13 02:59:53 UTC

Size

549 MB

Content Digest
Environment
CALIBREDB_OTHER_OPTION

CALIBRE_ASCII_FILENAME

true

CALIBRE_CONFIG_DIRECTORY

/config/calibre-server

CALIBRE_DBPATH

/config/calibre-web

CALIBRE_LOCALHOST

true

CALIBRE_PORT

8083

CALIBRE_RECONNECT

true

CALIBRE_SERVER_PASSWORD

CALIBRE_SERVER_PORT

8080

CALIBRE_SERVER_RESTART_AUTO

true

CALIBRE_SERVER_USER

CALIBRE_SERVER_WEB_LANGUAGE

zh_CN

CALIBRE_WEB_LANGUAGE

zh_Hans_CN

DISABLE_AMAZON_SEARCH

false

DISABLE_COMICVINE_SEARCH

false

DISABLE_DOUBAN_SEARCH

false

DISABLE_GOOGLE_SEARCH

false

DISABLE_LUBIMYCZYTAC_SEARCH

false

DISABLE_SCHOLAR_SEARCH

false

ENABLE_AUTOADDBOOKS

true

ENABLE_CALIBREDB_URLLIBRARYPATH

true

ENABLE_CALIBRE_SERVER

false

ENABLE_CALIBRE_SERVER_OPDS

false

ENABLE_CHOWN_LIBRARY

true

ENABLE_FIX_COVER_COLOR

false

GID

1000

HOME

/home/calibre

LANG

C.UTF-8

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

QTWEBENGINE_CHROMIUM_FLAGS

--no-sandbox

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

TZ

Asia/Shanghai

UID

1000


Layers

[#000] sha256:6a0ac1617861a677b045b7ff88545213ec31c0ff08763195a70a4a5adda577bb - 0.67% (3.69 MB)

[#001] sha256:6b548d58b96557488b0d0283b6e46b2580e36095f67d42bdabb710d21dddfba7 - 0.0% (3.22 KB)

[#002] sha256:9df8977d62fd1cc88c628a7537cb5bafd9da60cf77138424bf54b2e3d93daf7c - 99.33% (545 MB)


History
2026-04-15 20:01:40 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.23.4-x86_64.tar.gz / # buildkit

2026-04-15 20:01:40 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG S6_VER=3.2.3.0

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG CALIBRE_WEB_VER=0.6.26

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG CALIBRE_VER=8.16.2

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG KEPUBIFY_VER=4.0.4

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG UNRAR_VERSION=7.2.2

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV UID=1000

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV GID=1000

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_AUTOADDBOOKS=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBRE_SERVER=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBRE_SERVER_OPDS=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBREDB_URLLIBRARYPATH=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_RESTART_AUTO=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_USER=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_PASSWORD=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_WEB_LANGUAGE=zh_CN

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_PORT=8080

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_PORT=8083

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_ASCII_FILENAME=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_WEB_LANGUAGE=zh_Hans_CN

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV TZ=Asia/Shanghai

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBREDB_OTHER_OPTION=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_GOOGLE_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_SCHOLAR_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_AMAZON_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_COMICVINE_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_DOUBAN_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_LUBIMYCZYTAC_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CHOWN_LIBRARY=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV HOME=/home/calibre

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_DBPATH=/config/calibre-web

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_CONFIG_DIRECTORY=/config/calibre-server

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_LOCALHOST=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_RECONNECT=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_FIX_COVER_COLOR=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 root / # buildkit

2026-05-13 02:59:53 UTC (buildkit.dockerfile.v0)

RUN |5 S6_VER=3.2.3.0 CALIBRE_WEB_VER=0.6.26 CALIBRE_VER=8.16.2 KEPUBIFY_VER=4.0.4 UNRAR_VERSION=7.2.2 /bin/sh -c apk upgrade && apk add --no-cache bash ca-certificates shadow tzdata python3 expect ttf-dejavu inotify-tools libldap sqlite xdg-utils font-wqy-zenhei poppler-data jq libstemmer imagemagick py3-gpep517 py3-wheel py3-pip py3-cryptography py3-gevent && pip3 install --no-cache-dir setuptools==82.0.1 --break-system-packages && apk add --no-cache font-liberation libjpeg-turbo-utils libwmf mtdev optipng poppler py3-beautifulsoup4 py3-css-parser py3-cssselect py3-dateutil py3-dnspython py3-feedparser py3-fonttools py3-html2text py3-html5lib py3-jeepney py3-lxml py3-markdown py3-mechanize py3-msgpack py3-netifaces py3-pillow py3-psutil py3-pycryptodome py3-pygments py3-pyqt6-webengine py3-regex py3-xxhash py3-zeroconf qt6-qtimageformats qt6-qtsvg qt6-qtwebengine qt6-qtbase-private-dev udisks2 podofo espeak-ng py3-chardet && apk add --no-cache --virtual builddep cmake curl ffmpeg-dev hunspell-dev hyphen-dev libmtp-dev libstemmer-dev libusb-dev py3-pyqt-builder py3-pyqt6-sip py3-qt6 py3-sip python3-dev qt6-qtbase-dev uchardet-dev xdg-utils podofo-dev espeak-ng-dev build-base rust cargo libffi-dev git openldap-dev libxml2-dev libxslt-dev libjpeg-turbo-dev libevent-dev file cython openssl-dev linux-headers && pip3 install --no-cache-dir apsw html5-parser --break-system-packages && mkdir /tmp/calibre && wget -P /tmp https://download.calibre-ebook.com/${CALIBRE_VER}/calibre-${CALIBRE_VER}.tar.xz && tar -xJf /tmp/calibre-${CALIBRE_VER}.tar.xz -C /tmp/calibre --strip-components=1 && cd /tmp/calibre && wget https://github.com/alpinelinux/aports/raw/refs/tags/v20251224/testing/calibre/0003-calibre-disable-piper.patch && patch -p1 < 0003-calibre-disable-piper.patch && echo -e "\nimport re\r#https://github.com/snomiao/calibre-utf8-path\r# 定义文件名转换函数\rdef re_filename(filename):\r if len(filename) > 80:\r filename = filename[0:80]\r# 替换为空\r return re.sub(r\"[\/\\\\\\\\\\:\*\?\\\"\<\>\|\\\\0]\", \"\", filename)\r" >> src/calibre/db/backend.py && sed -i s/"author = ascii_filename(author"/" author = ascii_filename(author"/g src/calibre/db/backend.py && sed -i s/"title = ascii_filename(title"/" title = ascii_filename(title"/g src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ ascii_filename_set = os.environ.get('CALIBRE_ASCII_FILENAME', 'true')" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ if ascii_filename_set == 'false':" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ author = re_filename(author)[:l]" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ title = re_filename(title.lstrip())[:l].rstrip()" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ else:" src/calibre/db/backend.py && python3 setup.py build && python3 setup.py iso639 && python3 setup.py iso3166 && python3 setup.py liberation_fonts --system-liberation_fonts --path-to-liberation_fonts /usr/share/fonts/liberation && python3 setup.py mathjax && python3 setup.py gui && python3 setup.py install --prefix=/usr/local && mkdir /tmp/unrar && wget -P /tmp https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz && tar xf /tmp/unrarsrc-${UNRAR_VERSION}.tar.gz -C /tmp/unrar --strip-components=1 && cd /tmp/unrar && sed -i 's|LDFLAGS=-pthread|LDFLAGS=-pthread -static|' makefile && sed -i 's|CXXFLAGS=-march=native |CXXFLAGS=|' makefile && make -j $(nproc) && install -v -m755 unrar /usr/bin && /usr/bin/unrar && if [ "$(uname -m)" = "x86_64" ];then s6_arch=x86_64;elif [ "$(uname -m)" = "aarch64" ];then s6_arch=aarch64;elif [ "$(uname -m)" = "armv7l" ];then s6_arch=arm; fi && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-${s6_arch}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${s6_arch}.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-arch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz && wget -P /tmp https://github.com/janeczku/calibre-web/archive/refs/tags/${CALIBRE_WEB_VER}.tar.gz && mkdir -p /usr/local/calibre-web/app && tar xf /tmp/${CALIBRE_WEB_VER}.tar.gz -C /usr/local/calibre-web/app --strip-components=1 && sed -i '/^lxml/d' /usr/local/calibre-web/app/requirements.txt && pip3 install --no-cache-dir -r /usr/local/calibre-web/app/requirements.txt --break-system-packages && pip3 install --no-cache-dir selenium==4.36.0 --break-system-packages && pip3 install --no-cache-dir -r /usr/local/calibre-web/app/optional-requirements.txt --break-system-packages && if [ "$(uname -m)" = "x86_64" ];then kepubify_arch=64bit;elif [ "$(uname -m)" = "aarch64" ];then kepubify_arch=arm64;elif [ "$(uname -m)" = "armv7l" ];then kepubify_arch=arm; fi && wget https://github.com/pgaskin/kepubify/releases/download/v${KEPUBIFY_VER}/kepubify-linux-${kepubify_arch} -O /usr/local/bin/kepubify && chmod 755 /usr/local/bin/kepubify && mkdir -p /home/calibre && useradd -u 1000 -U -d /home/calibre -s /bin/false calibre && usermod -G users calibre && chown -R calibre:calibre /usr/local/calibre-web && apk del builddep && rm -rf /var/cache/apk/* /tmp/* /home/calibre/.c* # buildkit

2026-05-13 02:59:53 UTC (buildkit.dockerfile.v0)

VOLUME [/library /config /autoaddbooks]

2026-05-13 02:59:53 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8083/tcp]

2026-05-13 02:59:53 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Details
Created

2026-05-13 05:19:52 UTC

Size

496 MB

Content Digest
Environment
CALIBREDB_OTHER_OPTION

CALIBRE_ASCII_FILENAME

true

CALIBRE_CONFIG_DIRECTORY

/config/calibre-server

CALIBRE_DBPATH

/config/calibre-web

CALIBRE_LOCALHOST

true

CALIBRE_PORT

8083

CALIBRE_RECONNECT

true

CALIBRE_SERVER_PASSWORD

CALIBRE_SERVER_PORT

8080

CALIBRE_SERVER_RESTART_AUTO

true

CALIBRE_SERVER_USER

CALIBRE_SERVER_WEB_LANGUAGE

zh_CN

CALIBRE_WEB_LANGUAGE

zh_Hans_CN

DISABLE_AMAZON_SEARCH

false

DISABLE_COMICVINE_SEARCH

false

DISABLE_DOUBAN_SEARCH

false

DISABLE_GOOGLE_SEARCH

false

DISABLE_LUBIMYCZYTAC_SEARCH

false

DISABLE_SCHOLAR_SEARCH

false

ENABLE_AUTOADDBOOKS

true

ENABLE_CALIBREDB_URLLIBRARYPATH

true

ENABLE_CALIBRE_SERVER

false

ENABLE_CALIBRE_SERVER_OPDS

false

ENABLE_CHOWN_LIBRARY

true

ENABLE_FIX_COVER_COLOR

false

GID

1000

HOME

/home/calibre

LANG

C.UTF-8

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

QTWEBENGINE_CHROMIUM_FLAGS

--no-sandbox

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

TZ

Asia/Shanghai

UID

1000


Layers

[#000] sha256:c160e404c59d6d30c66a0d74bbd17337f178f5d898a9908e18c71ce3bbe28c99 - 0.63% (3.13 MB)

[#001] sha256:6b548d58b96557488b0d0283b6e46b2580e36095f67d42bdabb710d21dddfba7 - 0.0% (3.22 KB)

[#002] sha256:3af017edaef91e735358efda4789bd769cb4ddf2fede8a2a0efefa4b5d36347f - 99.37% (493 MB)


History
2026-04-15 20:01:47 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.23.4-armv7.tar.gz / # buildkit

2026-04-15 20:01:47 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG S6_VER=3.2.3.0

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG CALIBRE_WEB_VER=0.6.26

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG CALIBRE_VER=8.16.2

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG KEPUBIFY_VER=4.0.4

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG UNRAR_VERSION=7.2.2

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV UID=1000

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV GID=1000

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_AUTOADDBOOKS=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBRE_SERVER=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBRE_SERVER_OPDS=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBREDB_URLLIBRARYPATH=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_RESTART_AUTO=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_USER=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_PASSWORD=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_WEB_LANGUAGE=zh_CN

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_PORT=8080

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_PORT=8083

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_ASCII_FILENAME=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_WEB_LANGUAGE=zh_Hans_CN

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV TZ=Asia/Shanghai

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBREDB_OTHER_OPTION=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_GOOGLE_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_SCHOLAR_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_AMAZON_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_COMICVINE_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_DOUBAN_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_LUBIMYCZYTAC_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CHOWN_LIBRARY=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV HOME=/home/calibre

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_DBPATH=/config/calibre-web

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_CONFIG_DIRECTORY=/config/calibre-server

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_LOCALHOST=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_RECONNECT=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_FIX_COVER_COLOR=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 root / # buildkit

2026-05-13 05:19:52 UTC (buildkit.dockerfile.v0)

RUN |5 S6_VER=3.2.3.0 CALIBRE_WEB_VER=0.6.26 CALIBRE_VER=8.16.2 KEPUBIFY_VER=4.0.4 UNRAR_VERSION=7.2.2 /bin/sh -c apk upgrade && apk add --no-cache bash ca-certificates shadow tzdata python3 expect ttf-dejavu inotify-tools libldap sqlite xdg-utils font-wqy-zenhei poppler-data jq libstemmer imagemagick py3-gpep517 py3-wheel py3-pip py3-cryptography py3-gevent && pip3 install --no-cache-dir setuptools==82.0.1 --break-system-packages && apk add --no-cache font-liberation libjpeg-turbo-utils libwmf mtdev optipng poppler py3-beautifulsoup4 py3-css-parser py3-cssselect py3-dateutil py3-dnspython py3-feedparser py3-fonttools py3-html2text py3-html5lib py3-jeepney py3-lxml py3-markdown py3-mechanize py3-msgpack py3-netifaces py3-pillow py3-psutil py3-pycryptodome py3-pygments py3-pyqt6-webengine py3-regex py3-xxhash py3-zeroconf qt6-qtimageformats qt6-qtsvg qt6-qtwebengine qt6-qtbase-private-dev udisks2 podofo espeak-ng py3-chardet && apk add --no-cache --virtual builddep cmake curl ffmpeg-dev hunspell-dev hyphen-dev libmtp-dev libstemmer-dev libusb-dev py3-pyqt-builder py3-pyqt6-sip py3-qt6 py3-sip python3-dev qt6-qtbase-dev uchardet-dev xdg-utils podofo-dev espeak-ng-dev build-base rust cargo libffi-dev git openldap-dev libxml2-dev libxslt-dev libjpeg-turbo-dev libevent-dev file cython openssl-dev linux-headers && pip3 install --no-cache-dir apsw html5-parser --break-system-packages && mkdir /tmp/calibre && wget -P /tmp https://download.calibre-ebook.com/${CALIBRE_VER}/calibre-${CALIBRE_VER}.tar.xz && tar -xJf /tmp/calibre-${CALIBRE_VER}.tar.xz -C /tmp/calibre --strip-components=1 && cd /tmp/calibre && wget https://github.com/alpinelinux/aports/raw/refs/tags/v20251224/testing/calibre/0003-calibre-disable-piper.patch && patch -p1 < 0003-calibre-disable-piper.patch && echo -e "\nimport re\r#https://github.com/snomiao/calibre-utf8-path\r# 定义文件名转换函数\rdef re_filename(filename):\r if len(filename) > 80:\r filename = filename[0:80]\r# 替换为空\r return re.sub(r\"[\/\\\\\\\\\\:\*\?\\\"\<\>\|\\\\0]\", \"\", filename)\r" >> src/calibre/db/backend.py && sed -i s/"author = ascii_filename(author"/" author = ascii_filename(author"/g src/calibre/db/backend.py && sed -i s/"title = ascii_filename(title"/" title = ascii_filename(title"/g src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ ascii_filename_set = os.environ.get('CALIBRE_ASCII_FILENAME', 'true')" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ if ascii_filename_set == 'false':" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ author = re_filename(author)[:l]" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ title = re_filename(title.lstrip())[:l].rstrip()" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ else:" src/calibre/db/backend.py && python3 setup.py build && python3 setup.py iso639 && python3 setup.py iso3166 && python3 setup.py liberation_fonts --system-liberation_fonts --path-to-liberation_fonts /usr/share/fonts/liberation && python3 setup.py mathjax && python3 setup.py gui && python3 setup.py install --prefix=/usr/local && mkdir /tmp/unrar && wget -P /tmp https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz && tar xf /tmp/unrarsrc-${UNRAR_VERSION}.tar.gz -C /tmp/unrar --strip-components=1 && cd /tmp/unrar && sed -i 's|LDFLAGS=-pthread|LDFLAGS=-pthread -static|' makefile && sed -i 's|CXXFLAGS=-march=native |CXXFLAGS=|' makefile && make -j $(nproc) && install -v -m755 unrar /usr/bin && /usr/bin/unrar && if [ "$(uname -m)" = "x86_64" ];then s6_arch=x86_64;elif [ "$(uname -m)" = "aarch64" ];then s6_arch=aarch64;elif [ "$(uname -m)" = "armv7l" ];then s6_arch=arm; fi && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-${s6_arch}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${s6_arch}.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-arch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz && wget -P /tmp https://github.com/janeczku/calibre-web/archive/refs/tags/${CALIBRE_WEB_VER}.tar.gz && mkdir -p /usr/local/calibre-web/app && tar xf /tmp/${CALIBRE_WEB_VER}.tar.gz -C /usr/local/calibre-web/app --strip-components=1 && sed -i '/^lxml/d' /usr/local/calibre-web/app/requirements.txt && pip3 install --no-cache-dir -r /usr/local/calibre-web/app/requirements.txt --break-system-packages && pip3 install --no-cache-dir selenium==4.36.0 --break-system-packages && pip3 install --no-cache-dir -r /usr/local/calibre-web/app/optional-requirements.txt --break-system-packages && if [ "$(uname -m)" = "x86_64" ];then kepubify_arch=64bit;elif [ "$(uname -m)" = "aarch64" ];then kepubify_arch=arm64;elif [ "$(uname -m)" = "armv7l" ];then kepubify_arch=arm; fi && wget https://github.com/pgaskin/kepubify/releases/download/v${KEPUBIFY_VER}/kepubify-linux-${kepubify_arch} -O /usr/local/bin/kepubify && chmod 755 /usr/local/bin/kepubify && mkdir -p /home/calibre && useradd -u 1000 -U -d /home/calibre -s /bin/false calibre && usermod -G users calibre && chown -R calibre:calibre /usr/local/calibre-web && apk del builddep && rm -rf /var/cache/apk/* /tmp/* /home/calibre/.c* # buildkit

2026-05-13 05:19:52 UTC (buildkit.dockerfile.v0)

VOLUME [/library /config /autoaddbooks]

2026-05-13 05:19:52 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8083/tcp]

2026-05-13 05:19:52 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Details
Created

2026-05-13 03:57:40 UTC

Size

530 MB

Content Digest
Environment
CALIBREDB_OTHER_OPTION

CALIBRE_ASCII_FILENAME

true

CALIBRE_CONFIG_DIRECTORY

/config/calibre-server

CALIBRE_DBPATH

/config/calibre-web

CALIBRE_LOCALHOST

true

CALIBRE_PORT

8083

CALIBRE_RECONNECT

true

CALIBRE_SERVER_PASSWORD

CALIBRE_SERVER_PORT

8080

CALIBRE_SERVER_RESTART_AUTO

true

CALIBRE_SERVER_USER

CALIBRE_SERVER_WEB_LANGUAGE

zh_CN

CALIBRE_WEB_LANGUAGE

zh_Hans_CN

DISABLE_AMAZON_SEARCH

false

DISABLE_COMICVINE_SEARCH

false

DISABLE_DOUBAN_SEARCH

false

DISABLE_GOOGLE_SEARCH

false

DISABLE_LUBIMYCZYTAC_SEARCH

false

DISABLE_SCHOLAR_SEARCH

false

ENABLE_AUTOADDBOOKS

true

ENABLE_CALIBREDB_URLLIBRARYPATH

true

ENABLE_CALIBRE_SERVER

false

ENABLE_CALIBRE_SERVER_OPDS

false

ENABLE_CHOWN_LIBRARY

true

ENABLE_FIX_COVER_COLOR

false

GID

1000

HOME

/home/calibre

LANG

C.UTF-8

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

QTWEBENGINE_CHROMIUM_FLAGS

--no-sandbox

S6_CMD_WAIT_FOR_SERVICES_MAXTIME

0

TZ

Asia/Shanghai

UID

1000


Layers

[#000] sha256:d17f077ada118cc762df373ff803592abf2dfa3ddafaa7381e364dd27a88fca7 - 0.76% (4.01 MB)

[#001] sha256:6b548d58b96557488b0d0283b6e46b2580e36095f67d42bdabb710d21dddfba7 - 0.0% (3.22 KB)

[#002] sha256:3212b80f97c45aa984b5d2550892ed620957d752f11e15e1c74e9f53d13ca2bd - 99.24% (526 MB)


History
2026-04-15 20:01:25 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.23.4-aarch64.tar.gz / # buildkit

2026-04-15 20:01:25 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG S6_VER=3.2.3.0

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG CALIBRE_WEB_VER=0.6.26

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG CALIBRE_VER=8.16.2

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG KEPUBIFY_VER=4.0.4

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ARG UNRAR_VERSION=7.2.2

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV UID=1000

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV GID=1000

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_AUTOADDBOOKS=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBRE_SERVER=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBRE_SERVER_OPDS=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CALIBREDB_URLLIBRARYPATH=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_RESTART_AUTO=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_USER=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_PASSWORD=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_WEB_LANGUAGE=zh_CN

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_SERVER_PORT=8080

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_PORT=8083

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_ASCII_FILENAME=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_WEB_LANGUAGE=zh_Hans_CN

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV TZ=Asia/Shanghai

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBREDB_OTHER_OPTION=

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_GOOGLE_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_SCHOLAR_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_AMAZON_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_COMICVINE_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_DOUBAN_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV DISABLE_LUBIMYCZYTAC_SEARCH=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_CHOWN_LIBRARY=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV HOME=/home/calibre

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV QTWEBENGINE_CHROMIUM_FLAGS=--no-sandbox

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_DBPATH=/config/calibre-web

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_CONFIG_DIRECTORY=/config/calibre-server

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_LOCALHOST=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV CALIBRE_RECONNECT=true

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV ENABLE_FIX_COVER_COLOR=false

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

ENV S6_CMD_WAIT_FOR_SERVICES_MAXTIME=0

2026-05-13 02:54:26 UTC (buildkit.dockerfile.v0)

COPY --chmod=755 root / # buildkit

2026-05-13 03:57:40 UTC (buildkit.dockerfile.v0)

RUN |5 S6_VER=3.2.3.0 CALIBRE_WEB_VER=0.6.26 CALIBRE_VER=8.16.2 KEPUBIFY_VER=4.0.4 UNRAR_VERSION=7.2.2 /bin/sh -c apk upgrade && apk add --no-cache bash ca-certificates shadow tzdata python3 expect ttf-dejavu inotify-tools libldap sqlite xdg-utils font-wqy-zenhei poppler-data jq libstemmer imagemagick py3-gpep517 py3-wheel py3-pip py3-cryptography py3-gevent && pip3 install --no-cache-dir setuptools==82.0.1 --break-system-packages && apk add --no-cache font-liberation libjpeg-turbo-utils libwmf mtdev optipng poppler py3-beautifulsoup4 py3-css-parser py3-cssselect py3-dateutil py3-dnspython py3-feedparser py3-fonttools py3-html2text py3-html5lib py3-jeepney py3-lxml py3-markdown py3-mechanize py3-msgpack py3-netifaces py3-pillow py3-psutil py3-pycryptodome py3-pygments py3-pyqt6-webengine py3-regex py3-xxhash py3-zeroconf qt6-qtimageformats qt6-qtsvg qt6-qtwebengine qt6-qtbase-private-dev udisks2 podofo espeak-ng py3-chardet && apk add --no-cache --virtual builddep cmake curl ffmpeg-dev hunspell-dev hyphen-dev libmtp-dev libstemmer-dev libusb-dev py3-pyqt-builder py3-pyqt6-sip py3-qt6 py3-sip python3-dev qt6-qtbase-dev uchardet-dev xdg-utils podofo-dev espeak-ng-dev build-base rust cargo libffi-dev git openldap-dev libxml2-dev libxslt-dev libjpeg-turbo-dev libevent-dev file cython openssl-dev linux-headers && pip3 install --no-cache-dir apsw html5-parser --break-system-packages && mkdir /tmp/calibre && wget -P /tmp https://download.calibre-ebook.com/${CALIBRE_VER}/calibre-${CALIBRE_VER}.tar.xz && tar -xJf /tmp/calibre-${CALIBRE_VER}.tar.xz -C /tmp/calibre --strip-components=1 && cd /tmp/calibre && wget https://github.com/alpinelinux/aports/raw/refs/tags/v20251224/testing/calibre/0003-calibre-disable-piper.patch && patch -p1 < 0003-calibre-disable-piper.patch && echo -e "\nimport re\r#https://github.com/snomiao/calibre-utf8-path\r# 定义文件名转换函数\rdef re_filename(filename):\r if len(filename) > 80:\r filename = filename[0:80]\r# 替换为空\r return re.sub(r\"[\/\\\\\\\\\\:\*\?\\\"\<\>\|\\\\0]\", \"\", filename)\r" >> src/calibre/db/backend.py && sed -i s/"author = ascii_filename(author"/" author = ascii_filename(author"/g src/calibre/db/backend.py && sed -i s/"title = ascii_filename(title"/" title = ascii_filename(title"/g src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ ascii_filename_set = os.environ.get('CALIBRE_ASCII_FILENAME', 'true')" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ if ascii_filename_set == 'false':" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ author = re_filename(author)[:l]" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ title = re_filename(title.lstrip())[:l].rstrip()" src/calibre/db/backend.py && sed -i "/author = ascii_filename(author/i\ else:" src/calibre/db/backend.py && python3 setup.py build && python3 setup.py iso639 && python3 setup.py iso3166 && python3 setup.py liberation_fonts --system-liberation_fonts --path-to-liberation_fonts /usr/share/fonts/liberation && python3 setup.py mathjax && python3 setup.py gui && python3 setup.py install --prefix=/usr/local && mkdir /tmp/unrar && wget -P /tmp https://www.rarlab.com/rar/unrarsrc-${UNRAR_VERSION}.tar.gz && tar xf /tmp/unrarsrc-${UNRAR_VERSION}.tar.gz -C /tmp/unrar --strip-components=1 && cd /tmp/unrar && sed -i 's|LDFLAGS=-pthread|LDFLAGS=-pthread -static|' makefile && sed -i 's|CXXFLAGS=-march=native |CXXFLAGS=|' makefile && make -j $(nproc) && install -v -m755 unrar /usr/bin && /usr/bin/unrar && if [ "$(uname -m)" = "x86_64" ];then s6_arch=x86_64;elif [ "$(uname -m)" = "aarch64" ];then s6_arch=aarch64;elif [ "$(uname -m)" = "armv7l" ];then s6_arch=arm; fi && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-noarch.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-${s6_arch}.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-${s6_arch}.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-noarch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-symlinks-noarch.tar.xz && wget -P /tmp https://github.com/just-containers/s6-overlay/releases/download/v${S6_VER}/s6-overlay-symlinks-arch.tar.xz && tar -C / -Jxpf /tmp/s6-overlay-symlinks-arch.tar.xz && wget -P /tmp https://github.com/janeczku/calibre-web/archive/refs/tags/${CALIBRE_WEB_VER}.tar.gz && mkdir -p /usr/local/calibre-web/app && tar xf /tmp/${CALIBRE_WEB_VER}.tar.gz -C /usr/local/calibre-web/app --strip-components=1 && sed -i '/^lxml/d' /usr/local/calibre-web/app/requirements.txt && pip3 install --no-cache-dir -r /usr/local/calibre-web/app/requirements.txt --break-system-packages && pip3 install --no-cache-dir selenium==4.36.0 --break-system-packages && pip3 install --no-cache-dir -r /usr/local/calibre-web/app/optional-requirements.txt --break-system-packages && if [ "$(uname -m)" = "x86_64" ];then kepubify_arch=64bit;elif [ "$(uname -m)" = "aarch64" ];then kepubify_arch=arm64;elif [ "$(uname -m)" = "armv7l" ];then kepubify_arch=arm; fi && wget https://github.com/pgaskin/kepubify/releases/download/v${KEPUBIFY_VER}/kepubify-linux-${kepubify_arch} -O /usr/local/bin/kepubify && chmod 755 /usr/local/bin/kepubify && mkdir -p /home/calibre && useradd -u 1000 -U -d /home/calibre -s /bin/false calibre && usermod -G users calibre && chown -R calibre:calibre /usr/local/calibre-web && apk del builddep && rm -rf /var/cache/apk/* /tmp/* /home/calibre/.c* # buildkit

2026-05-13 03:57:40 UTC (buildkit.dockerfile.v0)

VOLUME [/library /config /autoaddbooks]

2026-05-13 03:57:40 UTC (buildkit.dockerfile.v0)

EXPOSE [8080/tcp 8083/tcp]

2026-05-13 03:57:40 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/init"]

Danger Zone
Delete Tag

Please be careful as this will not just delete the reference but also the actual content!

For example when you have latest and v1.2.3 both pointing to the same image
the deletion of latest will also permanently remove v1.2.3.

Delete