ghcr.io/rzh0504/ruley:latest linux/amd64

ghcr.io/rzh0504/ruley:latest - 国内下载镜像源 浏览次数:15

温馨提示:此镜像为latest tag镜像,本站无法保证此版本为最新镜像

Ruley是一个简单灵活的规则引擎,允许以人类可读的格式定义业务规则并高效执行它们,适用于需要动态规则管理的各类应用场景。

源镜像 ghcr.io/rzh0504/ruley:latest
国内镜像 swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest
镜像ID sha256:0c10ed40fd1ff3f097670ed121f86a4ef0773181bba9dc4da9c21403b16a6f03
镜像TAG latest
大小 139.59MB
镜像源 ghcr.io
CMD node server.cjs
启动入口 docker-entrypoint.sh
工作目录 /app
OS/平台 linux/amd64
浏览量 15 次
贡献者
镜像创建 2026-05-01T16:18:57.488706578Z
同步时间 2026-05-21 10:21
开放端口
4000/tcp
环境变量
PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin NODE_VERSION=20.20.2 YARN_VERSION=1.22.22 NODE_ENV=production PORT=4000 NODE_OPTIONS=--max-old-space-size=256
镜像标签
2026-05-01T16:18:46.908Z: org.opencontainers.image.created 🏄 一个用于解析订阅、整理节点规则并生成 Clash / Mihomo 配置的 Web 工具: org.opencontainers.image.description : org.opencontainers.image.licenses e3ca7ad878f9edddc2980277eefc68218b91ad08: org.opencontainers.image.revision https://github.com/rzh0504/ruley: org.opencontainers.image.source ruley: org.opencontainers.image.title https://github.com/rzh0504/ruley: org.opencontainers.image.url main: org.opencontainers.image.version

Docker拉取命令

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest  ghcr.io/rzh0504/ruley:latest

Containerd拉取命令

ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest
ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest  ghcr.io/rzh0504/ruley:latest

Shell快速替换命令

sed -i 's#ghcr.io/rzh0504/ruley:latest#swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest#' deployment.yaml

Ansible快速分发-Docker

#ansible k8s -m shell -a 'docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest && docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest  ghcr.io/rzh0504/ruley:latest'

Ansible快速分发-Containerd

#ansible k8s -m shell -a 'ctr images pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest && ctr images tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest  ghcr.io/rzh0504/ruley:latest'

镜像构建历史


# 2026-05-02 00:18:57  0.00B 设置默认要执行的命令
CMD ["node" "server.cjs"]
                        
# 2026-05-02 00:18:57  0.00B 指定检查容器健康状态的命令
HEALTHCHECK &{["CMD-SHELL" "node -e \"fetch('http://127.0.0.1:4000/api/health').then(r=>process.exit(r.ok?0:1)).catch(()=>process.exit(1))\""] "30s" "5s" "10s" "0s" '\x03'}
                        
# 2026-05-02 00:18:57  0.00B 声明容器运行时监听的端口
EXPOSE [4000/tcp]
                        
# 2026-05-02 00:18:57  0.00B 执行命令并创建新的镜像层
RUN /bin/sh -c mkdir -p /app/data # buildkit
                        
# 2026-05-02 00:18:57  8.07KB 复制新文件或目录到容器中
COPY --chown=node:node /app/node_modules/file-uri-to-path ./node_modules/file-uri-to-path # buildkit
                        
# 2026-05-02 00:18:57  11.23KB 复制新文件或目录到容器中
COPY --chown=node:node /app/node_modules/bindings ./node_modules/bindings # buildkit
                        
# 2026-05-02 00:18:57  2.34MB 复制新文件或目录到容器中
COPY --chown=node:node /app/node_modules/better-sqlite3/build/Release ./node_modules/better-sqlite3/build/Release # buildkit
                        
# 2026-05-02 00:18:57  23.43KB 复制新文件或目录到容器中
COPY --chown=node:node /app/node_modules/better-sqlite3/lib ./node_modules/better-sqlite3/lib # buildkit
                        
