Namespace
hhk0571
Image / Tag
clash-for-linux:1.6.5
Content Digest
sha256:3bc97454a1580524ff507d944158648eeb2a39f4635b72c58723973385eb9074
Details
Created

2026-08-13 03:59:56 UTC

Size

30.2 MB

Content Digest
Environment
PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:17a39c0ba978cc27001e9c56a480f98106e1ab74bd56eb302f9fd4cf758ea43f - 10.79% (3.26 MB)

[#001] sha256:07c4b9a3c1c0b2ecabc76347427adf25fad6d1667f9f1cb399f843494bc7fc77 - 13.17% (3.98 MB)

[#002] sha256:1a8573f7c0db74cc9e6cf480225735a75608b7ed514ee65a4eff32f8d7bbbeb4 - 0.0% (105 Bytes)

[#003] sha256:3e5d80a67f285d6f900e78f5a4b2df0aa3326d26ccb4eaf19ea1502c2b69f227 - 43.4% (13.1 MB)

[#004] sha256:b9824abdccd2f1f867ecab2de44533e86f4d0960fdd01a3285ad8a87f3c207de - 3.1% (961 KB)

[#005] sha256:41ca61f222ee5ce561cd116d404f35fa41ef55ea4fcac42275bfe4f9a4ce99db - 17.51% (5.29 MB)

[#006] sha256:3b29d1001416669b1c60add9cc6873cc150d6e41c672fcd8d98fa091233a742a - 12.01% (3.63 MB)

[#007] sha256:59e6f4e5e6f0aaa8b177e52160bacb6261af32835d4f30b947c324ac4dd68d18 - 0.0% (423 Bytes)

[#008] sha256:178a9507c2dfdbc36928d9827fe2bce5736688f4a6b6926ba7b79700e7f2b89b - 0.02% (6.09 KB)

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


History
2025-10-08 11:10:40 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:10:40 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-08-13 03:59:53 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/amd64

2026-08-13 03:59:53 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-13 03:59:53 UTC (buildkit.dockerfile.v0)

ARG CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e

2026-08-13 03:59:53 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/amd64 TARGETARCH=amd64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c echo "cache=${CACHEBUST:-}" > /dev/null && { [ -n "${http_proxy}" ] && echo "Using proxy: ${http_proxy}" || true; } && apk add --no-cache curl bash wget gzip tar tzdata dcron && rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* # buildkit

2026-08-13 03:59:53 UTC (buildkit.dockerfile.v0)

WORKDIR /clash-for-linux

2026-08-13 03:59:53 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-13 03:59:54 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/amd64 TARGETARCH=amd64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c MIHOMO_VERSION="v1.19.24" && case ${TARGETARCH} in amd64) CLASH_ASSET="mihomo-linux-amd64-v1-${MIHOMO_VERSION}.gz" ;; arm64) CLASH_ASSET="mihomo-linux-arm64-${MIHOMO_VERSION}.gz" ;; arm) CLASH_ASSET="mihomo-linux-armv7-${MIHOMO_VERSION}.gz" ;; *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; esac && echo "Building for ${TARGETPLATFORM}, downloading Mihomo ${MIHOMO_VERSION} (${CLASH_ASSET})..." && wget -O /tmp/clash.gz "https://github.com/MetaCubeX/mihomo/releases/download/${MIHOMO_VERSION}/${CLASH_ASSET}" && gunzip /tmp/clash.gz && mv /tmp/clash /usr/local/bin/clash && chmod +x /usr/local/bin/clash && rm -rf /tmp/* /var/tmp/* && echo "Mihomo ${MIHOMO_VERSION} downloaded and installed as /usr/local/bin/clash" # buildkit

2026-08-13 03:59:55 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/amd64 TARGETARCH=amd64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c mkdir -p /root/.config/clash/dashboard && METACUBEXD_VERSION="v1.247.1" && echo "Downloading MetaCubeXD dashboard ${METACUBEXD_VERSION}..." && wget -O /tmp/dashboard.tgz "https://github.com/MetaCubeX/metacubexd/releases/download/${METACUBEXD_VERSION}/compressed-dist.tgz" && tar -xzf /tmp/dashboard.tgz -C /root/.config/clash/dashboard/ && rm -rf /tmp/* /var/tmp/* && echo "MetaCubeXD dashboard downloaded and extracted" # buildkit

2026-08-13 03:59:55 UTC (buildkit.dockerfile.v0)

ARG GEO_DAT_URL=

2026-08-13 03:59:55 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/amd64 TARGETARCH=amd64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c set -u; mkdir -p /root/.config/clash; if [ -n "${GEO_DAT_URL:-}" ]; then GEO_URL_LIST="${GEO_DAT_URL} https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest"; else GEO_URL_LIST="https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest"; fi; fetch_geo() { _file="$1"; for _base in $GEO_URL_LIST; do _try=1; while [ "$_try" -le 3 ]; do echo "⬇️ Downloading ${_file} from ${_base} (attempt ${_try}/3) ..."; if wget -T 30 -q -O "/root/.config/clash/${_file}" "${_base}/${_file}"; then echo "✅ ${_file} downloaded from ${_base}"; return 0; fi; rm -f "/root/.config/clash/${_file}"; _try=$((_try + 1)); sleep 3; done; done; echo "⚠️ WARNING: failed to download ${_file} from all sources; build continues."; echo " You can provide it later via the /app/config mount (${_file})."; return 0; }; fetch_geo geoip.metadb; fetch_geo geosite.dat; rm -rf /tmp/* /var/tmp/*; echo "Geo databases present in /root/.config/clash:"; ls -lh /root/.config/clash/ || true # buildkit

2026-08-13 03:59:55 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=amd64

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/amd64 TARGETARCH=amd64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c mkdir -p /app/tools && SUBCONVERTER_VERSION="v0.9.0" && case ${TARGETARCH} in amd64) SUBCONVERTER_ARCH="linux64" ;; arm64) SUBCONVERTER_ARCH="aarch64" ;; arm) SUBCONVERTER_ARCH="armv7" ;; *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; esac && echo "Downloading subconverter ${SUBCONVERTER_VERSION} for $SUBCONVERTER_ARCH..." && wget -O /tmp/subconverter.tar.gz "https://github.com/tindy2013/subconverter/releases/download/${SUBCONVERTER_VERSION}/subconverter_${SUBCONVERTER_ARCH}.tar.gz" && tar -xzf /tmp/subconverter.tar.gz -C /app/tools && chmod +x /app/tools/subconverter/subconverter && rm -rf /tmp/* /var/tmp/* && echo "Subconverter ${SUBCONVERTER_VERSION} downloaded and installed" # buildkit

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

COPY config/config.yaml.example /config/config.yaml.example # buildkit

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

EXPOSE [7890/tcp 7891/tcp 9090/tcp]

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

COPY scripts/*.sh /app/scripts/ # buildkit

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/amd64 TARGETARCH=amd64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c chmod +x /app/scripts/*.sh # buildkit

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD /bin/sh /app/scripts/healthcheck.sh] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3}

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/app/scripts/entrypoint.sh"]

Details
Created

2026-08-13 04:00:04 UTC

Size

28.3 MB

Content Digest
Environment
PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:2f990bb0b7946d072525d9816f341e403a9861710dbc4d3433a1dbb7ec34029a - 9.88% (2.79 MB)

[#001] sha256:2c0d497740e362b1e314e3f497df888720f780c53589c2f2bdc0bf991e12bfa2 - 13.14% (3.71 MB)

[#002] sha256:36ae10bda469631d39e8462faf93bf3e422a50d3673396aa3bfc8ea46423f738 - 0.0% (105 Bytes)

[#003] sha256:083720c3c298c07356b8f4f449359e0f081321d7523347e81121ff28900b438c - 43.35% (12.2 MB)

[#004] sha256:cbc626a22257d3a0bb78b3313bebf1dcca493399647fac76f7e12ddae70596f1 - 3.32% (961 KB)

[#005] sha256:2cc183749b1ecabd7c13b713bb9bad5740fa0d6f1b8c78d08b873b0c3ee3f6bf - 18.74% (5.29 MB)

[#006] sha256:5ae89eecc1562457151ac51eeed861983866cf1e423d9c0785be5cf797eea21c - 11.56% (3.27 MB)

[#007] sha256:e803e2d22fac738be540ef32ab61ba64d4d3e4d621730bcc1a1abd05009d1c30 - 0.0% (424 Bytes)

[#008] sha256:64f60f5dcfe5f16bbfb54581e0bbc2b759577ab1ea24154742ca1409606e0308 - 0.02% (6.09 KB)

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


History
2025-10-08 11:10:40 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:10:40 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/arm/v7

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

ARG CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm/v7 TARGETARCH=arm CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c echo "cache=${CACHEBUST:-}" > /dev/null && { [ -n "${http_proxy}" ] && echo "Using proxy: ${http_proxy}" || true; } && apk add --no-cache curl bash wget gzip tar tzdata dcron && rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* # buildkit

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

WORKDIR /clash-for-linux

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-08-13 04:00:00 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm/v7 TARGETARCH=arm CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c MIHOMO_VERSION="v1.19.24" && case ${TARGETARCH} in amd64) CLASH_ASSET="mihomo-linux-amd64-v1-${MIHOMO_VERSION}.gz" ;; arm64) CLASH_ASSET="mihomo-linux-arm64-${MIHOMO_VERSION}.gz" ;; arm) CLASH_ASSET="mihomo-linux-armv7-${MIHOMO_VERSION}.gz" ;; *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; esac && echo "Building for ${TARGETPLATFORM}, downloading Mihomo ${MIHOMO_VERSION} (${CLASH_ASSET})..." && wget -O /tmp/clash.gz "https://github.com/MetaCubeX/mihomo/releases/download/${MIHOMO_VERSION}/${CLASH_ASSET}" && gunzip /tmp/clash.gz && mv /tmp/clash /usr/local/bin/clash && chmod +x /usr/local/bin/clash && rm -rf /tmp/* /var/tmp/* && echo "Mihomo ${MIHOMO_VERSION} downloaded and installed as /usr/local/bin/clash" # buildkit

2026-08-13 04:00:01 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm/v7 TARGETARCH=arm CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c mkdir -p /root/.config/clash/dashboard && METACUBEXD_VERSION="v1.247.1" && echo "Downloading MetaCubeXD dashboard ${METACUBEXD_VERSION}..." && wget -O /tmp/dashboard.tgz "https://github.com/MetaCubeX/metacubexd/releases/download/${METACUBEXD_VERSION}/compressed-dist.tgz" && tar -xzf /tmp/dashboard.tgz -C /root/.config/clash/dashboard/ && rm -rf /tmp/* /var/tmp/* && echo "MetaCubeXD dashboard downloaded and extracted" # buildkit

2026-08-13 04:00:01 UTC (buildkit.dockerfile.v0)

ARG GEO_DAT_URL=

2026-08-13 04:00:03 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm/v7 TARGETARCH=arm CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c set -u; mkdir -p /root/.config/clash; if [ -n "${GEO_DAT_URL:-}" ]; then GEO_URL_LIST="${GEO_DAT_URL} https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest"; else GEO_URL_LIST="https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest"; fi; fetch_geo() { _file="$1"; for _base in $GEO_URL_LIST; do _try=1; while [ "$_try" -le 3 ]; do echo "⬇️ Downloading ${_file} from ${_base} (attempt ${_try}/3) ..."; if wget -T 30 -q -O "/root/.config/clash/${_file}" "${_base}/${_file}"; then echo "✅ ${_file} downloaded from ${_base}"; return 0; fi; rm -f "/root/.config/clash/${_file}"; _try=$((_try + 1)); sleep 3; done; done; echo "⚠️ WARNING: failed to download ${_file} from all sources; build continues."; echo " You can provide it later via the /app/config mount (${_file})."; return 0; }; fetch_geo geoip.metadb; fetch_geo geosite.dat; rm -rf /tmp/* /var/tmp/*; echo "Geo databases present in /root/.config/clash:"; ls -lh /root/.config/clash/ || true # buildkit

2026-08-13 04:00:03 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm/v7 TARGETARCH=arm CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c mkdir -p /app/tools && SUBCONVERTER_VERSION="v0.9.0" && case ${TARGETARCH} in amd64) SUBCONVERTER_ARCH="linux64" ;; arm64) SUBCONVERTER_ARCH="aarch64" ;; arm) SUBCONVERTER_ARCH="armv7" ;; *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; esac && echo "Downloading subconverter ${SUBCONVERTER_VERSION} for $SUBCONVERTER_ARCH..." && wget -O /tmp/subconverter.tar.gz "https://github.com/tindy2013/subconverter/releases/download/${SUBCONVERTER_VERSION}/subconverter_${SUBCONVERTER_ARCH}.tar.gz" && tar -xzf /tmp/subconverter.tar.gz -C /app/tools && chmod +x /app/tools/subconverter/subconverter && rm -rf /tmp/* /var/tmp/* && echo "Subconverter ${SUBCONVERTER_VERSION} downloaded and installed" # buildkit

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

COPY config/config.yaml.example /config/config.yaml.example # buildkit

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

EXPOSE [7890/tcp 7891/tcp 9090/tcp]

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

COPY scripts/*.sh /app/scripts/ # buildkit

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm/v7 TARGETARCH=arm CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c chmod +x /app/scripts/*.sh # buildkit

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD /bin/sh /app/scripts/healthcheck.sh] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3}

2026-08-13 04:00:04 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/app/scripts/entrypoint.sh"]

Details
Created

2026-08-13 04:00:02 UTC

Size

28.9 MB

Content Digest
Environment
PATH

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin


Layers

[#000] sha256:5711127a7748d32f5a69380c27daf1382f2c6674ea7a60d2a3e338818590fea1 - 11.07% (3.2 MB)

[#001] sha256:f3ed541971af9e3ff8b251106f03a298b88e03677c86b74f7e5d47d113149dc7 - 14.13% (4.09 MB)

[#002] sha256:6e5cb9d358689c4a515f72c8aa547f15142fb3a3261592631ab96d235dbf7e46 - 0.0% (105 Bytes)

[#003] sha256:4e05f60f9101e0cc11e9c7d04bd45ffad6bb82300ac2235b4ef15abd128cc5f4 - 40.96% (11.9 MB)

[#004] sha256:4234c04bd7dfc31f360507011ddf08eb9371ee8cb08eaaa08fb034a278233894 - 3.24% (961 KB)

[#005] sha256:27195596f0c19a8504d6139bee2603ef5a678e7cf91255037d40dbd99322fa34 - 18.29% (5.29 MB)

[#006] sha256:b875a57ea15802f12edd4505e266046322a8d44b509bd0fbcf0f853eee44f728 - 12.29% (3.56 MB)

[#007] sha256:d4e02ba3cc230e25315260ad77dbe737fa1080b4ab78f2d3ace48db2b317516a - 0.0% (423 Bytes)

[#008] sha256:da340a987a8521a8638ad33f2436be3a78335d53610f3ad5fe2452d8a277dfdc - 0.02% (6.09 KB)

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


History
2025-10-08 11:10:40 UTC (buildkit.dockerfile.v0)

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

2025-10-08 11:10:40 UTC (buildkit.dockerfile.v0)

CMD ["/bin/sh"]

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

ARG TARGETPLATFORM=linux/arm64

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

ARG CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm64 TARGETARCH=arm64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c echo "cache=${CACHEBUST:-}" > /dev/null && { [ -n "${http_proxy}" ] && echo "Using proxy: ${http_proxy}" || true; } && apk add --no-cache curl bash wget gzip tar tzdata dcron && rm -rf /tmp/* /var/tmp/* /var/lib/apt/lists/* /var/cache/apt/archives/* # buildkit

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

WORKDIR /clash-for-linux

2026-08-13 03:59:56 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-13 03:59:58 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm64 TARGETARCH=arm64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c MIHOMO_VERSION="v1.19.24" && case ${TARGETARCH} in amd64) CLASH_ASSET="mihomo-linux-amd64-v1-${MIHOMO_VERSION}.gz" ;; arm64) CLASH_ASSET="mihomo-linux-arm64-${MIHOMO_VERSION}.gz" ;; arm) CLASH_ASSET="mihomo-linux-armv7-${MIHOMO_VERSION}.gz" ;; *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; esac && echo "Building for ${TARGETPLATFORM}, downloading Mihomo ${MIHOMO_VERSION} (${CLASH_ASSET})..." && wget -O /tmp/clash.gz "https://github.com/MetaCubeX/mihomo/releases/download/${MIHOMO_VERSION}/${CLASH_ASSET}" && gunzip /tmp/clash.gz && mv /tmp/clash /usr/local/bin/clash && chmod +x /usr/local/bin/clash && rm -rf /tmp/* /var/tmp/* && echo "Mihomo ${MIHOMO_VERSION} downloaded and installed as /usr/local/bin/clash" # buildkit

2026-08-13 03:59:59 UTC (buildkit.dockerfile.v0)

RUN |3 TARGETPLATFORM=linux/arm64 TARGETARCH=arm64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e /bin/sh -c mkdir -p /root/.config/clash/dashboard && METACUBEXD_VERSION="v1.247.1" && echo "Downloading MetaCubeXD dashboard ${METACUBEXD_VERSION}..." && wget -O /tmp/dashboard.tgz "https://github.com/MetaCubeX/metacubexd/releases/download/${METACUBEXD_VERSION}/compressed-dist.tgz" && tar -xzf /tmp/dashboard.tgz -C /root/.config/clash/dashboard/ && rm -rf /tmp/* /var/tmp/* && echo "MetaCubeXD dashboard downloaded and extracted" # buildkit

2026-08-13 03:59:59 UTC (buildkit.dockerfile.v0)

ARG GEO_DAT_URL=

2026-08-13 04:00:01 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm64 TARGETARCH=arm64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c set -u; mkdir -p /root/.config/clash; if [ -n "${GEO_DAT_URL:-}" ]; then GEO_URL_LIST="${GEO_DAT_URL} https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest"; else GEO_URL_LIST="https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest https://ghfast.top/https://github.com/MetaCubeX/meta-rules-dat/releases/download/latest"; fi; fetch_geo() { _file="$1"; for _base in $GEO_URL_LIST; do _try=1; while [ "$_try" -le 3 ]; do echo "⬇️ Downloading ${_file} from ${_base} (attempt ${_try}/3) ..."; if wget -T 30 -q -O "/root/.config/clash/${_file}" "${_base}/${_file}"; then echo "✅ ${_file} downloaded from ${_base}"; return 0; fi; rm -f "/root/.config/clash/${_file}"; _try=$((_try + 1)); sleep 3; done; done; echo "⚠️ WARNING: failed to download ${_file} from all sources; build continues."; echo " You can provide it later via the /app/config mount (${_file})."; return 0; }; fetch_geo geoip.metadb; fetch_geo geosite.dat; rm -rf /tmp/* /var/tmp/*; echo "Geo databases present in /root/.config/clash:"; ls -lh /root/.config/clash/ || true # buildkit

2026-08-13 04:00:01 UTC (buildkit.dockerfile.v0)

ARG TARGETARCH=arm64

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm64 TARGETARCH=arm64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c mkdir -p /app/tools && SUBCONVERTER_VERSION="v0.9.0" && case ${TARGETARCH} in amd64) SUBCONVERTER_ARCH="linux64" ;; arm64) SUBCONVERTER_ARCH="aarch64" ;; arm) SUBCONVERTER_ARCH="armv7" ;; *) echo "Unsupported architecture: ${TARGETARCH}" && exit 1 ;; esac && echo "Downloading subconverter ${SUBCONVERTER_VERSION} for $SUBCONVERTER_ARCH..." && wget -O /tmp/subconverter.tar.gz "https://github.com/tindy2013/subconverter/releases/download/${SUBCONVERTER_VERSION}/subconverter_${SUBCONVERTER_ARCH}.tar.gz" && tar -xzf /tmp/subconverter.tar.gz -C /app/tools && chmod +x /app/tools/subconverter/subconverter && rm -rf /tmp/* /var/tmp/* && echo "Subconverter ${SUBCONVERTER_VERSION} downloaded and installed" # buildkit

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

COPY config/config.yaml.example /config/config.yaml.example # buildkit

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

EXPOSE [7890/tcp 7891/tcp 9090/tcp]

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

COPY scripts/*.sh /app/scripts/ # buildkit

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

RUN |4 TARGETPLATFORM=linux/arm64 TARGETARCH=arm64 CACHEBUST=c882bd70d24d247cf4dec16f0e51ee37c0238e9e GEO_DAT_URL= /bin/sh -c chmod +x /app/scripts/*.sh # buildkit

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

HEALTHCHECK {Test:[CMD /bin/sh /app/scripts/healthcheck.sh] Interval:30s Timeout:10s StartPeriod:10s StartInterval:0s Retries:3}

2026-08-13 04:00:02 UTC (buildkit.dockerfile.v0)

ENTRYPOINT ["/app/scripts/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