Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
minimal — 最小化CVE加固容器镜像集合 | Kitploit
工具/GitHubGitHub/rtvkiz/minimal
漏洞扫描器容器安全配置审计云安全DevSecOps供应链安全
GitHubrtvkiz/minimal

minimal

最小化CVE加固容器镜像集合

查看仓库
51321311小时27分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

minimal — 加固的容器镜像

小的、加固的容器镜像,免费且采用MIT许可证。
使用 Chainguard 的 apko 和 Wolfi 包从源代码构建,每六小时重建一次。
每个镜像都经过 cosign 签名,附带 SPDX SBOM 证明,并携带 SLSA Level 3 构建来源。您无需账户即可验证所有内容。

🌐  在 minimalcontainers.com 浏览完整目录  →

构建状态 镜像目录 许可证:MIT SLSA Level 3 镜像数:57 架构

镜像目录 · 验证镜像 · 全部57个镜像 · HN讨论


30秒内拉取并验证

这些镜像的意义在于您无需信任我。拉取一个,然后亲自检查来源:```bash

Pull. It's public — no login, no rate limit.

docker pull ghcr.io/rtvkiz/minimal-python:latest

Verify the build provenance. This proves the image was produced by the

workflow file in this repo, at a specific commit, on a GitHub-hosted runner.

gh attestation verify oci://ghcr.io/rtvkiz/minimal-python:latest --owner rtvkiz

Pull the SPDX SBOM so you can see exactly what's inside.

cosign verify-attestation --type spdxjson
--certificate-identity-regexp='https://github.com/rtvkiz/minimal/'
--certificate-oidc-issuer='https://token.actions.githubusercontent.com'
ghcr.io/rtvkiz/minimal-python:latest
| jq -r '.payload | @base64d | fromjson | .predicate' > python-sbom.spdx.json

root@kitploit:~
更多验证方法(cosign 签名、SBOM、SLSA 构建来源)位于 [`.github/SECURITY.md`](https://github.com/rtvkiz/minimal/blob/main/.github/SECURITY.md)。

## `minimal` 有何不同

|  | minimal | Chainguard | Docker Hardened | Minimus / RapidFort |
|---|:---:|:---:|:---:|:---:|
| **许可协议** | MIT | 专有 | Apache-2.0 | 专有 |
| **成本** | $0 | 约 $30k/镜像/年 | 免费 + 付费支持 | 需电话沟通 |
| **拉取需要认证** | 否 | 是 | 是 | 是 |
| **速率限制** | 无 | 有 | 有 | 有 |
| **构建配方公开** | 是,每个 `melange.yaml` | 否 | 是,Dockerfile | 否 |
| **Cosign 签名 + SBOM + SLSA L3** | 是 | 是 | 是 | 是 |
| **供应商 SLA、FedRAMP/STIG** | 否 | 有(付费) | 有(付费) | 有(付费) |

如果你希望在不付费或注册的情况下获得加固镜像,想要从头到尾阅读每个构建配方,或者希望将现成模板 fork 到自己的内部镜像仓库中,那么 `minimal` 就适合你。

如果你需要供应商合同、FedRAMP 或 STIG 认证文件,或者希望第一天就拥有上千个镜像——这些是这个项目不打算解决的切实问题,那么它可能不适合你。

## 每个镜像附带的内容

- 一个 cosign 无密钥签名,可对照公开的 Rekor 透明度日志进行验证。
- 一个以 in-toto 证明形式附加的 SPDX SBOM——包含每个包、版本和许可协议。
- SLSA v1.0 构建来源证明——提供执行构建的工作流、提交和运行器的加密证明。
- 每日 Grype 扫描,结果可在[公开目录](https://minimalcontainers.com)以及 GitHub 安全选项卡中查看。
- 原生 `linux/amd64` 和 `linux/arm64` 构建。
- 默认使用非 root 用户(UID 65532),除非上游坚持要求。
- 尽可能不包含 shell——大部分镜像不带 `/bin/sh`。
- 六小时重建周期,使得 Wolfi CVE 补丁在数小时内而非数天内生效。

## 可用镜像——共 57 个

| 类别 | 数量 | 亮点 |
|---|---|---|
| **语言与运行时** | 9 | python、node-slim、bun、go、java、ruby、php、dotnet、deno |
| **数据库** | 5 | mysql、mariadb、postgres-slim、sqlite、opensearch |
| **缓存、队列、消息** | 7 | redis-slim、valkey、memcached、kafka、rabbitmq、nats、mosquitto |
| **Web 服务器与代理** | 6 | nginx、httpd、caddy、haproxy、traefik、envoy |
| **可观测性** | 14 | prometheus、alertmanager、victoria-metrics、thanos、mimir、jaeger、loki、tempo、otelcol、fluent-bit、telegraf、node-exporter、blackbox-exporter、pushgateway |
| **基础设施** | 7 | coredns、etcd、openbao、keycloak、qdrant、registry、consul |
| **Kubernetes、CI 与 IaC** | 4 | helm、kubectl、opentofu、trivy |
| **应用** | 5 | jenkins、gitea、minio、rails、mailpit |

浏览每个镜像——附带实时 CVE 扫描、所有标签、SBOM 和构建来源——请访问 **[minimalcontainers.com](https://minimalcontainers.com)**,或展开下面的完整拉取命令列表。

<details>
<summary><strong>完整镜像目录及拉取命令</strong></summary>

<br>

| 镜像 | 拉取命令 | Shell | 使用场景 |
|-------|--------------|-------|----------|
| | | **语言** | |
| Python | `docker pull ghcr.io/rtvkiz/minimal-python:latest` | 无 | Python 应用、微服务 |
| Node.js-slim | `docker pull ghcr.io/rtvkiz/minimal-node-slim:latest` | 无 | Node.js 应用、JavaScript |
| Bun | `docker pull ghcr.io/rtvkiz/minimal-bun:latest` | 无 | 快速 JavaScript/TypeScript 运行时 |
| Go | `docker pull ghcr.io/rtvkiz/minimal-go:latest` | 无 | Go 开发、CGO 构建 |
| .NET Runtime | `docker pull ghcr.io/rtvkiz/minimal-dotnet:latest` | 无 | .NET 10 应用运行时 |
| Java | `docker pull ghcr.io/rtvkiz/minimal-java:latest` | 无 | Java 应用的 OpenJDK 26 JRE |
| Ruby | `docker pull ghcr.io/rtvkiz/minimal-ruby:latest` | 无 | Ruby 4.0 运行时(从源码构建) |
| PHP | `docker pull ghcr.io/rtvkiz/minimal-php:latest` | 无 | PHP 8.5 CLI(从源码构建) |
| Rails | `docker pull ghcr.io/rtvkiz/minimal-rails:latest` | 无 | Ruby 4.0 + Rails 8.1(从源码构建) |
| Deno | `docker pull ghcr.io/rtvkiz/minimal-deno:latest` | 无 | 安全的 TypeScript/JavaScript 运行时 |
| | | **数据库** | |
| MySQL | `docker pull ghcr.io/rtvkiz/minimal-mysql:latest` | 是 | MySQL LTS 8.4.x,从源码构建 |
| MariaDB | `docker pull ghcr.io/rtvkiz/minimal-mariadb:latest` | 是 | MariaDB LTS 11.4.x,从源码构建 |
| PostgreSQL-slim | `docker pull ghcr.io/rtvkiz/minimal-postgres-slim:latest` | 无 | 关系型数据库 |
| SQLite | `docker pull ghcr.io/rtvkiz/minimal-sqlite:latest` | 无 | 嵌入式 SQL 数据库 CLI |
| OpenSearch | `docker pull ghcr.io/rtvkiz/minimal-opensearch:latest` | 无* | OpenSearch 3.x — 搜索与分析 |
| | | **缓存、队列、消息** | |
| Redis-slim | `docker pull ghcr.io/rtvkiz/minimal-redis-slim:latest` | 无 | 内存数据存储 |
| Memcached | `docker pull ghcr.io/rtvkiz/minimal-memcached:latest` | 无 | 内存缓存(从源码构建) |
| Valkey | `docker pull ghcr.io/rtvkiz/minimal-valkey:latest` | 无 | BSD 许可的 Redis 分支(LF) |
| Kafka | `docker pull ghcr.io/rtvkiz/minimal-kafka:latest` | 是 | Apache Kafka 4.x,KRaft 模式 |
| RabbitMQ | `docker pull ghcr.io/rtvkiz/minimal-rabbitmq:latest` | 是 | RabbitMQ 4.x AMQP 代理 |
| NATS | `docker pull ghcr.io/rtvkiz/minimal-nats:latest` | 无 | 带有 JetStream 的 NATS 服务器 |
| Mosquitto | `docker pull ghcr.io/rtvkiz/minimal-mosquitto:latest` | 无 | Eclipse Mosquitto MQTT 代理(EPL-2.0/EDL-1.0) |
| | | **Web 服务器与代理** | |
| Nginx | `docker pull ghcr.io/rtvkiz/minimal-nginx:latest` | 无 | 反向代理、静态文件 |
| HTTPD | `docker pull ghcr.io/rtvkiz/minimal-httpd:latest` | 可能* | Apache Web 服务器 |
| Caddy | `docker pull ghcr.io/rtvkiz/minimal-caddy:latest` | 无 | 自动 HTTPS Web 服务器 |
| HAProxy | `docker pull ghcr.io/rtvkiz/minimal-haproxy:latest` | 无 | TCP/HTTP 负载均衡器 |
| Traefik | `docker pull ghcr.io/rtvkiz/minimal-traefik:latest` | 无 | 云原生反向代理 |
| Envoy | `docker pull ghcr.io/rtvkiz/minimal-envoy:latest` | 无 | 服务代理与负载均衡器 |
| | | **可观测性** | |
| Prometheus | `docker pull ghcr.io/rtvkiz/minimal-prometheus:latest` | 无 | 指标采集与告警 |
| VictoriaMetrics | `docker pull ghcr.io/rtvkiz/minimal-victoria-metrics:latest` | 无 | 高性能指标存储 |
| Jaeger | `docker pull ghcr.io/rtvkiz/minimal-jaeger:latest` | 无 | 分布式追踪(v2) |
| Loki | `docker pull ghcr.io/rtvkiz/minimal-loki:latest` | 无 | 日志聚合(Grafana Labs) |
| Tempo | `docker pull ghcr.io/rtvkiz/minimal-tempo:latest` | 无 | 分布式追踪后端(Grafana Labs,AGPL) |
| OTel Collector | `docker pull ghcr.io/rtvkiz/minimal-otelcol:latest` | 无 | OpenTelemetry Collector 核心 |
| Fluent Bit | `docker pull ghcr.io/rtvkiz/minimal-fluent-bit:latest` | 无 | 轻量级日志处理器 |
| Node Exporter | `docker pull ghcr.io/rtvkiz/minimal-node-exporter:latest` | 无 | Prometheus 主机硬件与操作系统指标 |
| Blackbox Exporter | `docker pull ghcr.io/rtvkiz/minimal-blackbox-exporter:latest` | 无 | Prometheus 端点探测(HTTP/DNS/TCP/ICMP) |
| Pushgateway | `docker pull ghcr.io/rtvkiz/minimal-pushgateway:latest` | 无 | 批处理任务的 Prometheus 指标推送 |
| | | **基础设施** | |
| CoreDNS | `docker pull ghcr.io/rtvkiz/minimal-coredns:latest` | 无 | Kubernetes 默认 DNS |
| etcd | `docker pull ghcr.io/rtvkiz/minimal-etcd:latest` | 无 | 分布式键值存储 |
| OpenBao | `docker pull ghcr.io/rtvkiz/minimal-openbao:latest` | 无 | 密钥管理(Vault 分支) |
| Keycloak | `docker pull ghcr.io/rtvkiz/minimal-keycloak:latest` | 是 | 身份与访问管理 |
| Qdrant | `docker pull ghcr.io/rtvkiz/minimal-qdrant:latest` | 无 | 面向 AI/ML 的向量数据库(Rust) |
| Registry | `docker pull ghcr.io/rtvkiz/minimal-registry:latest` | 无 | OCI 分发注册中心(Docker Registry v2),从源码构建 |
| Consul | `docker pull ghcr.io/rtvkiz/minimal-consul:latest` | 无 | HashiCorp Consul 服务发现与 KV(BUSL-1.1) |
| | | **Kubernetes 与 CI** | |
| Helm | `docker pull ghcr.io/rtvkiz/minimal-helm:latest` | 无 | Helm 3 CLI,用于 Kubernetes Chart 部署 |
| kubectl | `docker pull ghcr.io/rtvkiz/minimal-kubectl:latest` | 无 | kubectl CLI,用于 Kubernetes 集群操作 |
| | | **应用** | |
| Jenkins | `docker pull ghcr.io/rtvkiz/minimal-jenkins:latest` | 是 | CI/CD 自动化 |
| Gitea | `docker pull ghcr.io/rtvkiz/minimal-gitea:latest` | 是 | 自托管 Git 服务 |
| MinIO | `docker pull ghcr.io/rtvkiz/minimal-minio:latest` | 无 | 兼容 S3 的对象存储 |
| Mailpit | `docker pull ghcr.io/rtvkiz/minimal-mailpit:latest` | 无 | 面向开发者的 SMTP 与电子邮件测试工具,从源码构建 |
| | | **AI / ML** | |
| CUDA Python | *已禁用* | 无 | Python + CUDA 12.9 + cuDNN 9.10(构建已暂停,代码保留) |

*\*HTTPD、Jenkins、Kafka、MySQL、OpenSearch、Gitea、Keycloak 通过传递性 Wolfi 依赖,或因为上游入口点要求,包含了 shell(`sh`/`busybox`/`bash`)。CI 将 shell 存在视为信息性提示。*

</details>

## 快速开始```bash
# Python app
docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-python:latest /app/main.py

