镜像构建历史
# 2025-10-17 07:30:38 0.00B 设置默认要执行的命令
CMD ["sh" "-c" "java -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/tmp/stirling-pdf -jar /app.jar & /opt/venv/bin/unoserver --port 2003 --interface 127.0.0.1"]
# 2025-10-17 07:30:38 0.00B 配置容器启动时运行的命令
ENTRYPOINT ["tini" "--" "/scripts/init.sh"]
# 2025-10-17 07:30:38 0.00B 声明容器运行时监听的端口
EXPOSE [8080/tcp]
# 2025-10-17 07:30:38 1.85GB 执行命令并创建新的镜像层
RUN |1 VERSION_TAG=1.5.0 /bin/sh -c echo "@main https://dl-cdn.alpinelinux.org/alpine/edge/main" | tee -a /etc/apk/repositories && echo "@community https://dl-cdn.alpinelinux.org/alpine/edge/community" | tee -a /etc/apk/repositories && echo "@testing https://dl-cdn.alpinelinux.org/alpine/edge/testing" | tee -a /etc/apk/repositories && apk upgrade --no-cache -a && apk add --no-cache ca-certificates tzdata tini bash curl shadow su-exec openssl openssl-dev openjdk21-jre gcompat libc6-compat libreoffice poppler-utils tesseract-ocr-data-eng tesseract-ocr-data-chi_sim tesseract-ocr-data-deu tesseract-ocr-data-fra tesseract-ocr-data-por unpaper py3-opencv python3 ocrmypdf py3-pip py3-pillow@testing py3-pdf2image@testing font-urw-base35 && python3 -m venv /opt/venv && /opt/venv/bin/pip install --no-cache-dir --upgrade pip setuptools && /opt/venv/bin/pip install --no-cache-dir --upgrade unoserver weasyprint && ln -s /usr/lib/libreoffice/program/uno.py /opt/venv/lib/python3.12/site-packages/ && ln -s /usr/lib/libreoffice/program/unohelper.py /opt/venv/lib/python3.12/site-packages/ && ln -s /usr/lib/libreoffice/program /opt/venv/lib/python3.12/site-packages/LibreOffice && mv /usr/share/tessdata /usr/share/tessdata-original && mkdir -p $HOME /configs /logs /customFiles /pipeline/watchedFolders /pipeline/finishedFolders /tmp/stirling-pdf && ln -s /usr/share/fontconfig/conf.avail/69-urw-*.conf /etc/fonts/conf.d/ && fc-cache -f -v && chmod +x /scripts/* && addgroup -S stirlingpdfgroup && adduser -S stirlingpdfuser -G stirlingpdfgroup && chown -R stirlingpdfuser:stirlingpdfgroup $HOME /scripts /usr/share/fonts/opentype/noto /configs /customFiles /pipeline /tmp/stirling-pdf && chown stirlingpdfuser:stirlingpdfgroup /app.jar # buildkit
# 2025-10-17 07:30:38 0.00B 设置环境变量 DISABLE_ADDITIONAL_FEATURES VERSION_TAG JAVA_BASE_OPTS -XX:MaxRAMPercentage -XX:InitiatingHeapOccupancyPercent -XX:G1PeriodicGCInterval -XX:G1PeriodicGCSystemLoadThreshold JAVA_CUSTOM_OPTS HOME PUID PGID UMASK PYTHONPATH UNO_PATH URE_BOOTSTRAP PATH STIRLING_TEMPFILES_DIRECTORY TMPDIR TEMP TMP
ENV DISABLE_ADDITIONAL_FEATURES=true VERSION_TAG=1.5.0 JAVA_BASE_OPTS=-XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70 JAVA_CUSTOM_OPTS= HOME=/home/stirlingpdfuser PUID=1000 PGID=1000 UMASK=022 PYTHONPATH=/usr/lib/libreoffice/program:/opt/venv/lib/python3.12/site-packages UNO_PATH=/usr/lib/libreoffice/program URE_BOOTSTRAP=file:///usr/lib/libreoffice/program/fundamentalrc PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/venv/bin STIRLING_TEMPFILES_DIRECTORY=/tmp/stirling-pdf TMPDIR=/tmp/stirling-pdf TEMP=/tmp/stirling-pdf TMP=/tmp/stirling-pdf
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.keywords=PDF, manipulation, merge, split, convert, OCR, watermark
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.version=1.5.0
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.authors=Stirling-Tools
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL maintainer=Stirling-Tools
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.documentation=https://docs.stirlingpdf.com
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.url=https://www.stirlingpdf.com
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.vendor=Stirling-Tools
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.licenses=MIT
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.source=https://github.com/Stirling-Tools/Stirling-PDF
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.description=A powerful locally hosted web-based PDF manipulation tool supporting 50+ operations including merging, splitting, conversion, OCR, watermarking, and more.
# 2025-10-17 07:30:38 0.00B 添加元数据标签
LABEL org.opencontainers.image.title=Stirling-PDF
# 2025-10-17 07:30:38 0.00B 定义构建参数
ARG VERSION_TAG=1.5.0
# 2025-10-17 07:27:39 98.11MB 复制新文件或目录到容器中
COPY app/core/build/libs/*.jar app.jar # buildkit
# 2025-10-17 06:10:06 28.37MB 复制新文件或目录到容器中
COPY app/core/src/main/resources/static/fonts/*.ttf /usr/share/fonts/opentype/noto/ # buildkit
# 2025-10-17 06:10:06 37.06KB 复制新文件或目录到容器中
COPY scripts /scripts # buildkit
# 2025-10-08 19:04:56 0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
# 2025-10-08 19:04:56 8.51MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.22.2-aarch64.tar.gz / # buildkit
镜像信息
{
"Id": "sha256:a8e27d7f98a7ffb71181fc0d400d8c9931ead667b735ac5f40899a7d97663f49",
"RepoTags": [
"frooodle/s-pdf:1.5.0",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/frooodle/s-pdf:1.5.0-linuxarm64"
],
"RepoDigests": [
"frooodle/s-pdf@sha256:bfe2b8dd378c4f3d5fc1d2fc7649a357d0916b3a713022aa70ac3f08d6302cbc",
"swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/frooodle/s-pdf@sha256:3b16b955f7475faeed2e352fc710ba585b18c098564e262725d82a50e5046cb9"
],
"Parent": "",
"Comment": "buildkit.dockerfile.v0",
"Created": "2025-10-16T23:30:38.844268633Z",
"Container": "",
"ContainerConfig": null,
"DockerVersion": "",
"Author": "",
"Config": {
"Hostname": "",
"Domainname": "",
"User": "",
"AttachStdin": false,
"AttachStdout": false,
"AttachStderr": false,
"ExposedPorts": {
"8080/tcp": {}
},
"Tty": false,
"OpenStdin": false,
"StdinOnce": false,
"Env": [
"PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/opt/venv/bin",
"DISABLE_ADDITIONAL_FEATURES=true",
"VERSION_TAG=1.5.0",
"JAVA_BASE_OPTS=-XX:+UnlockExperimentalVMOptions -XX:MaxRAMPercentage=75 -XX:InitiatingHeapOccupancyPercent=20 -XX:+G1PeriodicGCInvokesConcurrent -XX:G1PeriodicGCInterval=10000 -XX:+UseStringDeduplication -XX:G1PeriodicGCSystemLoadThreshold=70",
"JAVA_CUSTOM_OPTS=",
"HOME=/home/stirlingpdfuser",
"PUID=1000",
"PGID=1000",
"UMASK=022",
"PYTHONPATH=/usr/lib/libreoffice/program:/opt/venv/lib/python3.12/site-packages",
"UNO_PATH=/usr/lib/libreoffice/program",
"URE_BOOTSTRAP=file:///usr/lib/libreoffice/program/fundamentalrc",
"STIRLING_TEMPFILES_DIRECTORY=/tmp/stirling-pdf",
"TMPDIR=/tmp/stirling-pdf",
"TEMP=/tmp/stirling-pdf",
"TMP=/tmp/stirling-pdf"
],
"Cmd": [
"sh",
"-c",
"java -Dfile.encoding=UTF-8 -Djava.io.tmpdir=/tmp/stirling-pdf -jar /app.jar \u0026 /opt/venv/bin/unoserver --port 2003 --interface 127.0.0.1"
],
"ArgsEscaped": true,
"Image": "",
"Volumes": null,
"WorkingDir": "/",
"Entrypoint": [
"tini",
"--",
"/scripts/init.sh"
],
"OnBuild": null,
"Labels": {
"maintainer": "Stirling-Tools",
"org.opencontainers.image.authors": "Stirling-Tools",
"org.opencontainers.image.created": "2025-10-16T23:27:34.861Z",
"org.opencontainers.image.description": "#1 Locally hosted web application that allows you to perform various operations on PDF files",
"org.opencontainers.image.documentation": "https://docs.stirlingpdf.com",
"org.opencontainers.image.keywords": "PDF, manipulation, merge, split, convert, OCR, watermark",
"org.opencontainers.image.licenses": "NOASSERTION",
"org.opencontainers.image.revision": "ac88a952d55b2a790521cb63e788d0a27301c482",
"org.opencontainers.image.source": "https://github.com/Stirling-Tools/Stirling-PDF",
"org.opencontainers.image.title": "Stirling-PDF",
"org.opencontainers.image.url": "https://github.com/Stirling-Tools/Stirling-PDF",
"org.opencontainers.image.vendor": "Stirling-Tools",
"org.opencontainers.image.version": "1.5.0"
}
},
"Architecture": "arm64",
"Os": "linux",
"Size": 1982851504,
"GraphDriver": {
"Data": {
"LowerDir": "/var/lib/docker/overlay2/b3baf7e7288febb6f918312c920acaec9a8667be59385f31f1f4a0883f27f9b4/diff:/var/lib/docker/overlay2/2eb681814b83beaa1ce46742a241a102038eae2861f3e3b7da37f2e837a3445b/diff:/var/lib/docker/overlay2/dd5e4e987dc5a7b027529c57d454cf9d4f2b03e659ec7fc1eec32f9ef033cbc7/diff:/var/lib/docker/overlay2/e610a6468045f2f953521fdc69cfffdb5ebace249451875ef2c9fd3931700684/diff",
"MergedDir": "/var/lib/docker/overlay2/1e8ea0a1ed7f76d1ee74dc0ff139d6e51dfa3c83759eb90c4ed37540dafcd130/merged",
"UpperDir": "/var/lib/docker/overlay2/1e8ea0a1ed7f76d1ee74dc0ff139d6e51dfa3c83759eb90c4ed37540dafcd130/diff",
"WorkDir": "/var/lib/docker/overlay2/1e8ea0a1ed7f76d1ee74dc0ff139d6e51dfa3c83759eb90c4ed37540dafcd130/work"
},
"Name": "overlay2"
},
"RootFS": {
"Type": "layers",
"Layers": [
"sha256:0e64f2360a448b389c83fcbc3705e1364ccf43f004bb55233c689e7ce59a1ae9",
"sha256:80e95f96f97b8a8eaec6c9f9c77359ee438659eff470e8e8022395d16e9d059b",
"sha256:759bfe26af319cc9561c618da93f1144685d4fdc1059fd16aa2ca4a0bc4296c6",
"sha256:00d086c8a067fc1bf97c0f3a6b4afc04ce3529960c05a138ad2b93eb118ce0bf",
"sha256:da4a2382aa33ba828f6e4ee0d8d5bb639f6f45784273ac16221e0137608d7436"
]
},
"Metadata": {
"LastTagTime": "2025-11-08T20:53:57.694169831+08:00"
}
}