# 2026-05-02 00:18:57  1.43KB 复制新文件或目录到容器中
COPY --chown=node:node /app/node_modules/better-sqlite3/package.json ./node_modules/better-sqlite3/package.json # buildkit
                        
# 2026-05-02 00:18:57  336.07KB 复制新文件或目录到容器中
COPY --chown=node:node /app/dist ./dist # buildkit
                        
# 2026-05-02 00:18:57  1.19MB 复制新文件或目录到容器中
COPY --chown=node:node /app/server.cjs ./ # buildkit
                        
# 2026-05-02 00:18:57  0.00B 设置环境变量 NODE_OPTIONS
ENV NODE_OPTIONS=--max-old-space-size=256
                        
# 2026-05-02 00:18:57  0.00B 设置环境变量 PORT
ENV PORT=4000
                        
# 2026-05-02 00:18:57  0.00B 设置环境变量 NODE_ENV
ENV NODE_ENV=production
                        
# 2026-05-01 16:44:18  0.00B 设置工作目录为/app
WORKDIR /app
                        
# 2026-04-16 04:46:50  0.00B 设置默认要执行的命令
CMD ["node"]
                        
# 2026-04-16 04:46:50  0.00B 配置容器启动时运行的命令
ENTRYPOINT ["docker-entrypoint.sh"]
                        
# 2026-04-16 04:46:50  388.00B 复制新文件或目录到容器中
COPY docker-entrypoint.sh /usr/local/bin/ # buildkit
                        