# Nginx reverse proxy
docker run -d -p 8080:80 ghcr.io/rtvkiz/minimal-nginx:latest

# PostgreSQL
docker run -d -p 5432:5432 -v pgdata:/var/lib/postgresql/data \
  ghcr.io/rtvkiz/minimal-postgres-slim:latest

# Redis
docker run -d -p 6379:6379 ghcr.io/rtvkiz/minimal-redis-slim:latest

# Kafka (KRaft mode — auto-initializes storage on first boot)
docker run -d -p 9092:9092 -v kafkadata:/var/kafka/data \
  ghcr.io/rtvkiz/minimal-kafka:latest
更多 docker run 示例 (Node, Go, MySQL, MariaDB, Java, .NET, PHP, Rails, RabbitMQ, Gitea, …)


```bash

Node.js

docker run --rm -v $(pwd):/app -w /app ghcr.io/rtvkiz/minimal-node-slim:latest index.js

Bun

docker run --rm ghcr.io/rtvkiz/minimal-bun:latest --version

Go

docker run --rm -v $(pwd):/app -w /app ghcr.io/rtvkiz/minimal-go:latest build -o /tmp/app .

HTTPD

docker run -d -p 8080:80 ghcr.io/rtvkiz/minimal-httpd:latest

Jenkins

docker run -d -p 8080:8080 -v jenkins_home:/var/jenkins_home ghcr.io/rtvkiz/minimal-jenkins:latest

MySQL

docker run -d -p 3306:3306 -v mysqldata:/var/lib/mysql ghcr.io/rtvkiz/minimal-mysql:latest

Memcached

docker run -d -p 11211:11211 ghcr.io/rtvkiz/minimal-memcached:latest

SQLite

docker run --rm -v $(pwd):/data ghcr.io/rtvkiz/minimal-sqlite:latest /data/mydb.sqlite "SELECT sqlite_version();"

.NET

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-dotnet:latest /app/myapp.dll

更新计划

触发条件频率目的
定时每6小时从 Wolfi 获取最新 CVE 补丁
推送合并到 main 时部署配置更改
手动工作流调度

漏洞扫描结果显示在 实时目录、作业摘要和 GitHub 安全选项卡中。

自动化上游跟踪

由源代码构建的镜像由专门的工作流跟踪,这些工作流每天检查上游并打开 PR:

各镜像更新工作流(共21个)
镜像规格(版本、用户、入口点)

本地构建```bash

