镜像构建历史
# 2025-11-26 23:15:32 944.00B 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c jq -n --slurpfile sources /tmp/sources.json --slurpfile packages /tmp/packages.json '{sources: $sources[0], packages: $packages[0]}' > /build/build-lock.json # buildkit
# 2025-11-26 23:15:31 595.00B 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c jq -s '.' sources/*.json > /tmp/sources.json # buildkit
# 2025-11-26 23:15:31 9.31KB 复制新文件或目录到容器中
COPY sources/ ./sources/ # buildkit
# 2025-11-26 23:15:31 247.00B 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c jq -s '.' packages/*.json > /tmp/packages.json # buildkit
# 2025-11-26 23:15:31 1.14KB 复制新文件或目录到容器中
COPY packages/ ./packages/ # buildkit
# 2025-11-26 23:15:31 37.52KB 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c ldconfig /usr/local/lib # buildkit
# 2025-11-26 23:15:31 0.00B 设置环境变量 LD_LIBRARY_PATH
ENV LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:/usr/local/lib
# 2025-11-26 23:15:31 53.96MB 复制新文件或目录到容器中
COPY /build/geodata /build/geodata # buildkit
# 2025-11-26 02:23:28 560.88KB 复制新文件或目录到容器中
COPY /usr/local/include/vips/ /usr/local/include/vips/ # buildkit
# 2025-11-26 02:23:28 100.29KB 复制新文件或目录到容器中
COPY /usr/local/bin/vips* /usr/local/bin/ # buildkit
# 2025-11-26 02:23:28 120.50MB 复制新文件或目录到容器中
COPY /usr/local/lib/ /usr/local/lib/ # buildkit
# 2025-11-15 06:16:57 0.00B 复制新文件或目录到容器中
COPY /usr/bin/make /usr/bin/make # buildkit
# 2025-11-15 06:16:57 0.00B 复制新文件或目录到容器中
COPY /usr/bin/tini /usr/bin/tini # buildkit
# 2025-10-23 00:41:22 232.85MB 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c ./ffmpeg.sh # buildkit
# 2025-10-23 00:41:13 1.14KB 复制新文件或目录到容器中
COPY packages/ffmpeg.json packages/ffmpeg.sh ./ # buildkit
# 2025-10-23 00:41:13 0.00B 设置环境变量 DEBIAN_RELEASE
ENV DEBIAN_RELEASE=trixie
# 2025-10-23 00:41:13 0.00B 定义构建参数
ARG DEBIAN_RELEASE=trixie
# 2025-10-23 00:41:13 763.53MB 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c echo "deb [signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc] https://apt.postgresql.org/pub/repos/apt ${DEBIAN_RELEASE}-pgdg main" > /etc/apt/sources.list.d/pgdg.list && apt-get update && apt-get install --no-install-recommends -yqq git autoconf automake libtool libltdl-dev build-essential cmake jq libbrotli-dev libde265-dev libexif-dev libexpat1-dev libglib2.0-dev libgsf-1-dev libmimalloc3 libjpeg62-turbo-dev liblcms2-dev librsvg2-dev libspng-dev meson ninja-build pkg-config wget unzip zlib1g postgresql-client-14 postgresql-client-15 postgresql-client-16 postgresql-client-17 postgresql-client-18 tini make ocl-icd-libopencl1 libopenmpt0 libbluray2 libvpx9 libzvbi0 libmp3lame0 libopus0 libtheora0 libvorbis0a libvorbisenc2 libx264-164 libdav1d-dev libhwy-dev libwebp-dev libio-compress-brotli-perl libaom-dev # buildkit
# 2025-10-22 10:57:25 4.81KB 复制文件或目录到容器中
ADD --chmod=644 https://www.postgresql.org/media/keys/ACCC4CF8.asc /usr/share/postgresql-common/pgdg/apt.postgresql.org.asc # buildkit
# 2025-10-22 10:57:25 54.53MB 执行命令并创建新的镜像层
RUN |2 DEBIAN_FRONTEND=noninteractive DEBIAN_RELEASE=trixie /bin/sh -c ./configure-apt.sh && apt-get update && apt-get install --no-install-recommends -yqq ca-certificates && mkdir -p /usr/share/postgresql-common/pgdg # buildkit
# 2025-10-01 12:42:33 917.00B 复制新文件或目录到容器中
COPY configure-apt.sh ./ # buildkit
# 2025-09-03 07:32:35 0.00B 设置环境变量 LD_LIBRARY_PATH LD_RUN_PATH
ENV LD_LIBRARY_PATH=/usr/local/lib LD_RUN_PATH=/usr/local/lib
# 2025-09-03 07:32:35 0.00B 设置工作目录为/usr/src/app
WORKDIR /usr/src/app
# 2025-09-03 07:32:35 0.00B 设置环境变量 DEBIAN_RELEASE
ENV DEBIAN_RELEASE=trixie
# 2025-09-03 07:32:35 0.00B 定义构建参数
ARG DEBIAN_RELEASE=trixie
# 2025-09-03 07:32:35 0.00B 定义构建参数
ARG DEBIAN_FRONTEND=noninteractive
# 2025-08-11 16:15:17 0.00B 设置默认要执行的命令
CMD ["node"]
# 2025-08-11 16:15:17 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
# 2025-08-11 16:15:17 388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
# 2025-08-11 16:15:17 7.24MB 执行命令并创建新的镜像层
RUN /bin/sh -c set -ex && savedAptMark="$(apt-mark showmanual)" && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 6A010C5166006599AA17F08146C2130DFD2497F5 ; 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 && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz" && curl -fsSLO --compressed "https://yarnpkg.com/downloads/$YARN_VERSION/yarn-v$YARN_VERSION.tar.gz.asc" && gpg --batch --verify yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && gpgconf --kill all && rm -rf "$GNUPGHOME" && mkdir -p /opt && tar -xzf yarn-v$YARN_VERSION.tar.gz -C /opt/ && ln -s /opt/yarn-v$YARN_VERSION/bin/yarn /usr/local/bin/yarn && ln -s /opt/yarn-v$YARN_VERSION/bin/yarnpkg /usr/local/bin/yarnpkg && rm yarn-v$YARN_VERSION.tar.gz.asc yarn-v$YARN_VERSION.tar.gz && apt-mark auto '.*' > /dev/null && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark > /dev/null; } && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && yarn --version && rm -rf /tmp/* # buildkit
# 2025-08-11 16:15:17 0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
# 2025-08-11 16:15:17 142.34MB 执行命令并创建新的镜像层
RUN /bin/sh -c ARCH= OPENSSL_ARCH= && dpkgArch="$(dpkg --print-architecture)" && case "${dpkgArch##*-}" in amd64) ARCH='x64' OPENSSL_ARCH='linux-x86_64';; ppc64el) ARCH='ppc64le' OPENSSL_ARCH='linux-ppc64le';; s390x) ARCH='s390x' OPENSSL_ARCH='linux*-s390x';; arm64) ARCH='arm64' OPENSSL_ARCH='linux-aarch64';; armhf) ARCH='armv7l' OPENSSL_ARCH='linux-armv4';; i386) ARCH='x86' OPENSSL_ARCH='linux-elf';; *) echo "unsupported architecture"; exit 1 ;; esac && set -ex && apt-get update && apt-get install -y ca-certificates curl wget gnupg dirmngr xz-utils libatomic1 --no-install-recommends && rm -rf /var/lib/apt/lists/* && export GNUPGHOME="$(mktemp -d)" && for key in 5BE8A3F6C8A5C01D106C0AD820B1A390B168D356 DD792F5973C6DE52C432CBDAC77ABFA00DDBF2B7 CC68F5A3106FF448322E48ED27F5E38D5B0A215F 8FCCA13FEF1D0C2E91008E09770F7A9A5AE15600 890C08DB8579162FEE0DF9DB8BEAB4DFCF555EF4 C82FA3AE1CBEDC6BE46B9360C43CEC45C17AB93C 108F52B48DB57BB0CC439B2997B01419BD92F80A 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 && curl -fsSLO --compressed "https://nodejs.org/dist/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH.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.tar.xz\$" SHASUMS256.txt | sha256sum -c - && tar -xJf "node-v$NODE_VERSION-linux-$ARCH.tar.xz" -C /usr/local --strip-components=1 --no-same-owner && rm "node-v$NODE_VERSION-linux-$ARCH.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \; && apt-mark auto '.*' > /dev/null && find /usr/local -type f -executable -exec ldd '{}' ';' | awk '/=>/ { so = $(NF-1); if (index(so, "/usr/local/") == 1) { next }; gsub("^/(usr/)?", "", so); print so }' | sort -u | xargs -r dpkg-query --search | cut -d: -f1 | sort -u | xargs -r apt-mark manual && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false && ln -s /usr/local/bin/node /usr/local/bin/nodejs && node --version && npm --version && rm -rf /tmp/* # buildkit
# 2025-08-11 16:15:17 0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=22.18.0
# 2025-08-11 16:15:17 8.90KB 执行命令并创建新的镜像层
RUN /bin/sh -c groupadd --gid 1000 node && useradd --uid 1000 --gid node --shell /bin/bash --create-home node # buildkit
# 2025-08-11 08:00:00 78.61MB
# debian.sh --arch 'amd64' out/ 'trixie' '@1754870400'
镜像信息
{
"Id": "sha256:4efadbbd5e6f9a978bb9d6f33ac89d6992e7f51c1846715284f013851ecdca85",
"RepoTags": [
"ghcr.io/immich-app/base-server-dev:202511261514",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/immich-app/base-server-dev:202511261514"
],
"RepoDigests": [
"ghcr.io/immich-app/base-server-dev@sha256:cbcca5851fd11042463f09797e6d6068d94adbb108749e62aa69159df59c0591",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/immich-app/base-server-dev@sha256:71ce08b60a27a50c21ed87e1f27ddc95eba5d02879e43dc7d6ba475021d1753c"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-11-26T15:15:32.044528824Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
"NODE_VERSION=22.18.0",
"YARN_VERSION=1.22.22",
"DEBIAN_RELEASE=trixie",
"LD_LIBRARY_PATH=/usr/lib/jellyfin-ffmpeg/lib:/usr/lib/wsl/lib:/usr/local/lib",
"LD_RUN_PATH=/usr/local/lib"
],
"Cmd": [
"node"
],
"Image": "",
"Volumes": null,
"WorkingDir": "/usr/src/app",
"Entrypoint": [
"docker-entrypoint.sh"
],
"OnBuild": null,
"Labels": {
"org.opencontainers.image.created": "2025-11-26T15:15:07.808Z",
"org.opencontainers.image.description": "Base images for Immich containers",
"org.opencontainers.image.licenses": "AGPL-3.0",
"org.opencontainers.image.revision": "1a296345493cc463904d021b600a1855cce89783",
"org.opencontainers.image.source": "https://github.com/immich-app/base-images",
"org.opencontainers.image.title": "base-images",
"org.opencontainers.image.url": "https://github.com/immich-app/base-images",
"org.opencontainers.image.version": "202511261514"
}
},
"Architecture": "amd64",
"Os": "linux",
"Size": 1454290043,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/f24a52dc5b7d3790bf06a367f91aaf475faf17b1d520336f8ccce4ae5cb48d42/diff:/var/lib/docker/overlay2/51753cbc5cff3d96540946d3ab0315bf1121996c962557dc997f710ab217ae7d/diff:/var/lib/docker/overlay2/34d6ac9065c74682c76f14434a0e6904e670b7c2d877188c428945ecbbf47400/diff:/var/lib/docker/overlay2/cf7e5ec356be9244511ba79929112a9899b2c48f8176d2116020ea5a17bcd00c/diff:/var/lib/docker/overlay2/718278443a031ee1d2fe5ddeead52b1ea2d56853700a46d748da418e609088f7/diff:/var/lib/docker/overlay2/a2d50f9ae952193cc992edbbfb3cf797bed89662c4650cd1789ee67d47cd26ad/diff:/var/lib/docker/overlay2/51217ad51f1de78f184c1a85045a9bb907eef74b3f24c54db0e9a456e818777b/diff:/var/lib/docker/overlay2/3b9c2bb4d4ebb53977c5af3a3ce19399031c91e5a3a965ef6da2b531c41e3f01/diff:/var/lib/docker/overlay2/ebc61d0891b126f9cd806d72c3703e0a9e20e0a8cd8182f5dc0d5262cff8b3a3/diff:/var/lib/docker/overlay2/2c6e5a10526a4b03f29a282860c7cf8a6b2a5e04d9d0ff1a3b37858d71bc9ff3/diff:/var/lib/docker/overlay2/fda73ff4d8960fb8fc3d61527112f7206b56498b2dbef86e5ed2113b84972cf2/diff:/var/lib/docker/overlay2/4ddf67cb81353a662f240846c37cee81c8f9c99f1a639122f9d11bc5fe381cee/diff:/var/lib/docker/overlay2/71ca2cdada3ec225b2ea1beb9f548f19832a199944169e584824156df4997090/diff:/var/lib/docker/overlay2/b676f7b019f31643afb6b37e56ae65a5ee83a6fc49e34a9085b04b012ca4fb67/diff:/var/lib/docker/overlay2/d11c4fbfe08d0f472c6e51be5b39d3793e778ce9972ab7803924f39c99ba6e7d/diff:/var/lib/docker/overlay2/98f262da2bd8fa5b65c29d2d69bab16fc392f70185ae787298c5881dbaa2b7b5/diff:/var/lib/docker/overlay2/bfd4c0e2e9c8711154d057b1d0e10661d25cd2d3511ae96c9368b75724a85b0f/diff:/var/lib/docker/overlay2/25ebc48ee59d6f77efcae71f613a433b2fd442126a26c41dd31912e17879b406/diff:/var/lib/docker/overlay2/75d9b61312c1e3261f84a23aa2aacf3b974169c4588d039554d6a297722988b7/diff:/var/lib/docker/overlay2/243e95b97d860c0d5dc46e580e9a26369535bb5bf8f0185cd5015ad9d2d4be5a/diff:/var/lib/docker/overlay2/84e12ee47dbb774daadc3c3a370062f26ad12f73035de682d249d0d009e3ee5e/diff:/var/lib/docker/overlay2/81dcaf9104599be5f872ce0f7af986646732a7d7674d95139d3ff47b4c8d4901/diff:/var/lib/docker/overlay2/f9369536ba42d568448d286eb1507d85448833079f9ee4dad1dfdc960ea5e8d9/diff",
"MergedDir": "/var/lib/docker/overlay2/77b89907adaf529c37ab21fe9e4f93fa5a735c62765f9e13befe38f82a3e1806/merged",
"UpperDir": "/var/lib/docker/overlay2/77b89907adaf529c37ab21fe9e4f93fa5a735c62765f9e13befe38f82a3e1806/diff",
"WorkDir": "/var/lib/docker/overlay2/77b89907adaf529c37ab21fe9e4f93fa5a735c62765f9e13befe38f82a3e1806/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:e6a3842ebc7f5e41d8a38f19a0aa5ea56c255475695ac6682882420800cf5465",
"sha256:0270a8eae321f8003cc6d7e38e33743323c23d3505daaec01e781e231d0071f2",
"sha256:6f02571100f9d0ac844b2279891edd7a7b5eda895a638af7a14267b246cc0744",
"sha256:60138a839da8eaefeaf8896eea3b9d0f0819c783df6d19cd184ac23b686f6769",
"sha256:6d52f511bf698f1293be52e22e4d1bbca7e00c0ba246b511eb0c1779679ca374",
"sha256:4513d8abfc9ea1e25a9a734b609df7d115eb1f7d99e9a98d0ab8312828c62a3c",
"sha256:e98656eb9fbd4db4ed82bac2710945e6f1fa368110bcac9e38b736d1d4976fa5",
"sha256:6a17ac7c49d8722cf4918705518606cf334bf21da695f0337fb0ffa17042d904",
"sha256:b688321410a1493886d44289e34fce4cc5eeeaf4357073a48d1d3cb4573b2736",
"sha256:3cfd658292395543152eb20f81e558a3ae05e470e1438c6186aa67b90457272d",
"sha256:c6e7d9c1e4a30d140d70cbce5813ea3ec16fe8f67fa221bc66ea1bbbee756c63",
"sha256:0979b96c5a48ce2cb4995837236405ecdd2c9a42d03394361418248b801704fe",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:5f70bf18a086007016e948b04aed3b82103a36bea41755b6cddfaf10ace3c6ef",
"sha256:7ae791422b8e2c2b626faceb851f0aed8716e0214cc06a1b848946bc9bc80782",
"sha256:06d1d52ca1fb81d42c5f1b1bd31a02f6dcc991608ae0777ccf669e54b435febf",
"sha256:95678983f685a72da76cff810a974ddeaf97af1dc4b18d21e56855fe34a7cf68",
"sha256:d09d48b21978fb6b9783fdffd16f5e7584217c07695853c6c36fb9fef9e15609",
"sha256:4607372b8500aa40ea0a54ad2c38d8354c748e32f3b0587f286fd88f640d672f",
"sha256:d627e4f3e3572ce47596477d55a6e11ebaac2c5980dffb7f192b299b61ee54ee",
"sha256:f5c9e0f88ad286e166f65d26aa28f71adb315e554796fce2aa0639b9c1668744",
"sha256:93ee63b1a71b7993c64f129a7b76b76056d86b9032570dd4b832f6de4c1b9ce6",
"sha256:a81a36789246dfa2dab4536ca44ab6fd240025f4e01ccbc1465a66793b204e1a",
"sha256:e9bcf590081d1099a2210f551aa6e0e1626bde1500b05ff900c5aac36356f64b"
]
},
"Metadata": {
"LastTagTime": "2025-12-14T14:28:25.461481319+08:00"
}
}