# 2026-04-16 04:46:50  5.36MB 执行命令并创建新的镜像层
RUN /bin/sh -c apk add --no-cache --virtual .build-deps-yarn curl gnupg tar   && 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   && apk del .build-deps-yarn   && yarn --version   && rm -rf /tmp/* # buildkit
                        
# 2026-04-16 04:46:47  0.00B 设置环境变量 YARN_VERSION
ENV YARN_VERSION=1.22.22
                        
# 2026-04-16 04:46:47  121.87MB 执行命令并创建新的镜像层
RUN /bin/sh -c addgroup -g 1000 node     && adduser -u 1000 -G node -s /bin/sh -D node     && apk add --no-cache         libstdc++     && apk add --no-cache --virtual .build-deps         curl     && ARCH= OPENSSL_ARCH='linux*' && alpineArch="$(apk --print-arch)"       && case "${alpineArch##*-}" in         x86_64) ARCH='x64' CHECKSUM="2b51a5388f6aaf8e2af65fe3bad6114db0ebd81a1ae1250b1de0cbf034b10c5d" OPENSSL_ARCH=linux-x86_64;;         x86) OPENSSL_ARCH=linux-elf;;         aarch64) OPENSSL_ARCH=linux-aarch64;;         arm*) OPENSSL_ARCH=linux-armv4;;         ppc64le) OPENSSL_ARCH=linux-ppc64le;;         s390x) OPENSSL_ARCH=linux-s390x;;         *) ;;       esac   && if [ -n "${CHECKSUM}" ]; then     set -eu;     curl -fsSLO --compressed "https://unofficial-builds.nodejs.org/download/release/v$NODE_VERSION/node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz";     echo "$CHECKSUM  node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" | sha256sum -c -       && tar -xJf "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz" -C /usr/local --strip-components=1 --no-same-owner       && ln -s /usr/local/bin/node /usr/local/bin/nodejs;   else     echo "Building from source"     && apk add --no-cache --virtual .build-deps-full         binutils-gold         g++         gcc         gnupg         libgcc         linux-headers         make         python3         py-setuptools     && 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.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.tar.xz\$" SHASUMS256.txt | sha256sum -c -     && tar -xf "node-v$NODE_VERSION.tar.xz"     && cd "node-v$NODE_VERSION"     && ./configure     && make -j$(getconf _NPROCESSORS_ONLN) V=     && make install     && apk del .build-deps-full     && cd ..     && rm -Rf "node-v$NODE_VERSION"     && rm "node-v$NODE_VERSION.tar.xz" SHASUMS256.txt.asc SHASUMS256.txt;   fi   && rm -f "node-v$NODE_VERSION-linux-$ARCH-musl.tar.xz"   && find /usr/local/include/node/openssl/archs -mindepth 1 -maxdepth 1 ! -name "$OPENSSL_ARCH" -exec rm -rf {} \;   && apk del .build-deps   && node --version   && npm --version   && rm -rf /tmp/* # buildkit
                        
# 2026-04-16 04:46:47  0.00B 设置环境变量 NODE_VERSION
ENV NODE_VERSION=20.20.2
                        
# 2026-04-16 04:01:40  0.00B 设置默认要执行的命令
CMD ["/bin/sh"]
                        
# 2026-04-16 04:01:40  8.45MB 复制文件或目录到容器中
ADD alpine-minirootfs-3.23.4-x86_64.tar.gz / # buildkit
                        
                    

镜像信息

{
    "Id": "sha256:0c10ed40fd1ff3f097670ed121f86a4ef0773181bba9dc4da9c21403b16a6f03",
    "RepoTags": [
        "ghcr.io/rzh0504/ruley:latest",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley:latest"
    ],
    "RepoDigests": [
        "ghcr.io/rzh0504/ruley@sha256:ecb8d0b94a73002c12d81d1ea92d6e974e717636bae2d8f885727079bbbb8412",
        "swr.cn-north-4.myhuaweicloud.com/ddn-k8s/ghcr.io/rzh0504/ruley@sha256:3c105d34e42bf9fb8c5eccb1e60311f142066b5da8853086a7d94f8e02529083"
    ],
    "Parent": "",
    "Comment": "buildkit.dockerfile.v0",
    "Created": "2026-05-01T16:18:57.488706578Z",
    "Container": "",
    "ContainerConfig": null,
    "DockerVersion": "",
    "Author": "",
    "Config": {
        "Hostname": "",
        "Domainname": "",
        "User": "",
        "AttachStdin": false,
        "AttachStdout": false,
        "AttachStderr": false,
        "ExposedPorts": {
            "4000/tcp": {}
        },
        "Tty": false,
        "OpenStdin": false,
        "StdinOnce": false,
        "Env": [
            "PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin",
            "NODE_VERSION=20.20.2",
            "YARN_VERSION=1.22.22",
            "NODE_ENV=production",
            "PORT=4000",
            "NODE_OPTIONS=--max-old-space-size=256"
        ],
        "Cmd": [
            "node",
            "server.cjs"
        ],
        "Healthcheck": {
            "Test": [
                "CMD-SHELL",
                "node -e \"fetch('http://127.0.0.1:4000/api/health').then(r=\u003eprocess.exit(r.ok?0:1)).catch(()=\u003eprocess.exit(1))\""
            ],
            "Interval": 30000000000,
            "Timeout": 5000000000,
            "StartPeriod": 10000000000,
            "Retries": 3
        },
        "ArgsEscaped": true,
        "Image": "",
        "Volumes": null,
        "WorkingDir": "/app",
        "Entrypoint": [
            "docker-entrypoint.sh"
        ],
        "OnBuild": null,
        "Labels": {
            "org.opencontainers.image.created": "2026-05-01T16:18:46.908Z",
            "org.opencontainers.image.description": "🏄 一个用于解析订阅、整理节点规则并生成 Clash / Mihomo 配置的 Web 工具",
            "org.opencontainers.image.licenses": "",
            "org.opencontainers.image.revision": "e3ca7ad878f9edddc2980277eefc68218b91ad08",
            "org.opencontainers.image.source": "https://github.com/rzh0504/ruley",
            "org.opencontainers.image.title": "ruley",
            "org.opencontainers.image.url": "https://github.com/rzh0504/ruley",
            "org.opencontainers.image.version": "main"
        }
    },
    "Architecture": "amd64",
    "Os": "linux",
    "Size": 139591905,
    "GraphDriver": {
        "Data": {
            "LowerDir": "/var/lib/docker/overlay2/3c0bc2f861869c260092dcb59b08d29fa99e29c6dc1be9ee211a951f4453d463/diff:/var/lib/docker/overlay2/b47cef650d3d8f875b5a71f843be05370b5d0ea8811db91d7c65508ba5c7db02/diff:/var/lib/docker/overlay2/8548a55fa28356279b9bc5eca1c94b2ce8489dd1d9a26bf09e9354cc3636fe41/diff:/var/lib/docker/overlay2/6b66166f5bb9b3ca363a5563dfc552c384fd55322a8bae26e3e0c0806cea340d/diff:/var/lib/docker/overlay2/034493cb1be0a97c3376fbc06f36d54e09e8d1571ac367cd70ac303510a90597/diff:/var/lib/docker/overlay2/cb2f458b40b6d1de6f9683072b1a3ee7044505e1b60b4ee8ee104a24214dcd09/diff:/var/lib/docker/overlay2/e4043c20b3ca8fdb1d6809186339f868a2ef6d9ecc7e8c8b619530f4330d50fb/diff:/var/lib/docker/overlay2/884c4f868ec52282087ebd7389ecb5bae21757aa883c5f0bc5d1c9bf703cb418/diff:/var/lib/docker/overlay2/29c2baaa2d15118d423fa48fbcd49354538dae131547da55d6151afb3bc098fc/diff:/var/lib/docker/overlay2/6a916706d55836e015ee337301ed6e204e7e81c681ba3407d80e161df517e845/diff:/var/lib/docker/overlay2/1ea02a16b4492ea4db701e90536ed08357ce5fd23bb69a6001e9b3689664973f/diff:/var/lib/docker/overlay2/9a1ef5a883ef2cbf9a0d960bba5d783f7ecd7d9d3ba8bb8cd5537b33d65a942f/diff",
            "MergedDir": "/var/lib/docker/overlay2/3de729626dedb8146941584b9f42669d9dfa2f3803a04983972794f547396a93/merged",
            "UpperDir": "/var/lib/docker/overlay2/3de729626dedb8146941584b9f42669d9dfa2f3803a04983972794f547396a93/diff",
            "WorkDir": "/var/lib/docker/overlay2/3de729626dedb8146941584b9f42669d9dfa2f3803a04983972794f547396a93/work"
        },
        "Name": "overlay2"
    },
    "RootFS": {
        "Type": "layers",
        "Layers": [
            "sha256:29df493baa13de438d6d2ece3a8333032e0b7b9b9d8cce4ee82194da255f61e1",
            "sha256:4983b93ee7967564f02cbf6162b75010ce557404a539fba05ee19a0eae01acbc",
            "sha256:e10358715ead9b47009dd04bcd77ac1c8e247f7249ab06517ff913c473a8e38e",
            "sha256:afa543f85b4685a84338df3e2c429edca49bb372b0f49e0c5cc9724c820ad094",
            "sha256:5f64417710ab88fe30c13956b2ae2cb01d4e5747e8057189b789390465893bf6",
            "sha256:c25972002609c717a6fa4b1d4a607a25f2bdf680fb5f0d134a044d65cf0020cd",
            "sha256:68af8275423d3196a0335008424d39427c1930937ec89303b565fe59167c3d76",
            "sha256:01cef587364f7e529a8c27d6db4216fad8f262ec7d09b871b846052a619a2c32",
            "sha256:0fa4f117d93534c0fdda4579c966d9543cbda30487c66b64b9c25d7dbe20903e",
            "sha256:cdfaa70a6b955381335f6f41d9ee36a31f6dd09f21cce1331c0336a0e6b11344",
            "sha256:9e799b0968c03aa5474ee07e93bc4f0be6a830219f216cbabd7e123fd238dd44",
            "sha256:9550fa9610b95fbb125775b9be425b40be315220b48bf4a79852125f292c0347",
            "sha256:c57b655a539822da30d9c5c7cec1dca39fb2a087f0908c5a3a9cd3b485d4fd4a"
        ]
    },
    "Metadata": {
        "LastTagTime": "2026-05-21T10:21:24.745403418+08:00"
    }
}

更多版本

ghcr.io/rzh0504/ruley:latest

linux/amd64 ghcr.io139.59MB2026-05-21 10:21
14