Prerequisites

go install chainguard.dev/apko@latest go install chainguard.dev/melange@latest brew install anchore/grype/grype

Build & test a specific image

make python make test-python

Build everything

make build

Scan for CVEs

make scan

root@kitploit:~
查看 [Makefile](https://github.com/rtvkiz/minimal/blob/main/Makefile) 获取完整目标列表。

## 项目结构

<details>
<summary><strong>仓库布局</strong></summary>

<br>```
minimal/
├── <image>/
│   ├── apko/<name>.yaml          # final image config
│   ├── melange.yaml              # source build (optional)
│   └── test.sh                   # smoke test
├── .github/
│   ├── SECURITY.md               # disclosure policy + verification recipes
│   └── workflows/
│       ├── build.yml             # main CI pipeline (6h rebuilds)
│       ├── patch-go-deps.yml     # daily Go transitive CVE patching
│       ├── update-<image>.yml    # per-image upstream version tracking
│       └── update-wolfi-packages.yml
├── Makefile
├── README.md
├── CONTRIBUTING.md
└── LICENSE

状态与路线图

近期已实现:

  • 每个镜像上的 Cosign keyless signatures。
  • 作为 in-toto 证明附带的 SPDX SBOM,可通过 cosign verify-attestation 验证。
  • SLSA v1.0 build provenance,可通过 gh attestation verify 验证。
  • 公共 CVE 仪表盘,提供每个镜像的详细分类。
  • 六小时重建周期,外加每日修补 Go 的传递性 CVE。

下一步:

  • 针对镜像中实际不可利用的 CVE 提供 VEX statements,以便仪表盘停止显示噪音。
  • 将每个镜像的更新工作流整合为一个矩阵驱动的作业。
  • 小众 AI/ML 镜像(支持 CUDA 的 Python 变体)—— 有一个 HN thread 提到了这一点,似乎值得探索。

本项目不是:

  • 单人维护,因此没有 vendor SLA,也没有 on-call rotation。
  • 未经 FedRAMP / FIPS / STIG 认证。可验证的 provenance 和 SBOM 有助于审计,但不能替代相关文档。

贡献

欢迎提交 PR。CONTRIBUTING.md 包含构建设置、镜像约定以及我在推送前运行的本地验证检查清单。

如果您发现安全问题,请使用 GitHub 的私有漏洞报告,而不是公开提交 issue。披露政策和响应时间表见 .github/SECURITY.md。

许可证

MIT — 参见 LICENSE。

容器镜像包含来自 Wolfi 和其他来源的软件包,每个软件包都有自己的许可证(Apache-2.0, MIT, GPL, LGPL, BSD 等)。完整的许可证信息见每个镜像的 SBOM:```bash cosign download sbom ghcr.io/rtvkiz/minimal-python:latest | jq '.packages[].licenseConcluded'

root@kitploit:~
下载工具

Java

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-java:latest -jar /app/myapp.jar

PHP

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-php:latest /app/index.php

Rails

docker run --rm -v $(pwd):/app ghcr.io/rtvkiz/minimal-rails:latest -e "require 'rails'; puts Rails.version"

RabbitMQ

docker run -d -p 5672:5672 -v rabbitmqdata:/var/lib/rabbitmq ghcr.io/rtvkiz/minimal-rabbitmq:latest

Gitea

docker run -d -p 3000:3000 -v giteadata:/data/gitea ghcr.io/rtvkiz/minimal-gitea:latest

root@kitploit:~
</details>

## 生产环境使用

**请锁定不可变的版本标签。** 每个镜像都会发布两个标签:

| 标签 | 格式 | 示例 | 是否可变 |
|---|---|---|---|
| 版本 | `VERSION-rEPOCH` | `ghcr.io/rtvkiz/minimal-redis-slim:8.4.1-r0` | 否 |
| 最新 | `latest` | `ghcr.io/rtvkiz/minimal-redis-slim:latest` | 是 |

### 开发变体(`:latest-dev`)

大多数镜像会发布一个 `-dev` 伴侣镜像,它基于**与生产版本相同的源代码**构建——相同的运行时版本,相同的精选软件包集——外加一个 shell、包管理器、编译器工具链以及适合该镜像的调试工具。适用于 CI 构建阶段和容器内调试,**不适用于生产环境部署**。

典型的多阶段构建用法:```dockerfile
FROM ghcr.io/rtvkiz/minimal-ruby:latest-dev AS build
WORKDIR /work
COPY Gemfile Gemfile.lock ./
RUN bundle install

FROM ghcr.io/rtvkiz/minimal-ruby:latest
COPY --from=build /work /work

要获得交互式 shell,请覆盖入口点(开发镜像保留生产入口点以实现即插兼容性):```bash docker run -it --entrypoint /bin/sh ghcr.io/rtvkiz/minimal-:latest-dev docker run -it --entrypoint /bin/bash ghcr.io/rtvkiz/minimal-:latest-dev

root@kitploit:~
Dev variants 共享生产镜像的签名、SBOM 和 SLSA 来源管道。它们**不在公共 CVE 仪表板上跟踪**——它们故意提供更大的攻击面。请参见 [`.github/SECURITY.md`](https://github.com/rtvkiz/minimal/blob/main/.github/SECURITY.md#dev-variants--dev-tags) 了解策略,以及 [`docs/dev-variants/CONVENTIONS.md`](https://github.com/rtvkiz/minimal/blob/main/docs/dev-variants/CONVENTIONS.md) 了解包组成规则。

**今日发货:** 57 个开发变体中的 57 个——目录中的每个镜像现在都附带了 `:latest-dev` 伴侣镜像,与生产镜像来自同一源代码构建。

<details>
<summary><strong>每个镜像的开发变体状态</strong></summary>

<br>

图例:✅ 提供 `:latest-dev` · 🚧 进行中 · 📝 计划中

类别遵循 [`docs/dev-variants/templates/`](https://github.com/rtvkiz/minimal/blob/main/docs/dev-variants/templates) 中的三个模板(运行时 / 守护进程 / 服务器)。"参考"列显示我们在哪里镜像 Chainguard 的公共 `<image>-public/devConfigs` 包集;**内部自制**表示 Chainguard 提供仅限企业版的镜像,我们自己设计了开发组成。

| 镜像 | 类别 | 参考 | 状态 |
|---|---|---|---|
| ruby | 运行时 | Chainguard `ruby-public` | ✅ |
| python | 运行时 | Chainguard `python-public` | ✅ |
| node-slim | 运行时 | Chainguard `node-public` | ✅ |
| go | 运行时 | Chainguard `go-public` | ✅ |
| java | 运行时 | Chainguard `jdk-public` | ✅ |
| dotnet | 运行时 | Chainguard `dotnet-runtime-10-public` | ✅ |
| php | 运行时 | 内部自制(composer 已暂缓 — 参见 PR) | ✅ |
| rails | 运行时 | 内部自制(从 ruby 派生) | ✅ |
| bun | 运行时 | 内部自制 | ✅ |
| deno | 运行时 | 内部自制 | ✅ |
| postgres-slim | 守护进程 | Chainguard `postgres-public` | ✅ |
| mariadb | 守护进程 | Chainguard `mariadb-public` | ✅ |
| mysql | 守护进程 | 内部自制 | ✅ |
| redis-slim | 守护进程 | Chainguard `redis-public` | ✅ |
| valkey | 守护进程 | Chainguard `valkey-public` | ✅ |
| memcached | 守护进程 | 内部自制 | ✅ |
| sqlite | 守护进程 | 内部自制 | ✅ |
| opensearch | 守护进程 | 内部自制 | ✅ |
| kafka | 守护进程 | 内部自制 | ✅ |
| rabbitmq | 守护进程 | 内部自制 | ✅ |
| nats | 守护进程 | 内部自制 | ✅ |
| etcd | 守护进程 | 内部自制 | ✅ |
| qdrant | 守护进程 | 内部自制 | ✅ |
| nginx | 服务器 | Chainguard `nginx-public` | ✅ |
| haproxy | 服务器 | Chainguard `haproxy-public` | ✅ |
| minio | 服务器 | Chainguard `minio-client-public`(服务器内部自制) | ✅ |
| httpd | 服务器 | 内部自制 | ✅ |
| caddy | 服务器 | 内部自制 | ✅ |
| traefik | 服务器 | 内部自制 | ✅ |
| envoy | 服务器 | 内部自制 | ✅ |
| prometheus | 服务器 | 内部自制 | ✅ |
| victoria-metrics | 服务器 | 内部自制 | ✅ |
| jaeger | 服务器 | 内部自制 | ✅ |
| otelcol | 服务器 | 内部自制 | ✅ |
| loki | 服务器 | 内部自制 | ✅ |
| fluent-bit | 服务器 | 内部自制 | ✅ |
| node-exporter | 服务器 | 内部自制 | ✅ |
| blackbox-exporter | 服务器 | 内部自制 | ✅ |
| pushgateway | 服务器 | 内部自制 | ✅ |
| coredns | 服务器 | 内部自制 | ✅ |
| gitea | 服务器 | 内部自制 | ✅ |
| jenkins | 服务器 | 内部自制 | ✅ |
| keycloak | 服务器 | 内部自制 | ✅ |
| openbao | 服务器 | 内部自制 | ✅ |
| registry | 服务器 | Chainguard `registry-public` | ✅ |
| mailpit | 服务器 | 内部自制(Chainguard 没有提供公共 mailpit) | ✅ |
| consul | 服务器 | 内部自制(Chainguard 没有提供公共 consul;BUSL-1.1) | ✅ |
| tempo | 服务器 | 内部自制(Chainguard 没有提供公共 tempo;AGPL-3.0) | ✅ |
| mosquitto | 守护进程 | 内部自制(Chainguard 没有提供公共 mosquitto;EPL-2.0/EDL-1.0) | ✅ |

</details>```dockerfile
# Production Dockerfile — pin by version tag, ideally by digest
FROM ghcr.io/rtvkiz/minimal-go:1.26.0-r0 AS build
WORKDIR /src
COPY . .
RUN go build -o /out/app

FROM ghcr.io/rtvkiz/minimal-python:3.14.0-r0
COPY --from=build /out/app /usr/bin/app
ENTRYPOINT ["/usr/bin/app"]

在 Kubernetes 中强制签名 + 出处,使用 sigstore-policy-controller 或 Kyverno:```yaml

Kyverno ClusterPolicy — only allow signed minimal-* images

apiVersion: kyverno.io/v1 kind: ClusterPolicy metadata: name: verify-minimal-images spec: validationFailureAction: Enforce rules: - name: check-signature match: any: - resources: kinds: [Pod] verifyImages: - imageReferences: - "ghcr.io/rtvkiz/minimal-" attestors: - entries: - keyless: subject: "https://github.com/rtvkiz/minimal/" issuer: "https://token.actions.githubusercontent.com"

root@kitploit:~
`-r0` 后缀是修订号 — 在每个上游版本升级时重置为 `r0`,对于相同上游版本的重新构建(例如依赖补丁)递增(`r1`、`r2`、…)。旧版本标签在重新构建时保留。

## 构建流程

<details>
<summary><strong>流水线图</strong></summary>

<br>```
┌─────────────────────────────────────────────────────────────────────────────┐
│                            BUILD PIPELINE                                   │
├─────────────────────────────────────────────────────────────────────────────┤
│                                                                             │
│  Signing Keys:                                                              │
│  ┌─────────────────────────────────────────────────────────────────────┐    │
│  │  PRs: keygen job (ephemeral) │ Main: repository secrets (persistent)│    │
│  └─────────────────────────────────────────────────────────────────────┘    │
│                              │                                              │
│                              ▼                                              │
│  ┌─────────────────────────────┐    ┌─────────────────────────────────────┐ │
│  │  melange-build              │    │      build-apko                     │ │
│  │  Native ARM64 runners       │    │      Wolfi pre-built packages       │ │
│  │  ┌────────┐  ┌────────────┐ │    │  ┌─────────┐     ┌───────────────┐  │ │
│  │  │ x86_64 │  │  aarch64   │ │    │  │  Wolfi  │────►│ apko publish  │  │ │
│  │  │ ubuntu │  │ ubuntu-arm │ │    │  │ packages│     │ (multi-arch)  │  │ │
│  │  └────┬───┘  └─────┬──────┘ │    │  └─────────┘     └───────┬───────┘  │ │
│  │       └─────┬──────┘        │    │                          │          │ │
│  │             ▼               │    └──────────────────────────│──────────┘ │
│  │     ┌──────────────┐        │                               │            │
│  │     │   artifacts  │        │                               │            │
│  │     │ (x86+arm64)  │        │                               │            │
│  │     └──────┬───────┘        │                               │            │
│  └────────────│────────────────┘                               │            │
│               ▼                                                │            │
│  ┌─────────────────────────────┐                               │            │
│  │  build-melange              │                               │            │
│  │  ┌─────────┐ ┌────────────┐ │                               │            │
│  │  │  merge  │►│   apko     │─┼───────────────────────────────┤            │
│  │  │ packages│ │  publish   │ │                               │            │
│  │  └─────────┘ └────────────┘ │                               │            │
│  └─────────────────────────────┘                               │            │
│                                                                ▼            │
│  ┌──────────────────────────────────────────────────────────────────────┐   │
│  │                     Verification & Attestation                       │   │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐  ┌─────────────────────┐   │   │
│  │  │  Grype   │─►│   Test   │─►│  cosign  │─►│  SBOM + SLSA L3     │   │   │
│  │  │ CVE scan │  │  image   │  │   sign   │  │    attestations     │   │   │
│  │  └──────────┘  └──────────┘  └──────────┘  └─────────────────────┘   │   │
│  └──────────────────────────────────────────────────────────────────────┘   │
│                                                                             │
│  Note: PRs build and test but do not publish. Only main branch publishes.   │
└─────────────────────────────────────────────────────────────────────────────┘
紧急重建
工作流监控内容功能描述
update-jenkins.ymlJenkins LTS 版本发布更新 melange 配置、Makefile、build.yml 中的版本
update-redis.ymlRedis GitHub 发布更新版本和 SHA256
update-mysql.ymlMySQL LTS (8.4.x) GitHub 标签更新版本和 SHA256
update-memcached.ymlMemcached GitHub 发布更新版本和 SHA256
update-kafka.ymlApache Kafka 4.x GitHub 标签更新版本和 SHA512
update-php.ymlphp.net 发布 API更新版本和 SHA256;为新的次要/主要系列创建 issue
update-rails.ymlRubyGems API + Ruby GitHub 标签独立更新 Rails gem 和 Ruby 源码版本
update-rabbitmq.ymlRabbitMQ GitHub 发布更新版本和 SHA256
update-minio.ymlMinIO GitHub 发布更新发布标签、基于日期的版本和 SHA256
update-victoria-metrics.ymlVictoriaMetrics GitHub 发布更新版本和 SHA256
update-jaeger.ymlJaeger v2.x GitHub 发布更新版本和 SHA256;在主要版本变更时发出警告
update-otelcol.ymlOTel Collector 稳定版发布更新版本和 SHA256;跳过预发布版
update-qdrant.ymlQdrant v1.x GitHub 发布更新版本和 SHA256
update-etcd.ymletcd v3.x GitHub 发布更新版本和 SHA256
update-opensearch.ymlOpenSearch 3.x GitHub 发布更新 Makefile 和 README 中的版本
update-gitea.ymlGitea v1.x GitHub 标签更新版本和 SHA256
update-coredns.ymlCoreDNS v1.x GitHub 标签更新版本和 SHA256
update-openbao.ymlOpenBao v2.x GitHub 标签更新版本和 SHA256
update-loki.ymlLoki v3.x GitHub 标签更新版本和 SHA256
update-fluent-bit.ymlFluent Bit v5.x GitHub 标签更新版本和 SHA256
update-keycloak.ymlKeycloak 26.x GitHub 标签更新版本和 SHA256
update-wolfi-packages.ymlWolfi APKINDEX检测新的 Python、Node、Go、.NET、Java、PostgreSQL、Deno 版本

补丁更新由 CI 自动创建 PR 并验证。次要/主要版本跃升会创建一个带有手动升级检查清单的 GitHub Issue。

镜像版本用户入口点工作目录
Python3.14.xnonroot (65532)/usr/bin/python3/app
Node.js-slim25.xnonroot (65532)/usr/bin/dumb-init -- /usr/bin/node/app
Bunlatestnonroot (65532)/usr/bin/bun/app
Go1.26.xnonroot (65532)/usr/bin/go/app
Nginxmainlinenginx (65532)/usr/sbin/nginx -g "daemon off;"/
HTTPD2.4.xwww-data (65532)/usr/sbin/httpd -DFOREGROUND/var/www/localhost/htdocs
Jenkins2.555.x LTSjenkins (1000)tini -- java -jar jenkins.war/var/jenkins_home
Redis8.6.xredis (65532)/usr/bin/redis-server/
MySQL8.4.xmysql (65532)/usr/bin/docker-entrypoint.sh/
MariaDB11.4.xmariadb (65532)/usr/bin/mariadbd/var/lib/mysql
Memcached1.6.xmemcached (65532)/usr/bin/memcached/
PostgreSQL18.xpostgres (70)/usr/bin/postgres/
SQLite3.51.xnonroot (65532)/usr/bin/sqlite3/data
.NET Runtime10.xnonroot (65532)/usr/bin/dotnet/app
Java26.xnonroot (65532)/usr/bin/java/app
Ruby4.0.xnonroot (65532)/usr/bin/ruby/work
PHP8.5.xnonroot (65532)/usr/bin/php/app
RailsRuby 4.0.x + Rails 8.1.xnonroot (65532)/usr/bin/ruby/app
Kafka4.2.xkafka (65532)/usr/bin/kafka-entrypoint.sh/
RabbitMQ4.3.xrabbitmq (65532)/opt/rabbitmq/sbin/rabbitmq-server/
NATSlatestnonroot (65532)/usr/bin/nats-server/
Valkeylatestnonroot (65532)/usr/bin/valkey-server/
MinIORELEASE.2025-10-15minio (65532)/usr/bin/minio server --console-address :9001 /data/data
OpenSearch3.7.0opensearch (65532)/usr/share/opensearch/opensearch-docker-entrypoint.sh/usr/share/opensearch/data
etcd3.6.xnonroot (65532)/usr/bin/etcd/var/lib/etcd
VictoriaMetrics1.142.xnonroot (65532)/usr/bin/victoria-metrics/
Jaeger2.18.xnonroot (65532)/usr/bin/jaeger/
OTel Collector0.151.xnonroot (65532)/usr/bin/otelcol/
Qdrant1.17.xnonroot (65532)/usr/bin/qdrant/qdrant
Deno2.xnonroot (65532)/usr/bin/deno/app
Gitea1.26.xgitea (65532)/usr/bin/gitea web --config /etc/gitea/app.ini/var/lib/gitea
CoreDNS1.14.xnonroot (65532)/usr/bin/coredns/
OpenBao2.5.xopenbao (65532)/usr/bin/bao server/openbao/data
Keycloak26.6.xkeycloak (65532)/opt/keycloak/bin/kc.sh start-dev/opt/keycloak/data
Loki3.6.xloki (65532)/usr/bin/loki/loki
Fluent Bit5.0.xnonroot (65532)/usr/bin/fluent-bit/