logo
ghcr.io/bookorbit/bookorbit:3.7.0
linux/amd64 ghcr.io tifacloud_1760493 贡献
22
浏览次数
935.77MB
镜像大小
国内镜像
swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0
源镜像
ghcr.io/bookorbit/bookorbit:3.7.0
镜像ID
sha256:964f0eaf59edcf541882286c70202a1e354f33b4ce680cca2cf46afba8164a94
镜像 TAG
3.7.0
镜像大小
935.77MB
平台架构
linux/amd64
镜像源
ghcr.io
CMD
sh /app/entrypoint.sh
启动入口
/sbin/tini -s --
工作目录
/app
OS/平台
linux/amd64
镜像创建
2026-11-08T04:20:00.221209805Z
同步时间
2026-11-09 22:36
浏览量
22 次
贡献者
avatar tifacloud_1760493
🔌 开放端口 1
3000/tcp
⚙️ 环境变量 7
KeyValue
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin 0
NODE_VERSION=26.12.1 1
APP_VERSION=v3.7.0 2
KOBO_CLOUDSCRAPER_PYTHON=/opt/bookorbit-python/bin/python 3
KOREADER_PLUGIN_PATH=/app/koreader-plugin/bookorbit.koplugin 4
NODE_ENV=production 5
PORT=3000 6
🏷️ 镜像标签 10
KeyValue
Dockerfile com.docker.image.source.entrypoint
2026-11-08T04:18:23Z org.opencontainers.image.created
Self-hosted library management and reading platform for ebooks, PDFs, audiobooks, and comics org.opencontainers.image.description
https://github.com/bookorbit/bookorbit#quick-start-docker org.opencontainers.image.documentation
AGPL-3.0-only org.opencontainers.image.licenses
6f8f5f4818eb737dc4d78fc5b5294fc3adb26860 org.opencontainers.image.revision
https://github.com/bookorbit/bookorbit org.opencontainers.image.source
BookOrbit org.opencontainers.image.title
https://bookorbit.app org.opencontainers.image.url
v3.7.0 org.opencontainers.image.version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0  ghcr.io/bookorbit/bookorbit:3.7.0

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0  ghcr.io/bookorbit/bookorbit:3.7.0

Shell快速替换命令

sed -i 's#ghcr.io/bookorbit/bookorbit:3.7.0#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0 && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0  ghcr.io/bookorbit/bookorbit:3.7.0'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0 && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0  ghcr.io/bookorbit/bookorbit:3.7.0'

镜像构建历史


# 2026-11-08 12:20:00  0.00B 添加元数据标签
LABEL org.opencontainers.image.title=BookOrbit org.opencontainers.image.description=Self-hosted library management and reading platform for ebooks, PDFs, audiobooks, and comics org.opencontainers.image.url=https://bookorbit.app org.opencontainers.image.documentation=https://github.com/bookorbit/bookorbit#quick-start-docker org.opencontainers.image.source=https://github.com/bookorbit/bookorbit org.opencontainers.image.licenses=AGPL-3.0-only org.opencontainers.image.version=v3.7.0
                        
# 2026-11-08 12:20:00  0.00B 设置默认要执行的命令
CMD ["sh" "/app/entrypoint.sh"]
                        
# 2026-11-08 12:20:00  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["/sbin/tini" "-s" "--"]
                        
# 2026-11-08 12:20:00  0.00B 指定检查容器健康状态的命令
HEALTHCHECK {Test:[CMD-SHELL host="$(printf '%s' "${HOST:-}" | tr -d '[:space:]')";       case "$host" in         ''|0.0.0.0) host=127.0.0.1 ;;         ::) host='[::1]' ;;         *:*) host="[$host]" ;;       esac;       wget -q -T 4 -O /dev/null "http://${host}:${PORT:-3000}/api/v1/health"] Interval:30s Timeout:5s StartPeriod:20s StartInterval:0s Retries:3}
                        
# 2026-11-08 12:20:00  0.00B 声明容器运行时监听的端口
EXPOSE [3000/tcp]
                        
