2026-03-29 12:49:01 UTC
917 MB
noninteractive
GAMES_DIR/root/games
LANGzh_CN.UTF-8
LANGUAGEzh_CN:zh
LC_ALLzh_CN.UTF-8
NODE_VERSION22.17.0
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
STEAMCMD_DIR/root/steamcmd
STEAM_HOME/root
STEAM_USERsteam
[#000] sha256:ec781dee3f4719c2ca0dd9e73cb1d4ed834ed1a406495eb6e44b6dfaad5d1f8f - 3.1% (28.4 MB)
[#001] sha256:ef562033700afdb18788c48aa8e619895b03501f0562105ae2e51c5a2ef2c7ad - 6.97% (63.9 MB)
[#002] sha256:3d8334b2dc9507ed0c6d9a456ae96f04c645515d7c6876f49341b0936cd11c5b - 29.18% (268 MB)
[#003] sha256:ecf630fabb4120bba0d1ecca5a8355f804d5ac37957390e019b80b593c21ae73 - 7.07% (64.8 MB)
[#004] sha256:4f617dc82ad438815d86ddc68fc00e6e003f79b3d905c9d218f53056768fd22b - 21.76% (200 MB)
[#005] sha256:d77718b4f5b28fc621b75b16d21d8e66a3d740e290ae27948386c6e57a66601e - 0.0% (226 Bytes)
[#006] sha256:4a3c7fb347db53bd971919ff267e3eef092fbb8b391c053cd25032fb52d46307 - 0.19% (1.76 MB)
[#007] sha256:936faff5e95808cbcd869ad3fb3070f94042949a5cc8d1368897e39343bd3c26 - 0.0% (4.17 KB)
[#008] sha256:0dacf63aa19b18d9cb2aad4b7c2f6571c1353203da113ad86bb05aa7746566e4 - 0.0% (1.76 KB)
[#009] sha256:e16064a7df6c9803ec1bd33379d46b1a27e5fa66c2a3a6b153d68dc973b04e04 - 0.93% (8.5 MB)
[#010] sha256:49a8e584fafd42cdfe9201dffee8208ae82e736376c55efcb525f696addcbfac - 0.93% (8.5 MB)
[#011] sha256:a54fffaa423d88b7391c12f6cb5ad10298cc65ce796219dd5e886033bae3404f - 0.0% (200 Bytes)
[#012] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#013] sha256:2b82523a8ff78c12ffa96164a2408bbccdf3e624930fb2df7eef34374c68387e - 9.63% (88.3 MB)
[#014] sha256:13281dac58cd0be0cb4dab5b702627e373b21dbf7612cd58edc7b24e4b415ddf - 8.1% (74.3 MB)
[#015] sha256:02390dd2f3e4f36ea79612223c98b3683dc39547c7397ba40eb0847349b801c9 - 0.01% (56 KB)
[#016] sha256:d57ee01d05e1a7929c64bd7c075c937259352759459a93c0441bc95cc705adc1 - 0.11% (1.03 MB)
[#017] sha256:9a1284d27283421fe64b1d6bf1e229c191d72a597d4e5f53f9bd96ca410567e6 - 0.14% (1.28 MB)
[#018] sha256:6d7ca047ace2c82adab441f6fb8a554a6e0e4aa274bcdf25d5a720f79f1b75e1 - 0.0% (40 KB)
[#019] sha256:a319910afa09086485ab522f68ea11bc561e224dd941cb909c388c3f3a1b8e7a - 0.0% (143 Bytes)
[#020] sha256:8da0522039b6611d00af445907acbb45e43516cdc11c7d67ea4b6702ab541dc5 - 11.89% (109 MB)
[#021] sha256:c070886270521fafbba8e0ea314dbce99e101bedb002618db37d717f542e425a - 0.0% (1.79 KB)
[#022] sha256:0f2d8216f626f998524d346984be7bf220c2e4b563eccc9cebe2e139162d7669 - 0.0% (1.21 KB)
[#023] sha256:8929003ce9cf1af01b48226ce81c67fc9a78904c60009d48bcbf9bcf81c69654 - 0.0% (1.21 KB)
[#024] sha256:9adb7cf4b0d24904d6f238d0414ef5d7c3007014d393c15f4c480e64753177b2 - 0.0% (279 Bytes)
[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
# debian.sh --arch 'amd64' out/ 'trixie' '@1773619200'
2026-03-29 12:46:11 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive
2026-03-29 12:46:11 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=amd64
2026-03-29 12:46:11 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/amd64
2026-03-29 12:46:11 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates locales wget curl jq xdg-user-dirs gnupg python3 python3-pip python3-dev python3-venv nano net-tools netcat-openbsd procps tar unzip bzip2 xz-utils fonts-wqy-zenhei fonts-wqy-microhei libc6 acl sudo && apt-get autoremove -y && apt-get autoclean && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-29 12:46:52 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then echo "检测到AMD64架构,安装游戏服务器依赖..." && dpkg --add-architecture i386 && apt-get update && apt-get install -y --no-install-recommends libncurses6:i386 libbz2-1.0:i386 libicu-dev libxml2:i386 libstdc++6:i386 lib32gcc-s1 libc6-i386 lib32stdc++6 libcurl4-gnutls-dev:i386 libcurl4-gnutls-dev libgl1 gcc-13-base:i386 libssl3:i386 libopenal1:i386 libtinfo6:i386 libtcmalloc-minimal4:i386 libgdiplus libc6-dev libasound2 libpulse0 libnss3 libcap2 libatk1.0-0 libcairo2 libcups2 libgtk-3-0 libgdk-pixbuf-2.0-0 libpango-1.0-0 libx11-6 libxt6 libsdl2-2.0-0:i386 libsdl2-2.0-0 libpulse0:i386 libfontconfig1:i386 libfontconfig1 libudev1:i386 libudev1 libpugixml1v5 libvulkan1 libvulkan1:i386 libatk1.0-0:i386 libxcomposite1 libxcomposite1:i386 libxcursor1 libxcursor1:i386 libxrandr2 libxrandr2:i386 libxss1 libxss1:i386 libxtst6 libxtst6:i386 libxi6 libxi6:i386 libxkbfile1 libxkbfile1:i386 libasound2:i386 libgtk-3-0:i386 libdbus-1-3 libdbus-1-3:i386 libelf1 libelf1:i386 libatomic1 libatomic1:i386 zlib1g:i386 libc6:i386 && apt-get autoremove -y && apt-get autoclean && rm -rf /var/lib/apt/lists/*; else echo "检测到ARM64架构,跳过游戏服务器依赖安装"; fi # buildkit
2026-03-29 12:47:09 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y nodejs && npm config set registry https://registry.npmmirror.com && npm install -g npm@latest && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-29 12:47:20 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c install -d -m 0755 /usr/share/keyrings && wget -qO /usr/share/keyrings/adoptium.gpg https://packages.adoptium.net/artifactory/api/gpg/key/public && echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" > /etc/apt/sources.list.d/adoptium.list && apt-get update && apt-get install -y --no-install-recommends temurin-21-jdk && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-29 12:47:21 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # buildkit
2026-03-29 12:47:21 UTC (buildkit.dockerfile.v0)ENV STEAM_USER=steam STEAM_HOME=/root STEAMCMD_DIR=/root/steamcmd GAMES_DIR=/root/games NODE_VERSION=22.17.0
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && sed -i -e 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen && locale-gen # buildkit
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c useradd -m -s /bin/bash ${STEAM_USER} && usermod -aG root ${STEAM_USER} && usermod -aG sudo ${STEAM_USER} && usermod -aG tty ${STEAM_USER} && echo "${STEAM_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # buildkit
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c echo "set +m" >> /home/steam/.bashrc && echo "export SHELL=/bin/bash" >> /home/steam/.bashrc && echo "export TERM=xterm-256color" >> /home/steam/.bashrc && echo "stty -echoctl 2>/dev/null || true" >> /home/steam/.bashrc && echo "set +o monitor" >> /home/steam/.bashrc # buildkit
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c mkdir -p ${STEAMCMD_DIR} ${GAMES_DIR} /app && ln -sf /root /home/steam/root_access && chown -R ${STEAM_USER}:root /home/steam && chown -R ${STEAM_USER}:root /app && chmod -R 755 /home/steam && chmod -R 755 /app && chmod -R 755 /root # buildkit
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c setfacl -R -m u:${STEAM_USER}:rwx /root && setfacl -R -d -m u:${STEAM_USER}:rwx /root && chmod 666 /dev/tty* 2>/dev/null || true && chmod 666 /dev/pts/* 2>/dev/null || true # buildkit
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then echo "JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64" >> /etc/environment && echo "PATH=/usr/lib/jvm/temurin-21-jdk-amd64/bin:\$PATH" >> /etc/environment; elif [ "$TARGETARCH" = "arm64" ]; then echo "JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-arm64" >> /etc/environment && echo "PATH=/usr/lib/jvm/temurin-21-jdk-arm64/bin:\$PATH" >> /etc/environment; fi # buildkit
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)ENV LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_ALL=zh_CN.UTF-8
2026-03-29 12:47:24 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64; elif [ "$TARGETARCH" = "arm64" ]; then export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-arm64; fi # buildkit
2026-03-29 12:47:41 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then echo "在AMD64架构上安装SteamCMD..." && mkdir -p ${STEAMCMD_DIR} && cd ${STEAMCMD_DIR} && (wget -t 5 --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -O steamcmd_linux.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz || wget -t 5 --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -O steamcmd_linux.tar.gz https://media.steampowered.com/installer/steamcmd_linux.tar.gz) && tar -xzvf steamcmd_linux.tar.gz && rm steamcmd_linux.tar.gz && chmod +x ${STEAMCMD_DIR}/steamcmd.sh && cd ${STEAMCMD_DIR} && ./steamcmd.sh +quit && mkdir -p ${STEAM_HOME}/.steam/sdk32 ${STEAM_HOME}/.steam/sdk64 && ln -sf ${STEAMCMD_DIR}/linux32/steamclient.so ${STEAM_HOME}/.steam/sdk32/steamclient.so && ln -sf ${STEAMCMD_DIR}/linux64/steamclient.so ${STEAM_HOME}/.steam/sdk64/steamclient.so && mkdir -p ${STEAM_HOME}/.steam/sdk32/steamclient.so.dbg.sig ${STEAM_HOME}/.steam/sdk64/steamclient.so.dbg.sig && mkdir -p ${STEAM_HOME}/.steam/steam && ln -sf ${STEAMCMD_DIR}/linux32 ${STEAM_HOME}/.steam/steam/linux32 && ln -sf ${STEAMCMD_DIR}/linux64 ${STEAM_HOME}/.steam/steam/linux64 && ln -sf ${STEAMCMD_DIR}/steamcmd ${STEAM_HOME}/.steam/steam/steamcmd; else echo "ARM64架构,跳过SteamCMD安装" && mkdir -p ${STEAMCMD_DIR} ${GAMES_DIR}; fi # buildkit
2026-03-29 12:48:49 UTC (buildkit.dockerfile.v0)COPY /app/dist/package/ /root/ # buildkit
2026-03-29 12:48:49 UTC (buildkit.dockerfile.v0)COPY /app/server/data/ /root/server/data/ # buildkit
2026-03-29 12:48:50 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c mkdir -p /root/data/lib && if [ "$TARGETARCH" = "amd64" ]; then BINARY_NAME="file_zip_linux_x64"; elif [ "$TARGETARCH" = "arm64" ]; then BINARY_NAME="file_zip_linux_arm64"; fi && echo "正在下载 Zip-Tools latest (${BINARY_NAME})..." && wget -t 3 --retry-connrefused --waitretry=2 --read-timeout=30 --timeout=15 -O /root/data/lib/${BINARY_NAME} "https://github.com/MCSManager/Zip-Tools/releases/latest/download/${BINARY_NAME}" && chmod 755 /root/data/lib/${BINARY_NAME} && echo "Zip-Tools 下载完成: ${BINARY_NAME}" # buildkit
2026-03-29 12:48:50 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then BINARY_7Z="7z_linux_x64"; elif [ "$TARGETARCH" = "arm64" ]; then BINARY_7Z="7z_linux_arm64"; fi && echo "正在下载 7z latest (${BINARY_7Z})..." && wget -t 3 --retry-connrefused --waitretry=2 --read-timeout=30 --timeout=15 -O /root/data/lib/${BINARY_7Z} "https://github.com/MCSManager/Zip-Tools/releases/latest/download/${BINARY_7Z}" && chmod 755 /root/data/lib/${BINARY_7Z} && echo "7z 下载完成: ${BINARY_7Z}" # buildkit
2026-03-29 12:48:51 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then PTY_NAME="pty_linux_x64"; elif [ "$TARGETARCH" = "arm64" ]; then PTY_NAME="pty_linux_arm64"; fi && echo "正在下载 PTY latest (${PTY_NAME})..." && wget -t 3 --retry-connrefused --waitretry=2 --read-timeout=30 --timeout=15 -O /root/data/lib/${PTY_NAME} "https://github.com/MCSManager/PTY/releases/tag/latest/download/${PTY_NAME}" && chmod 755 /root/data/lib/${PTY_NAME} && echo "PTY 下载完成: ${PTY_NAME}" # buildkit
2026-03-29 12:48:51 UTC (buildkit.dockerfile.v0)COPY /app/server/src/Python/requirements.txt /tmp/requirements.txt # buildkit
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c PIP_BREAK_SYSTEM_PACKAGES=1 pip3 install --no-cache-dir -r /tmp/requirements.txt && rm -rf /root/.cache/pip /home/steam/.cache /tmp/* /var/tmp/* && chmod -R 775 /root /root/server /root/server/data # buildkit
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c setfacl -R -m u:steam:rwx /root && setfacl -R -d -m u:steam:rwx /root && echo "export ROOT_ACCESS=/root" >> /home/steam/.bashrc && echo "export PATH=/root:\$PATH" >> /home/steam/.bashrc && chown steam:tty /dev/tty* 2>/dev/null || true && chmod g+rw /dev/tty* 2>/dev/null || true # buildkit
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)COPY start.sh /root/start.sh # buildkit
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c chmod +x /root/start.sh # buildkit
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=amd64 TARGETPLATFORM=linux/amd64 /bin/sh -c echo '#!/bin/bash' > /home/steam/steam_shell.sh && echo 'export SHELL=/bin/bash' >> /home/steam/steam_shell.sh && echo 'export TERM=xterm-256color' >> /home/steam/steam_shell.sh && echo 'set +m' >> /home/steam/steam_shell.sh && echo 'set +o monitor' >> /home/steam/steam_shell.sh && echo 'stty -echoctl 2>/dev/null || true' >> /home/steam/steam_shell.sh && echo 'cd /root' >> /home/steam/steam_shell.sh && echo 'exec /bin/bash --login "$@"' >> /home/steam/steam_shell.sh && chmod +x /home/steam/steam_shell.sh && chown steam:steam /home/steam/steam_shell.sh # buildkit
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)VOLUME [/root/games]
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)EXPOSE [3001/tcp]
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)USER root
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)WORKDIR /root
2026-03-29 12:49:01 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/root/start.sh"]
2026-03-29 13:05:11 UTC
524 MB
noninteractive
GAMES_DIR/root/games
LANGzh_CN.UTF-8
LANGUAGEzh_CN:zh
LC_ALLzh_CN.UTF-8
NODE_VERSION22.17.0
PATH/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin
STEAMCMD_DIR/root/steamcmd
STEAM_HOME/root
STEAM_USERsteam
[#000] sha256:f4badedbec24858ef2dc51256f6418328e305e9c3c5a5e093581f83425618bd5 - 5.48% (28.7 MB)
[#001] sha256:5aa57f3e8a8c0a692d4dc9ddc761fb38f8e7a16ac2551353d0e29882922d2ef9 - 11.94% (62.6 MB)
[#002] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#003] sha256:c0b64129dd00f79069ef51017433b2174751dad40025c5c9ca71b788da2e0bb0 - 12.37% (64.8 MB)
[#004] sha256:cd9ed0f842370192f96c69fc44852725abeb012db67081fe198373b02a1898a2 - 38.04% (199 MB)
[#005] sha256:3858349e2948e194fe4761c87ec189cfcd55ac4096cad4b15ea22688babf0189 - 0.0% (227 Bytes)
[#006] sha256:af1a6bb3aaf5a7cfdae63370c235cfa349be75a3894fa052339311a3b1884885 - 0.34% (1.76 MB)
[#007] sha256:6835855d407f8020dc1e7c1b1b0dffbbd08072fc1dade2ca9bf5b4d9f89ee1a8 - 0.0% (4.05 KB)
[#008] sha256:28621bda14ea40563cab39b21bc50b1f7a1d8b18fa4e9701c09e7641ba71d4ab - 0.0% (1.76 KB)
[#009] sha256:1d68b16c09ff6c7621a379afbb5660fe4fd68fb3aea792195c059daea4abad08 - 1.62% (8.5 MB)
[#010] sha256:dd99ac7287ed9811f6bff1fa19e70a289b210ce2bc7f66b5a3ba2a9febf22bf6 - 1.62% (8.5 MB)
[#011] sha256:f354b6eeaf4ad778b41d3dfcdc74029601f8ca5a42ab10b73199a647b6f2ff06 - 0.0% (200 Bytes)
[#012] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#013] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
[#014] sha256:8a17544bdada28fd715cfabee001630e94381372319c5a517421b18fb5084879 - 14.17% (74.3 MB)
[#015] sha256:3066b50db50bb1b052a7c86fff94a44a0394271bfe3a1e14a43ecfb51f95588a - 0.01% (56 KB)
[#016] sha256:1efbe840934f36a1bb5566f1c1d1d6cd95d9cdea581d1f1f78d73932f88c5616 - 0.19% (1000 KB)
[#017] sha256:262ef3c15eb8d404e25a4a2ce5a6cd8923480edadaa7028263161947d3b6a246 - 0.23% (1.19 MB)
[#018] sha256:fd6ed4c7756663b8228f7b21f85a7a301e08bd6dd8b835cc8de7e0c843914701 - 0.01% (40 KB)
[#019] sha256:c7b888b04613265096c1bf9deb5ba17cdfce6b16b230db286ad558feace2b946 - 0.0% (143 Bytes)
[#020] sha256:2317534a42191f7c50f21b7af2838481385c9c9d20ac111c80024d8f697769b2 - 13.98% (73.2 MB)
[#021] sha256:bb4d724d7179a7054e7f9b59cc30f31e36f33b1948f52c7a5b447f9177026064 - 0.0% (1.79 KB)
[#022] sha256:3b0be074f7ea864a07958761b418d31229943b902572ae42ff5e9e33adcab149 - 0.0% (1.21 KB)
[#023] sha256:9bddca71859d8cdc76c220f27971dd58af4889731069e1b4cfae9360d9397c47 - 0.0% (1.21 KB)
[#024] sha256:c65bae32c15528f87d7a9873d2e25d50b792e1b146dd4664577d0bc7ffa739f0 - 0.0% (280 Bytes)
[#025] sha256:4f4fb700ef54461cfa02571ae0db9a0dc1e0cdb5577484a6d75e68dc38e8acc1 - 0.0% (32 Bytes)
# debian.sh --arch 'arm64' out/ 'trixie' '@1773619200'
2026-03-29 12:50:23 UTC (buildkit.dockerfile.v0)ENV DEBIAN_FRONTEND=noninteractive
2026-03-29 12:50:23 UTC (buildkit.dockerfile.v0)ARG TARGETARCH=arm64
2026-03-29 12:50:23 UTC (buildkit.dockerfile.v0)ARG TARGETPLATFORM=linux/arm64
2026-03-29 12:50:23 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c apt-get update && apt-get install -y --no-install-recommends ca-certificates locales wget curl jq xdg-user-dirs gnupg python3 python3-pip python3-dev python3-venv nano net-tools netcat-openbsd procps tar unzip bzip2 xz-utils fonts-wqy-zenhei fonts-wqy-microhei libc6 acl sudo && apt-get autoremove -y && apt-get autoclean && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-29 12:50:23 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then echo "检测到AMD64架构,安装游戏服务器依赖..." && dpkg --add-architecture i386 && apt-get update && apt-get install -y --no-install-recommends libncurses6:i386 libbz2-1.0:i386 libicu-dev libxml2:i386 libstdc++6:i386 lib32gcc-s1 libc6-i386 lib32stdc++6 libcurl4-gnutls-dev:i386 libcurl4-gnutls-dev libgl1 gcc-13-base:i386 libssl3:i386 libopenal1:i386 libtinfo6:i386 libtcmalloc-minimal4:i386 libgdiplus libc6-dev libasound2 libpulse0 libnss3 libcap2 libatk1.0-0 libcairo2 libcups2 libgtk-3-0 libgdk-pixbuf-2.0-0 libpango-1.0-0 libx11-6 libxt6 libsdl2-2.0-0:i386 libsdl2-2.0-0 libpulse0:i386 libfontconfig1:i386 libfontconfig1 libudev1:i386 libudev1 libpugixml1v5 libvulkan1 libvulkan1:i386 libatk1.0-0:i386 libxcomposite1 libxcomposite1:i386 libxcursor1 libxcursor1:i386 libxrandr2 libxrandr2:i386 libxss1 libxss1:i386 libxtst6 libxtst6:i386 libxi6 libxi6:i386 libxkbfile1 libxkbfile1:i386 libasound2:i386 libgtk-3-0:i386 libdbus-1-3 libdbus-1-3:i386 libelf1 libelf1:i386 libatomic1 libatomic1:i386 zlib1g:i386 libc6:i386 && apt-get autoremove -y && apt-get autoclean && rm -rf /var/lib/apt/lists/*; else echo "检测到ARM64架构,跳过游戏服务器依赖安装"; fi # buildkit
2026-03-29 12:51:51 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c curl -fsSL https://deb.nodesource.com/setup_22.x | bash - && apt-get install -y nodejs && npm config set registry https://registry.npmmirror.com && npm install -g npm@latest && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-29 12:52:55 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c install -d -m 0755 /usr/share/keyrings && wget -qO /usr/share/keyrings/adoptium.gpg https://packages.adoptium.net/artifactory/api/gpg/key/public && echo "deb [signed-by=/usr/share/keyrings/adoptium.gpg] https://packages.adoptium.net/artifactory/deb $(awk -F= '/^VERSION_CODENAME/{print$2}' /etc/os-release) main" > /etc/apt/sources.list.d/adoptium.list && apt-get update && apt-get install -y --no-install-recommends temurin-21-jdk && rm -rf /var/lib/apt/lists/* # buildkit
2026-03-29 12:52:58 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c pip3 config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple # buildkit
2026-03-29 12:52:58 UTC (buildkit.dockerfile.v0)ENV STEAM_USER=steam STEAM_HOME=/root STEAMCMD_DIR=/root/steamcmd GAMES_DIR=/root/games NODE_VERSION=22.17.0
2026-03-29 12:53:18 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c sed -i -e 's/# en_US.UTF-8 UTF-8/en_US.UTF-8 UTF-8/' /etc/locale.gen && sed -i -e 's/# zh_CN.UTF-8 UTF-8/zh_CN.UTF-8 UTF-8/' /etc/locale.gen && locale-gen # buildkit
2026-03-29 12:53:18 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c useradd -m -s /bin/bash ${STEAM_USER} && usermod -aG root ${STEAM_USER} && usermod -aG sudo ${STEAM_USER} && usermod -aG tty ${STEAM_USER} && echo "${STEAM_USER} ALL=(ALL) NOPASSWD:ALL" >> /etc/sudoers # buildkit
2026-03-29 12:53:18 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c echo "set +m" >> /home/steam/.bashrc && echo "export SHELL=/bin/bash" >> /home/steam/.bashrc && echo "export TERM=xterm-256color" >> /home/steam/.bashrc && echo "stty -echoctl 2>/dev/null || true" >> /home/steam/.bashrc && echo "set +o monitor" >> /home/steam/.bashrc # buildkit
2026-03-29 12:53:19 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c mkdir -p ${STEAMCMD_DIR} ${GAMES_DIR} /app && ln -sf /root /home/steam/root_access && chown -R ${STEAM_USER}:root /home/steam && chown -R ${STEAM_USER}:root /app && chmod -R 755 /home/steam && chmod -R 755 /app && chmod -R 755 /root # buildkit
2026-03-29 12:53:19 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c setfacl -R -m u:${STEAM_USER}:rwx /root && setfacl -R -d -m u:${STEAM_USER}:rwx /root && chmod 666 /dev/tty* 2>/dev/null || true && chmod 666 /dev/pts/* 2>/dev/null || true # buildkit
2026-03-29 12:53:19 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then echo "JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64" >> /etc/environment && echo "PATH=/usr/lib/jvm/temurin-21-jdk-amd64/bin:\$PATH" >> /etc/environment; elif [ "$TARGETARCH" = "arm64" ]; then echo "JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-arm64" >> /etc/environment && echo "PATH=/usr/lib/jvm/temurin-21-jdk-arm64/bin:\$PATH" >> /etc/environment; fi # buildkit
2026-03-29 12:53:19 UTC (buildkit.dockerfile.v0)ENV LANG=zh_CN.UTF-8 LANGUAGE=zh_CN:zh LC_ALL=zh_CN.UTF-8
2026-03-29 12:53:19 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-amd64; elif [ "$TARGETARCH" = "arm64" ]; then export JAVA_HOME=/usr/lib/jvm/temurin-21-jdk-arm64; fi # buildkit
2026-03-29 12:53:19 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then echo "在AMD64架构上安装SteamCMD..." && mkdir -p ${STEAMCMD_DIR} && cd ${STEAMCMD_DIR} && (wget -t 5 --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -O steamcmd_linux.tar.gz https://steamcdn-a.akamaihd.net/client/installer/steamcmd_linux.tar.gz || wget -t 5 --retry-connrefused --waitretry=1 --read-timeout=20 --timeout=15 -O steamcmd_linux.tar.gz https://media.steampowered.com/installer/steamcmd_linux.tar.gz) && tar -xzvf steamcmd_linux.tar.gz && rm steamcmd_linux.tar.gz && chmod +x ${STEAMCMD_DIR}/steamcmd.sh && cd ${STEAMCMD_DIR} && ./steamcmd.sh +quit && mkdir -p ${STEAM_HOME}/.steam/sdk32 ${STEAM_HOME}/.steam/sdk64 && ln -sf ${STEAMCMD_DIR}/linux32/steamclient.so ${STEAM_HOME}/.steam/sdk32/steamclient.so && ln -sf ${STEAMCMD_DIR}/linux64/steamclient.so ${STEAM_HOME}/.steam/sdk64/steamclient.so && mkdir -p ${STEAM_HOME}/.steam/sdk32/steamclient.so.dbg.sig ${STEAM_HOME}/.steam/sdk64/steamclient.so.dbg.sig && mkdir -p ${STEAM_HOME}/.steam/steam && ln -sf ${STEAMCMD_DIR}/linux32 ${STEAM_HOME}/.steam/steam/linux32 && ln -sf ${STEAMCMD_DIR}/linux64 ${STEAM_HOME}/.steam/steam/linux64 && ln -sf ${STEAMCMD_DIR}/steamcmd ${STEAM_HOME}/.steam/steam/steamcmd; else echo "ARM64架构,跳过SteamCMD安装" && mkdir -p ${STEAMCMD_DIR} ${GAMES_DIR}; fi # buildkit
2026-03-29 13:04:53 UTC (buildkit.dockerfile.v0)COPY /app/dist/package/ /root/ # buildkit
2026-03-29 13:04:54 UTC (buildkit.dockerfile.v0)COPY /app/server/data/ /root/server/data/ # buildkit
2026-03-29 13:04:55 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c mkdir -p /root/data/lib && if [ "$TARGETARCH" = "amd64" ]; then BINARY_NAME="file_zip_linux_x64"; elif [ "$TARGETARCH" = "arm64" ]; then BINARY_NAME="file_zip_linux_arm64"; fi && echo "正在下载 Zip-Tools latest (${BINARY_NAME})..." && wget -t 3 --retry-connrefused --waitretry=2 --read-timeout=30 --timeout=15 -O /root/data/lib/${BINARY_NAME} "https://github.com/MCSManager/Zip-Tools/releases/latest/download/${BINARY_NAME}" && chmod 755 /root/data/lib/${BINARY_NAME} && echo "Zip-Tools 下载完成: ${BINARY_NAME}" # buildkit
2026-03-29 13:04:56 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then BINARY_7Z="7z_linux_x64"; elif [ "$TARGETARCH" = "arm64" ]; then BINARY_7Z="7z_linux_arm64"; fi && echo "正在下载 7z latest (${BINARY_7Z})..." && wget -t 3 --retry-connrefused --waitretry=2 --read-timeout=30 --timeout=15 -O /root/data/lib/${BINARY_7Z} "https://github.com/MCSManager/Zip-Tools/releases/latest/download/${BINARY_7Z}" && chmod 755 /root/data/lib/${BINARY_7Z} && echo "7z 下载完成: ${BINARY_7Z}" # buildkit
2026-03-29 13:04:57 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c if [ "$TARGETARCH" = "amd64" ]; then PTY_NAME="pty_linux_x64"; elif [ "$TARGETARCH" = "arm64" ]; then PTY_NAME="pty_linux_arm64"; fi && echo "正在下载 PTY latest (${PTY_NAME})..." && wget -t 3 --retry-connrefused --waitretry=2 --read-timeout=30 --timeout=15 -O /root/data/lib/${PTY_NAME} "https://github.com/MCSManager/PTY/releases/tag/latest/download/${PTY_NAME}" && chmod 755 /root/data/lib/${PTY_NAME} && echo "PTY 下载完成: ${PTY_NAME}" # buildkit
2026-03-29 13:04:57 UTC (buildkit.dockerfile.v0)COPY /app/server/src/Python/requirements.txt /tmp/requirements.txt # buildkit
2026-03-29 13:05:10 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c PIP_BREAK_SYSTEM_PACKAGES=1 pip3 install --no-cache-dir -r /tmp/requirements.txt && rm -rf /root/.cache/pip /home/steam/.cache /tmp/* /var/tmp/* && chmod -R 775 /root /root/server /root/server/data # buildkit
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c setfacl -R -m u:steam:rwx /root && setfacl -R -d -m u:steam:rwx /root && echo "export ROOT_ACCESS=/root" >> /home/steam/.bashrc && echo "export PATH=/root:\$PATH" >> /home/steam/.bashrc && chown steam:tty /dev/tty* 2>/dev/null || true && chmod g+rw /dev/tty* 2>/dev/null || true # buildkit
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)COPY start.sh /root/start.sh # buildkit
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c chmod +x /root/start.sh # buildkit
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)RUN |2 TARGETARCH=arm64 TARGETPLATFORM=linux/arm64 /bin/sh -c echo '#!/bin/bash' > /home/steam/steam_shell.sh && echo 'export SHELL=/bin/bash' >> /home/steam/steam_shell.sh && echo 'export TERM=xterm-256color' >> /home/steam/steam_shell.sh && echo 'set +m' >> /home/steam/steam_shell.sh && echo 'set +o monitor' >> /home/steam/steam_shell.sh && echo 'stty -echoctl 2>/dev/null || true' >> /home/steam/steam_shell.sh && echo 'cd /root' >> /home/steam/steam_shell.sh && echo 'exec /bin/bash --login "$@"' >> /home/steam/steam_shell.sh && chmod +x /home/steam/steam_shell.sh && chown steam:steam /home/steam/steam_shell.sh # buildkit
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)VOLUME [/root/games]
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)EXPOSE [3001/tcp]
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)USER root
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)WORKDIR /root
2026-03-29 13:05:11 UTC (buildkit.dockerfile.v0)ENTRYPOINT ["/root/start.sh"]
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.