Namespace
whyour
Image / Tag
qinglong:2.22.0
Content Digest
sha256:7bfdc8eeb96871d06818fbb8d6b99a8e2d3b66eaab15209393a5d9226268de4f
Details
Created

2026-09-27 08:51:00 UTC

Size

129 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:7be2e280ebe651ae43469c64580d088eda7831741949c39082fb6d3333d52edd - 2.71% (3.51 MB)

[#001] sha256:b5a68f7aa6681c65264072d325fc6ef45ff3936b247e84c1960756328573a9fa - 0.31% (407 KB)

[#002] sha256:7c50919474800b9bceea8f06173525d3ceecfe512b91a82132e2dea81f942a22 - 12.05% (15.6 MB)

[#003] sha256:b4bab18375de3281ae66c253d077d6de73b473ac134f8eddfb725799421fde5a - 0.0% (247 Bytes)

[#004] sha256:91e01ed56cc17a2d6e25e05d348ad8af3b401ae6a738847dd561584857c68762 - 8.93% (11.5 MB)

[#005] sha256:1b9df73068b00730e57e445d4441a9e89c89539a4d01f5659fb62ec7cf85f5c6 - 0.0% (471 Bytes)

[#006] sha256:535110d60aca642f2fc7ad5341605289d20feb0fedc1c09bfad29216c3782a94 - 37.6% (48.6 MB)

[#007] sha256:2668fb4badf0fb7ac9ac0ccf9e8a01e6df75976e8414f92e6ef83d0c3f01a54c - 1.69% (2.18 MB)

[#008] sha256:1854271c61922610017ee50cec7a30402ad04de5e0bd48ca8c52619e56b654fb - 9.22% (11.9 MB)

[#009] sha256:4f7f24b5dc1093d61beeb03d2574c8f5ec1f49bce856b6e9b9117c4eb71a5079 - 0.0% (1.15 KB)

[#010] sha256:3698bc9bd5cd69c18f27c8737d468a10a967976262eceeb7f2486187f0384e1b - 0.13% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:8024eee2c36df19eb2bf5e8f64c0fa00aa230576a09ef954ef52f7836675718c - 4.36% (5.63 MB)

[#013] sha256:07035ed2cf4634d977bf811faa1c01b0ffe59ff535d6ec466bb092ee420bcdca - 23.01% (29.8 MB)

[#014] sha256:7f23b085a0e808e17b43942377e9224669c2ecc4ff73c8a4b46dc1acc07b2c2e - 0.0% (197 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 20:37:15 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.2-x86.tar.gz / # buildkit

2026-09-17 20:37:15 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-17 21:35:41 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-17 21:35:41 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-17 21:35:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-17 21:35:41 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-17 21:35:41 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-17 21:35:41 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-17 21:41:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-17 21:41:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-17 21:41:06 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:50:40 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:50:40 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:50:40 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:50:43 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:50:43 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:50:43 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:50:53 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:50:59 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:51:00 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:51:00 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:51:00 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:51:00 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

Details
Created

2026-09-27 08:50:59 UTC

Size

131 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:e2de96513ba9eb53b431787ec8a65cdde380ac4772a3e4c4b714dcfde2a102b5 - 2.8% (3.67 MB)

[#001] sha256:12b226658ca7e7b4b587d1eea888881b5814ab16a2d4cf1fec417bdf3d594d6c - 0.3% (407 KB)

[#002] sha256:6ae7c48d633663fcf34b6a82fec36ddd8d300b8d23c3eda25da656dce585c162 - 11.74% (15.4 MB)

[#003] sha256:2a185933c9c2e754703464d50491c39f3080824ff360d151720af5de5fa96c71 - 0.0% (247 Bytes)

[#004] sha256:d282a9c4f42e9e8f7e1926f7f6b294bb271fb9429dfc04c9382495c3abfb6544 - 8.81% (11.5 MB)

[#005] sha256:bc214ec425fc02115008f728d3b228fe8dd67b96d0a8b2c1350da8c1ec6305ef - 0.0% (469 Bytes)

[#006] sha256:7e26135151c0b84a4abff6a065db1112d78154b575774041fb2c40a2b7af5b06 - 38.17% (50 MB)

[#007] sha256:10e591e58d1be89382517ce9baa3ec63bcbd28ec6fafb8ceedb086c351659e01 - 1.67% (2.18 MB)

[#008] sha256:2df84f1550f577e1a4d3fe26fde8e80fb7387a5b1721bfa84ccff6340b49d15f - 9.1% (11.9 MB)

[#009] sha256:2edd8d6c87dd9b05584dc8617b7bd283d536b912af6d2b3a8bd6902e6fa33761 - 0.0% (1.15 KB)

[#010] sha256:e5176cf4550628b3164eba9eac60c74b291d868d97d5443483b432ea6482563c - 0.13% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:e3d3885a1ea2d20c2f022b387b6d64b45ad772a074f5e0febf76ab546c5bbde0 - 4.59% (6.01 MB)

[#013] sha256:c9b38762b87a2c34602a2adfe00bc5fddf701d45fcd0a38d02006c2d6cf3df96 - 22.68% (29.7 MB)

[#014] sha256:7d3dae8c20990b0020674affae60881c070a9c2f0577815db424b69511421643 - 0.0% (197 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 20:37:20 UTC (buildkit.dockerfile.v0)

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

2026-09-17 20:37:20 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-17 21:47:55 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-17 21:47:55 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-17 21:47:55 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-17 21:47:55 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-17 21:47:55 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-17 21:47:55 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-17 21:52:06 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-17 21:52:07 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-17 21:52:07 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:50:39 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:50:39 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:50:39 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:50:40 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:50:41 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:50:41 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:50:41 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:50:42 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:50:52 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:50:58 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:50:59 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:50:59 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:50:59 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:50:59 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

Details
Created

2026-09-27 08:53:02 UTC

Size

127 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:f218cc0a85b16ce88f0b295e09ea08f059389ba0e628af7344be20a2700e9091 - 2.66% (3.39 MB)

[#001] sha256:2686a8633002467fc33a6722c809cd91b5d7482ff87307e8b2ba47a3a26f4173 - 0.31% (408 KB)

[#002] sha256:d6b92359d5109d89541def081ba9a29ac95a5a5b4e0ea35d7ec77c9b5a26b59b - 11.75% (15 MB)

[#003] sha256:14de1ff98f7ddf1e1a88c9acc69e88cf871c9b8578eeb74417ece1728f18b57c - 0.0% (249 Bytes)

[#004] sha256:88804354d90097bb7318fb028cbbff70126194f550b243ba7e1e63bdbe99f017 - 9.07% (11.5 MB)

[#005] sha256:24374d3b58d33db07a5e1d438292f4cad1400a210fbfb90bcbdf47ec62d0ce36 - 0.0% (470 Bytes)

[#006] sha256:5d4ff6e6ebf679473c2cd26a5740f1ec990964db414b7c3aa6193e1e1f3e99e9 - 37.06% (47.2 MB)

[#007] sha256:1980d88c3257cefa8d3e6967fa85e6716bb37fcf06bb8d8ef51c5529d9a93e88 - 1.72% (2.18 MB)

[#008] sha256:79509c38873fc9c818fd1fe0492a6b81634155e4b7c5111aec9c77a8ba9e9fae - 9.37% (11.9 MB)

[#009] sha256:376ada9ac19904ee0539f6cccc0434a1551a9b303f8bda781067436e94941b15 - 0.0% (1.15 KB)

[#010] sha256:d4a57df47dea063b2661f29315e251d57ebbfc5d9f6205361fe9675415c1ac16 - 0.14% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:60988272315a2f74b8c160c991313a928bb27ae06cdca7d58375837a3dc3b900 - 4.69% (5.97 MB)

[#013] sha256:f8898f34b6330eccfa6da07363be3d2840d11d95b45411681ff2fc6cf1f53688 - 23.23% (29.6 MB)

[#014] sha256:29fed1bba2a068c4e94c6e803d963d393b99dca47a39da43aecfd0d9d00b3733 - 0.0% (197 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 20:37:46 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.2-armhf.tar.gz / # buildkit

2026-09-17 20:37:46 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-17 22:06:54 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-17 22:06:54 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-17 22:06:54 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-17 22:06:54 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-17 22:06:54 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-17 22:06:54 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-17 22:14:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-17 22:14:12 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-17 22:14:12 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:51:07 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:51:07 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:07 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:16 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:51:16 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:51:16 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:51:16 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:52 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:52 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:51:52 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:52:56 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:53:01 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:53:02 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:53:02 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:53:02 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:53:02 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

Details
Created

2026-09-27 08:52:59 UTC

Size

125 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:7b694adf9dd1b9680f02f1458dca365ef3c3afa077ecb86f4c1ae12b519305e0 - 2.48% (3.11 MB)

[#001] sha256:9f1d5ed7e0b457889b2b3d415a15631fc63bb6888eae6ef720ca836e07ce4d56 - 0.32% (407 KB)

[#002] sha256:b64ebcd56bf2b25242a46a6877a3ec44f0e7bdbc49d6aaa281d0895c4fb28254 - 11.61% (14.6 MB)

[#003] sha256:ee64db5980af9f00caf7723960df2910f8d818ace180aa2ce24e9ce1f57e0e19 - 0.0% (249 Bytes)

[#004] sha256:67663406c7a413a5e80782c595cc6d1771d3cff31b7cad7efa707b4af332a5f1 - 9.21% (11.5 MB)

[#005] sha256:11154fee80e3bba28d2b9233a847f7cd862a576a8614f85d198c190a9f5e7d8a - 0.0% (470 Bytes)

[#006] sha256:d70982810bc6aaabf776fd265116f38dfa1e305bc0dfac4b5a7830caf5af4156 - 36.67% (46 MB)

[#007] sha256:d47c0ae0197a6e9235cc0aa3a46e3d3b90c73526bdb4d3b940d88b435b6def37 - 1.74% (2.18 MB)

[#008] sha256:5d0a31c563a867ad37b76be0259d49a86a556f8d2f73f889c06805a19e010a55 - 9.5% (11.9 MB)

[#009] sha256:96e77f1365c678d42e2daa268decf9f05be27f4d817463ce6269c107da2c8ad6 - 0.0% (1.15 KB)

[#010] sha256:4dc526b239a577b45d6e82ff8968984ca5b5da0a9573c6cccc8d4022cbb9c4aa - 0.14% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:fcdd030ac03954ed69703121e2f2c32a7f7bee732f47a930dda35ea4f1daee17 - 4.76% (5.97 MB)

[#013] sha256:31d70daf45cdda9231142eb46b6102f3a50681aaa1ca3e865c53b23bf94d4ada - 23.57% (29.6 MB)

[#014] sha256:1dbcec604ceaeb26d562f0a8d9868d4f3d0af263c872258b8e37462a2ca63620 - 0.0% (198 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 20:37:03 UTC (buildkit.dockerfile.v0)

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

2026-09-17 20:37:03 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-17 22:08:41 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-17 22:08:41 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-17 22:08:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-17 22:08:41 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-17 22:08:41 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-17 22:08:41 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-17 22:15:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-17 22:15:42 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-17 22:15:42 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:51:01 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:51:01 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:01 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:46 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:46 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:51:46 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:52:52 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:52:59 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:52:59 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:52:59 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:52:59 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:52:59 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

Details
Created

2026-09-27 08:52:52 UTC

Size

131 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:a9986cd6f37dbddae7862a6d4be71683472e7c2ea708e87db14f8a6393c00f00 - 3.05% (3.99 MB)

[#001] sha256:8000482fc84a1406d5a86573d75f8795aa5e11ec684112f12d29b04e13503267 - 0.31% (409 KB)

[#002] sha256:e7e65a7dde8243a31b7ec67c746f3c19374408a5a98e31cae82abd1a50ea27fe - 11.87% (15.5 MB)

[#003] sha256:45aa581538407f65d6c5cbfa7273edf2266032c35ae9e103d88a5d04fc8983e2 - 0.0% (247 Bytes)

[#004] sha256:3bad3744c7df8bde1f4e79d440476f2713b20fc0ce720224b73613c109510988 - 8.82% (11.5 MB)

[#005] sha256:578f2ff033eb63c95304f2b817a7801779b4c7f27de92b696d053ab9a7326a3d - 0.0% (469 Bytes)

[#006] sha256:15b4538e110cce091580a1b83d8a10ab4ffe9b54b6f43be10e7e43158f499530 - 37.77% (49.4 MB)

[#007] sha256:b921ffa4b99a173378a736407ec51c2b531ff14001f9ca475206fd50c4f3203a - 1.67% (2.18 MB)

[#008] sha256:bfc5b4bde9ac2b156802d11fe3f72e004bb8de2b044eb38aeec4bb73721eac49 - 9.1% (11.9 MB)

[#009] sha256:6c83eb8f7edb261656c1e7b16818a6e597f39600d5345c4d0a3187bc1b663479 - 0.0% (1.15 KB)

[#010] sha256:f40f832a3bc9cc542a84573664706699462bec173ffe97872bf6e3a88a1eea98 - 0.13% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:7a2b6d3d2b7040f8999b53fdaeee1d753844ec89f9ba68e20b4cb91470197ed4 - 4.58% (5.99 MB)

[#013] sha256:87019f1c91748473623b26b1cca5c93b2a1608786cddd436ec2ee6d4b7bbdc7f - 22.7% (29.7 MB)

[#014] sha256:8764fa6b7fb24d56e498a4991b6df4a5f376e43fb0239fa49325f8d2f01f7a2f - 0.0% (198 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 20:37:05 UTC (buildkit.dockerfile.v0)

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

2026-09-17 20:37:05 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-17 21:51:43 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-17 21:51:43 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-17 21:51:43 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-17 21:51:43 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-17 21:51:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-17 21:51:43 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-17 22:05:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-17 22:05:38 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-17 22:05:38 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:10 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:27 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:27 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:51:27 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:52:47 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:52:52 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:52:52 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:52:52 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:52:52 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:52:52 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

Details
Created

2026-09-27 08:52:38 UTC

Size

134 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:ba454b17b5e915ee06cfc2c66078f1264549d4f6cdd08dc18cd56fdaaa487b25 - 2.73% (3.64 MB)

[#001] sha256:fb2a6e18776fb076f55c4c350ec2f476f69cf22101081c8969eb0d29b64bffef - 0.3% (410 KB)

[#002] sha256:524c36b3c3024f003fe48c63f57ba787f52902a2547af05c42ddbfb903cd1b9b - 12.09% (16.1 MB)

[#003] sha256:4ee7722649957738424b81666e900e59e5f614b8542ec694101ed7a0d80f071f - 0.0% (249 Bytes)

[#004] sha256:1680d169f682a4ddc8445c93cb165318fc1d6da0ad703bb9eabb15e244084922 - 8.64% (11.5 MB)

[#005] sha256:815b2ddbde8da3cc7f295ef513a717033d0d965daf9e2403c47eba174a1f127f - 0.0% (473 Bytes)

[#006] sha256:1bbbf4478adea10c445700b8cc85420cb5a79514cada535554caa14711876135 - 38.63% (51.6 MB)

[#007] sha256:ffd3fc1db6d87d98f7cb75e4f3c7e5c676af689e92c3304afb2e2283b818a7f2 - 1.64% (2.18 MB)

[#008] sha256:bfc5b4bde9ac2b156802d11fe3f72e004bb8de2b044eb38aeec4bb73721eac49 - 8.92% (11.9 MB)

[#009] sha256:6c83eb8f7edb261656c1e7b16818a6e597f39600d5345c4d0a3187bc1b663479 - 0.0% (1.15 KB)

[#010] sha256:f40f832a3bc9cc542a84573664706699462bec173ffe97872bf6e3a88a1eea98 - 0.13% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:3cf8d32b655536c1b230c461a48b75b5310025f278e1b84f844d6b9485096e12 - 4.52% (6.04 MB)

[#013] sha256:9bfc5b17044f0be4ac9e4ce91bf18c0d370e48c725945640cdbdc607db0084cd - 22.39% (29.9 MB)

[#014] sha256:f3c5d33360afad72f2d9b25f6c97c5cf61005808a9accf5bef6a81c7feba50c1 - 0.0% (197 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 20:36:41 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.2-ppc64le.tar.gz / # buildkit

2026-09-17 20:36:41 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-18 00:12:25 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-18 00:12:25 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-18 00:12:25 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-18 00:12:25 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-18 00:12:25 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-18 00:12:25 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-18 00:33:19 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-18 00:33:19 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-18 00:33:19 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:22:56 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:51:11 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:51:11 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:11 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:51:18 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:28 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:28 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:51:28 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:52:33 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:52:38 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:52:38 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:52:38 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:52:38 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:52:38 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

Details
Created

2026-09-27 08:53:15 UTC

Size

133 MB

Content Digest
Labels
  • maintainer
    whyour
  • org.opencontainers.image.created
    2026-09-27T08:49:14.118Z
  • org.opencontainers.image.description
    支持 Python3、JavaScript、Shell、Typescript 的定时任务管理平台(Timed task management platform supporting Python3, JavaScript, Shell, Typescript)
  • org.opencontainers.image.licenses
    Apache-2.0
  • org.opencontainers.image.revision
    bf63425805bed9248ba17568c07e382c8e205887
  • org.opencontainers.image.source
    https://github.com/whyour/qinglong
  • org.opencontainers.image.title
    qinglong
  • org.opencontainers.image.url
    https://github.com/whyour/qinglong
  • org.opencontainers.image.version
    latest

Environment
GPG_KEY

A035C8C19219BA821ECEA86B64E628F8D684696D

HOME

/root

LANG

C.UTF-8

NODE_PATH

/usr/local/bin:/usr/local/lib/node_modules

PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin

PIP_CACHE_DIR

/ql/data/dep_cache/python3/pip

PNPM_HOME

/ql/data/dep_cache/node

PS1

\u@\h:\w $

PYTHONPATH

/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

PYTHONUSERBASE

/ql/data/dep_cache/python3

PYTHON_HOME

/ql/data/dep_cache/python3

PYTHON_SHA256

91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

PYTHON_VERSION

3.11.16

QL_BRANCH

master

QL_CONTAINER

true

QL_DIR

/ql

SHELL

/bin/bash


Layers

[#000] sha256:1bdda2e019dd384cc5410b8fd73c0c305664bf6db8ebc07b058877aee1a778ec - 2.66% (3.54 MB)

[#001] sha256:829df4255e29f0438247dd78e654b06fddde90fe1f730d6a80439a8e4fdf73d9 - 0.3% (408 KB)

[#002] sha256:1bc9a95906b5e77265d48efd4344996a331a59ffa83c137d8651d772a3a1145b - 11.87% (15.8 MB)

[#003] sha256:3937d23075595c7422c2c003749b7b536d7253946543b25f87d09d2c8d3923f4 - 0.0% (247 Bytes)

[#004] sha256:7eb5919e9f71ce5a66ee8ca5599b62cf7739f6c972d28801df8046b3dccc30e3 - 8.67% (11.5 MB)

[#005] sha256:dc9d471d85e5e05f418c21bd794f16f0134893ab3759960fc9dc2eb0d6cb2fcd - 0.0% (472 Bytes)

[#006] sha256:f0caf219ab9fece10622e191c490da1b0884505a312a422695ead50a3780d77b - 38.85% (51.7 MB)

[#007] sha256:7842e4cbd0abc55531ebb0ace815baf98df63532b7237b53954909819809bb93 - 1.64% (2.18 MB)

[#008] sha256:30ee5463411340f814f4bd1ccd652daee8cece9044c6a7bf242ef24d82d78cc5 - 8.96% (11.9 MB)

[#009] sha256:776f3df3e80e372ab7a7d7e22fa94af9eae075ac2ed6e21e1d7868c21aee350e - 0.0% (1.15 KB)

[#010] sha256:8325609a1166337b785ad7f55962733c41a2c2310f9397cbc547d9ddf11cfd4a - 0.13% (178 KB)

[#011] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)

[#012] sha256:0a587d3b27240ffd2281e66c33b412de358b1e9456200498399c801e3a7fc622 - 4.53% (6.04 MB)

[#013] sha256:e8d072d9f262acce1ac19fb0b7854560bdab6fc8e88f9bd322636a2ece34ee89 - 22.38% (29.8 MB)

[#014] sha256:f16512d62eeda2012a54cf1aa03488dc005665082d8a254f9091d429930a0a25 - 0.0% (198 Bytes)

[#015] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)


History
2026-09-17 21:38:20 UTC (buildkit.dockerfile.v0)

ADD alpine-minirootfs-3.24.2-s390x.tar.gz / # buildkit

2026-09-17 21:38:20 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-09-18 01:24:24 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

2026-09-18 01:24:24 UTC (buildkit.dockerfile.v0)

ENV LANG=C.UTF-8

2026-09-18 01:24:24 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache ca-certificates tzdata ; # buildkit

2026-09-18 01:24:24 UTC (buildkit.dockerfile.v0)

ENV GPG_KEY=A035C8C19219BA821ECEA86B64E628F8D684696D

2026-09-18 01:24:24 UTC (buildkit.dockerfile.v0)

ENV PYTHON_VERSION=3.11.16

2026-09-18 01:24:24 UTC (buildkit.dockerfile.v0)

ENV PYTHON_SHA256=91bcdebfdde239a003ae93738a7fce0f9230fee5c4bc2b86f6e6e8c6f98aabe8

2026-09-18 01:35:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; apk add --no-cache --virtual .build-deps bluez-dev bzip2-dev dpkg-dev dpkg findutils g++ gcc gdbm-dev gnupg libc-dev libffi-dev libnsl-dev libtirpc-dev linux-headers make ncurses-dev openssl-dev pax-utils readline-dev sqlite-dev tar tcl-dev tk tk-dev util-linux-dev xz xz-dev zlib-dev ; wget -O python.tar.xz "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz"; echo "$PYTHON_SHA256 *python.tar.xz" | sha256sum -c -; wget -O python.tar.xz.asc "https://www.python.org/ftp/python/${PYTHON_VERSION%%[a-z]*}/Python-$PYTHON_VERSION.tar.xz.asc"; GNUPGHOME="$(mktemp -d)"; export GNUPGHOME; gpg --batch --keyserver hkps://keys.openpgp.org --recv-keys "$GPG_KEY"; gpg --batch --verify python.tar.xz.asc python.tar.xz; gpgconf --kill all; rm -rf "$GNUPGHOME" python.tar.xz.asc; mkdir -p /usr/src/python; tar --extract --directory /usr/src/python --strip-components=1 --file python.tar.xz; rm python.tar.xz; cd /usr/src/python; gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; ./configure --build="$gnuArch" --enable-loadable-sqlite-extensions --enable-option-checking=fatal --enable-shared $(test "${gnuArch%%-*}" != 'riscv64' && echo '--with-lto') --with-ensurepip ; nproc="$(nproc)"; EXTRA_CFLAGS="-DTHREAD_STACK_SIZE=0x100000"; LDFLAGS="${LDFLAGS:-} -Wl,--strip-all"; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-}" ; rm python; make -j "$nproc" "EXTRA_CFLAGS=${EXTRA_CFLAGS:-}" "LDFLAGS=${LDFLAGS:-} -Wl,-rpath='\$\$ORIGIN/../lib'" python ; make install; cd /; rm -rf /usr/src/python; find /usr/local -depth \( \( -type d -a \( -name test -o -name tests -o -name idle_test \) \) -o \( -type f -a \( -name '*.pyc' -o -name '*.pyo' -o -name 'libpython*.a' \) \) \) -exec rm -rf '{}' + ; find /usr/local -type f -executable -not \( -name '*tkinter*' \) -exec scanelf --needed --nobanner --format '%n#p' '{}' ';' | tr ',' '\n' | sort -u | awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' | xargs -rt apk add --no-network --virtual .python-rundeps ; apk del --no-network .build-deps; export PYTHONDONTWRITEBYTECODE=1; python3 --version; pip3 install --disable-pip-version-check --no-cache-dir --no-compile 'setuptools==79.0.1' 'wheel==0.46.3' ; pip3 --version # buildkit

2026-09-18 01:35:41 UTC (buildkit.dockerfile.v0)

RUN /bin/sh -c set -eux; for src in idle3 pip3 pydoc3 python3 python3-config; do dst="$(echo "$src" | tr -d 3)"; [ -s "/usr/local/bin/$src" ]; [ ! -e "/usr/local/bin/$dst" ]; ln -svT "$src" "/usr/local/bin/$dst"; done # buildkit

2026-09-18 01:35:41 UTC (buildkit.dockerfile.v0)

CMD ["python3"]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_MAINTAINER=whyour

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

LABEL maintainer=whyour

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_URL=https://github.com/whyour/qinglong.git

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG QL_BRANCH=master

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ARG PYTHON_SHORT_VERSION=3.11

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

ENV QL_DIR=/ql QL_BRANCH=master QL_CONTAINER=true LANG=C.UTF-8 SHELL=/bin/bash PS1=\u@\h:\w $

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

VOLUME [/ql/data]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

EXPOSE [5700/tcp]

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/lib/node_modules/. /usr/local/lib/node_modules/ # buildkit

2026-09-27 08:50:31 UTC (buildkit.dockerfile.v0)

COPY /opt/node-global/bin/. /usr/local/bin/ # buildkit

2026-09-27 08:51:45 UTC (buildkit.dockerfile.v0)

RUN |4 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 /bin/sh -c set -x && apk update -f && apk upgrade && apk --no-cache add -f bash coreutils git curl wget tzdata perl openssl nodejs jq openssh procps netcat-openbsd unzip npm && rm -rf /var/cache/apk/* && apk update && ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime && echo "Asia/Shanghai" > /etc/timezone && git config --global user.email "qinglong@users.noreply.github.com" && git config --global user.name "qinglong" && git config --global http.postBuffer 524288000 && rm -rf /root/.cache && ulimit -c 0 # buildkit

2026-09-27 08:51:45 UTC (buildkit.dockerfile.v0)

ARG SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:45 UTC (buildkit.dockerfile.v0)

LABEL org.opencontainers.image.revision=bf63425805bed9248ba17568c07e382c8e205887

2026-09-27 08:51:52 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c git clone --depth=1 -b ${QL_BRANCH} ${QL_URL} ${QL_DIR} && cd ${QL_DIR} && if [ -n "${SOURCE_COMMIT}" ]; then git fetch --depth=1 origin "${SOURCE_COMMIT}" && git reset --hard FETCH_HEAD; fi && cp -f .env.example .env && chmod 777 ${QL_DIR}/shell/*.sh && chmod 777 ${QL_DIR}/docker/*.sh # buildkit

2026-09-27 08:51:53 UTC (buildkit.dockerfile.v0)

COPY static/ /ql/static/ # buildkit

2026-09-27 08:51:53 UTC (buildkit.dockerfile.v0)

COPY docker/verify-build.cjs docker/build-manifest.cjs /tmp/ # buildkit

2026-09-27 08:51:53 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/pnpm-lock.yaml /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:59 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c cd ${QL_DIR} && node /tmp/verify-build.cjs /tmp/dependency-lock.yaml # buildkit

2026-09-27 08:51:59 UTC (buildkit.dockerfile.v0)

ENV PNPM_HOME=/ql/data/dep_cache/node PYTHON_HOME=/ql/data/dep_cache/python3 PYTHONUSERBASE=/ql/data/dep_cache/python3 HOME=/root

2026-09-27 08:51:59 UTC (buildkit.dockerfile.v0)

ENV PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/ql/data/dep_cache/node:/ql/data/dep_cache/python3/bin:/root/bin NODE_PATH=/usr/local/bin:/usr/local/lib/node_modules PIP_CACHE_DIR=/ql/data/dep_cache/python3/pip PYTHONPATH=/ql/data/dep_cache/python3:/ql/data/dep_cache/python3/lib/python3.11:/ql/data/dep_cache/python3/lib/python3.11/site-packages

2026-09-27 08:53:12 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c pip3 install --prefix ${PYTHON_HOME} requests # buildkit

2026-09-27 08:53:15 UTC (buildkit.dockerfile.v0)

COPY /tmp/build/node_modules/. /ql/node_modules/ # buildkit

2026-09-27 08:53:15 UTC (buildkit.dockerfile.v0)

RUN |5 QL_MAINTAINER=whyour QL_URL=https://github.com/whyour/qinglong.git QL_BRANCH=master PYTHON_SHORT_VERSION=3.11 SOURCE_COMMIT=bf63425805bed9248ba17568c07e382c8e205887 /bin/sh -c ln -sf ${QL_DIR}/shell/task.sh /usr/local/bin/task && ln -sf ${QL_DIR}/shell/update.sh /usr/local/bin/ql && chmod +x /usr/local/bin/task /usr/local/bin/ql # buildkit

2026-09-27 08:53:15 UTC (buildkit.dockerfile.v0)

WORKDIR /ql

2026-09-27 08:53:15 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD-SHELL curl -sf --noproxy '*' http://localhost:${QlPort:-5700}/api/health || exit 1] Interval:5s Timeout:2s StartPeriod:0s StartInterval:0s Retries:20}

2026-09-27 08:53:15 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["./docker/docker-entrypoint.sh"]

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