# 2026-11-08 12:20:00  6.84KB 执行命令并创建新的镜像层
RUN |1 APP_VERSION=v3.7.0 /bin/sh -c sed -i 's/\r$//' /app/entrypoint.sh /app/file-env.sh && chmod +x /app/entrypoint.sh /app/bin/kepubify/* && mkdir -p /books /data/covers /data/book-bucket /tmp && chown -R node:node /data /tmp # buildkit
                        
# 2026-11-08 12:19:59  2.21MB 复制新文件或目录到容器中
COPY --chown=node:node koreader-plugin/bookorbit.koplugin/ ./koreader-plugin/bookorbit.koplugin/ # buildkit
                        
# 2026-11-08 12:19:59  24.95MB 复制新文件或目录到容器中
COPY --chown=node:node server/bin/kepubify/ ./bin/kepubify/ # buildkit
                        
# 2026-11-08 12:19:59  38.49KB 复制新文件或目录到容器中
COPY --chown=node:node LICENSE NOTICE ADDITIONAL_TERMS.md ./ # buildkit
                        
# 2026-11-08 12:19:59  6.84KB 复制新文件或目录到容器中
COPY --chown=node:node /app/server/entrypoint.sh /app/server/file-env.sh ./ # buildkit
                        
# 2026-11-08 12:19:59  14.64MB 复制新文件或目录到容器中
COPY --chown=node:node /app/client/src/locales ./locales # buildkit
                        
# 2026-11-08 12:19:59  27.79MB 复制新文件或目录到容器中
COPY --chown=node:node /app/client/dist ./public # buildkit
                        
# 2026-11-08 12:19:48  432.16MB 复制新文件或目录到容器中
COPY --chown=node:node /deploy ./ # buildkit
                        
# 2026-11-08 12:19:25  0.00B 设置环境变量 PORT
ENV PORT=3000
                        
# 2026-11-08 12:19:25  0.00B 设置环境变量 NODE_ENV
ENV NODE_ENV=production
                        
# 2026-11-08 12:19:25  254.55MB 执行命令并创建新的镜像层
RUN |1 APP_VERSION=v3.7.0 /bin/sh -c apk upgrade --no-cache &&     apk add --no-cache 'libexpat>=2.9.0-r0' poppler-utils djvulibre util-linux su-exec ffmpeg python3 py3-pip tini tzdata &&     python3 -m venv /opt/bookorbit-python &&     /opt/bookorbit-python/bin/python -m pip install --no-cache-dir -r /tmp/kobo-cloudscraper-requirements.txt &&     /opt/bookorbit-python/bin/python -m pip uninstall -y pip &&     apk del py3-pip &&     rm -f /tmp/kobo-cloudscraper-requirements.txt &&     rm -rf /usr/local/lib/node_modules/npm /usr/local/bin/npm /usr/local/bin/npx # buildkit
                        
# 2026-11-02 13:41:59  29.00B 复制新文件或目录到容器中
COPY server/requirements/kobo-cloudscraper.txt /tmp/kobo-cloudscraper-requirements.txt # buildkit
                        
# 2026-11-02 13:41:59  0.00B 设置环境变量 KOREADER_PLUGIN_PATH
ENV KOREADER_PLUGIN_PATH=/app/koreader-plugin/bookorbit.koplugin
                        
# 2026-11-02 13:41:59  0.00B 设置环境变量 KOBO_CLOUDSCRAPER_PYTHON
ENV KOBO_CLOUDSCRAPER_PYTHON=/opt/bookorbit-python/bin/python
                        
# 2026-11-02 13:41:59  0.00B 设置环境变量 APP_VERSION
ENV APP_VERSION=v3.7.0
                        
# 2026-11-02 13:41:59  0.00B 定义构建参数
ARG APP_VERSION=v3.7.0
                        
# 2026-11-02 13:41:59  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-10-22 05:25:33  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-10-22 05:25:33  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-10-22 05:25:33  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-10-22 05:25:33  171.00MB 执行命令并创建新的镜像层
RUN /bin/sh -c addgroup -g 1000 node     && adduser -u 1000 -G node -s /bin/sh -D node     && apk add --no-cache         libatomic         libstdc++     && apk add --no-cache --virtual .build-deps         gnupg         curl     && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)"       && case "${alpineArch##*-}" in         x86_64) ARCH='x64' OPENSSL_ARCH=linux-x86_64;;         aarch64) OPENSSL_ARCH=linux-aarch64;;         *) echo "unsupported architecture"; exit 1 ;;       esac     && export GNUPGHOME="$(mktemp -d)"     && set -ex     && for key in       5BE8A3F6C8A5C01D106C0AD820B1A390B168D356       DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7       CC68F5A3106FF448322E48ED27F5E38D5B0A215F       890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4       C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C       108F52B48DB57BB0CC439B2997B01419BD92F80A       655F3B5C1FB3FA8D1A0CA6BDE4A7D232B936D2FD       A363A499291CBBC940DD62E41F10027AF002F8B0     ; do         { gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ||         { gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key" && gpg --batch --fingerprint "$key"; } ;     done   && if [ "$ARCH" = "x64" ]; then     curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"     && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc"     && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc     && gpgconf --kill all     && rm -rf "$GNUPGHOME"     && grep " node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz\$" SHASUMS256.txt | sha256sum -c -     && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner     && rm "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt     && ln -s /usr/local/bin/node /usr/local/bin/nodejs;   else     echo "Building from source"     && apk add --no-cache --virtual .build-deps-full         binutils-gold         g++         gcc         libgcc         linux-headers         make         python3         py-setuptools         rust         cargo     && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION.tar.xz"     && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/SHASUMS256.txt.asc"     && gpg --batch --decrypt --output SHASUMS256.txt SHASUMS256.txt.asc     && gpgconf --kill all     && rm -rf "$GNUPGHOME"     && grep " node-v$NODE_VERSION.tar.xz\$" SHASUMS256.txt | sha256sum -c -     && tar -xf "node-v$NODE_VERSION.tar.xz"     && cd "node-v$NODE_VERSION"     && ./configure     && make -j$(getconf _NPROCESSORS_ONLN) V=     && make install     && apk del .build-deps-full     && cd ..     && rm -Rf "node-v$NODE_VERSION"     && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt;   fi   && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \;   && apk del .build-deps   && node --version   && npm --version   && rm -rf /tmp/* # buildkit
                        
# 2026-10-22 05:25:33  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=26.12.1
                        
# 2026-10-22 04:46:55  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-10-22 04:46:55  8.42MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.7-x86_64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:964f0eaf59edcf541882286c70202a1e354f33b4ce680cca2cf46afba8164a94",
    "RepoTags": [
        "ghcr.io/bookorbit/bookorbit:3.7.0",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit:3.7.0"
    ],
    "RepoDigests": [
        "ghcr.io/bookorbit/bookorbit@sha256:0d5f4a31576a2bcd96afa77b8eac75c3b8df395f0f9b9215995de59236f22b95",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/bookorbit/bookorbit@sha256:05a0a5bfe96a134cb117505ec6b33991d58d52663241a975a68e59c1054c04ba"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-11-08T04:20:00.221209805Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "3000/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=26.12.1",
            "APP_VERSION=v3.7.0",
            "KOBO_CLOUDSCRAPER_PYTHON=/opt/bookorbit-python/bin/python",
            "KOREADER_PLUGIN_PATH=/app/koreader-plugin/bookorbit.koplugin",
            "NODE_ENV=production",
            "PORT=3000"
        ],
        "Cmd": [
            "sh",
            "/app/entrypoint.sh"
        ],
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "host=\"$(printf '%s' \"${HOST:-}\" | tr -d '[:space:]')\";       case \"$host\" in         ''|0.0.0.0) host=127.0.0.1 ;;         ::) host='[::1]' ;;         *:*) host=\"[$host]\" ;;       esac;       wget -q -T 4 -O /dev/null \"http://${host}:${PORT:-3000}/api/v1/health\""
            ],
            "Interval": 30000000000,
            "Timeout": 5000000000,
            "StartPeriod": 20000000000,
            "Retries": 3
        },
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/app",
        "Entrypoint": [
            "/sbin/tini",
            "-s",
            "--"
        ],
        "OnBuild": null,
        "Labels": {
            "com.docker.image.source.entrypoint": "Dockerfile",
            "org.opencontainers.image.created": "2026-11-08T04:18:23Z",
            "org.opencontainers.image.description": "Self-hosted library management and reading platform for ebooks, PDFs, audiobooks, and comics",
            "org.opencontainers.image.documentation": "https://github.com/bookorbit/bookorbit#quick-start-docker",
            "org.opencontainers.image.licenses": "AGPL-3.0-only",
            "org.opencontainers.image.revision": "6f8f5f4818eb737dc4d78fc5b5294fc3adb26860",
            "org.opencontainers.image.source": "https://github.com/bookorbit/bookorbit",
            "org.opencontainers.image.title": "BookOrbit",
            "org.opencontainers.image.url": "https://bookorbit.app",
            "org.opencontainers.image.version": "v3.7.0"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 935772474,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/5e174fb47fb240bf9e6968b432bd524622d996cba010e90cd094ee8407359788/diff:/var/lib/docker/overlay2/49cb1591d8854cabc825a7a2bb4a584e169f38368e5bf3c61a908a71e5cb69d4/diff:/var/lib/docker/overlay2/b5192cc92f3cfe9a757a139e84b63f59328e06aba9143cef07b9f5cb0fcce146/diff:/var/lib/docker/overlay2/a3e200fe5c36dc64db6103b98f948e9810ce5753e8d140afcf6ba1e2a4f07c25/diff:/var/lib/docker/overlay2/0e346565daa4f6a533dfcd9ee64edca4e60fc699b489c10820d61e05c59bb658/diff:/var/lib/docker/overlay2/f9553ae03ef3afb1572e837e7b33b5896207080c7e79bc574bae94838c62fe8c/diff:/var/lib/docker/overlay2/9dc2d5d343f1ac1c8dfc3303ee8a51d2dc7511fbc16591133c87a9e81a681d5f/diff:/var/lib/docker/overlay2/dc712836d74e56b12e3bfa03f1882b5805e8b3a37a09a6b18d39a1de10b9fb79/diff:/var/lib/docker/overlay2/8093084ed6db9fcea9585bd1672d8d34e508f61b53027932e86e0a1f54d3c570/diff:/var/lib/docker/overlay2/4f823327be00f12715204edfabc8af1a0f5bedd06776ac260af79312a5e3ec46/diff:/var/lib/docker/overlay2/58a8a7350d79784b7e777c9601c36789d6ff1d4846d1de71218edeb941e73151/diff:/var/lib/docker/overlay2/50288430c15c9e0631632da567b0dab043e39a5203c545369a527820686b334c/diff:/var/lib/docker/overlay2/75ac7f75a42bfdbbdde9f5163efc3c54ca364c62a28b1f13d2c0b13ada009bd7/diff",
            "MergedDir": "/var/lib/docker/overlay2/17601912b6bb40cdc290f19c8346da283dac1800c50b611f026b1558f6efe8af/merged",
            "UpperDir": "/var/lib/docker/overlay2/17601912b6bb40cdc290f19c8346da283dac1800c50b611f026b1558f6efe8af/diff",
            "WorkDir": "/var/lib/docker/overlay2/17601912b6bb40cdc290f19c8346da283dac1800c50b611f026b1558f6efe8af/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:54ea9baa1bbd7651dbda5c61569dad60fa601c73e5b784e154e8ba0f314e84fd",
            "sha256:ef8686505b68db842be5de885d195497716dac93d3cb5224b7b85a997fbfa2a6",
            "sha256:6f6adff4871b4bdc43b3604fc9876d62ce3ad5d92cd20ec7d8c9a11e9a0cf8a5",
            "sha256:d99bd7ac4a5f3ddcf57da50768dbea1c257dc4275d61e7434e6e891aa86deb69",
            "sha256:ef383678c7fe8187e2d00b03b25746800313390e1950999835f04d79a2d2a069",
            "sha256:1c95bd2ab6553a3b94eb7ddb13c4fd342c0685a331909e5294be1c3ea43338b1",
            "sha256:0ef179385e998c5d3865d95cc9962dee0cff9f0bc86c2340c920fc28984c01fa",
            "sha256:fc220351c7d4c7024ca6559e9e9b4b773d77d265f2679b8107a058baa78151cc",
            "sha256:e0f2d62aa631787f6fb322d924a20923b681167f07ba5466e7ee0acf1c9ed8ce",
            "sha256:5ba75a66c46cba20c10afaad3cd8a7755ad00aa9c3443f01fbf45a7725410a0c",
            "sha256:ebe322165dc49cdfc01e71a1952b9b03637c9a9eeba6a625319af9f2d35e0275",
            "sha256:fd3fd7f6955106e3c18f9054c4afde17ee80622855184c9fbc461acfe3d0b7c1",
            "sha256:ec9688491dedcedefc7378b7a8fd26728be8bd6544aefe879ec58ca30ecffc39",
            "sha256:40e52db2fb57b95d18bb5e3485fd157896390ea7d9ab82d5534a7dc6cb04ce33"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-11-09T22:36:26.478455341+08:00"
    }
}

更多版本

ghcr.io/bookorbit/bookorbit:3.7.0

linux/amd64 ghcr.io935.77MB2026-11-09 22:36
21

ghcr.io/bookorbit/bookorbit:latest

linux/amd64 ghcr.io856.86MB2026-10-08 15:31
232
检测到您正在使用广告拦截插件,本站为公益站点,依赖广告维持运转 🙏 查看如何关闭 ×