Files
minio/README_ZH.md
T
Feng Ruohang 86a7782900 docs(readme): update the docker pulls badge
Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-08-06 22:19:41 +08:00

15 KiB
Raw Blame History

Silo

S3 兼容对象存储 —— 由 PIGSTY 维护的 MinIO 社区分支

官网 · 文档 · 下载 · 版本说明 · 兼容性 · 安全策略 · English

官网 GitHub Release Docker Pulls Go Version License

Important

Silo 是由 Pigsty 独立维护、从 pgsty/silo 发布的开源 MinIO 社区分支。本项目与 MinIO, Inc. 不存在隶属、背书或赞助关系;文中使用 “MinIO” 仅用于说明上游项目及兼容谱系。

Note

2026-08-06,本仓库由 pgsty/minio 更名为 pgsty/silo,默认分支由 master 更名为 main。如果你需要以原本 MinIO 形态维持的归档构件,它们位于归档的 minio 分支,以及截止到 RELEASE.2026-08-04T00-00-00Z 的历次发布中;这些资产与 docker.io/pgsty/minio 镜像保持已发布状态且不做改动。本次更名只改变产品与交付物名称 —— MINIO_* 变量、minio_* 指标、x-minio-* 头、/minio/* 路由与磁盘格式均保持不变。

概述

Silo 维护一条源自开源 MinIO 服务端的下游版本线,为上游停止社区发行后仍在运行 MinIO 兼容部署的用户提供持续构建与发行产物。Pigsty 使用 Silo 提供对象存储,包括作为可选的 PostgreSQL 备份仓库。

本分支遵循一条原则:改名的是产品与交付物,不是协议与你的数据。 silo 可执行文件、软件包、服务与容器镜像使用新名称,而 S3 API、MINIO_* 变量、minio_* 指标、x-minio-* 头、保留路由与磁盘格式保持不变。具体差异记录在兼容性说明中。

项目统一门户为 silo.pgsty.com,集中提供文档、下载安装、版本与安全动态及项目背景。

按需求选择入口

需求 权威入口
项目概览与全站导航 Silo 官网
安装方式与软件下载 下载与安装
运维、管理、开发与参考指南 文档
本服务端的版本说明 Silo 版本说明
与上游 MinIO 的差异 Silo vs. MinIO 兼容性说明
项目动态与安全通告 博客 · 版本发布安全通告
带版本的二进制、校验和与源码归档 GitHub Releases
缺陷报告与功能讨论 GitHub Issues
私密漏洞报告 SECURITY.mdVULNERABILITY_REPORT.md
许可证、署名与商标信息 LICENSE · NOTICE · CREDITS · 门户的许可证署名归属商标政策页面

相关项目

仓库 说明
pgsty/silo 本仓库 —— Silo 对象存储服务器,S3 兼容的 MinIO fork
pgsty/mc Silo 命令行客户端,以 mcli 发行、保留 mc 命令名
pgsty/silo-console Web 管理控制台,内嵌于服务端构建
pgsty/silo-pkg 为 Silo 系 fork 维护的共享 Go 包
pgsty/pigsty Pigsty —— 内置 Silo 作为对象存储的 PostgreSQL 发行版

维护政策

活跃版本线的维护范围包括:

  • 构建与依赖项维护;
  • 适用的安全修复与公告;
  • 针对可复现缺陷的范围明确的修复;
  • 带版本的二进制、软件包、校验和与多架构镜像;
  • Web Console、客户端、文档与 Pigsty 集成。

改动保持克制,并在可行时提供测试。所有维护均为尽力而为,不承诺固定的响应、修复或发布时间。

范围之外

  • 独立产品路线图、新存储引擎或假设性的 S3 新特性;
  • 大规模重写或显著扩大下游差异的改动;
  • 历史版本或多条支持分支;
  • 商业支持、SLA、7×24 服务或 SUBNET 服务;
  • 部署设计、访问控制、监控、备份与恢复。

治理

服务端、客户端、控制台与共享包在同一套发布流程下共同维护:提交必须签署 DCO、Pull Request 经过评审、以 RELEASE.YYYY-MM-DDTHH-MM-SSZ 标签发布,产物附带校验和、SPDX SBOM、Sigstore 签名清单与 GitHub 构建证明。每个版本都会在门户发布版本说明;安全问题按照 SECURITY.md 与仓库安全公告处理。上游版权、许可证与第三方声明完整保留于 LICENSENOTICECREDITS

兼容策略

Silo 尽量保留:

  • github.com/minio/minio module path 与 github.com/minio/* 导入路径;
  • MinIO 兼容的 S3 API、线协议、MINIO_* 环境变量、指标、协议头、保留路由与存储元数据;
  • RELEASE.YYYY-MM-DDTHH-MM-SSZ 标签,以及容器入口对旧式 minio … 参数的转换。

Silo 自有交付面统一使用 silo 可执行文件、软件包、服务、Helm Chart 与 pgsty/silo 容器镜像;原生交付物不会安装 minio 二进制别名。

兼容性是默认约束。只要不会留下安全问题,Silo 就保留既有的协议、客户端、配置与运维行为;只有在修复重大安全问题确有必要时才会打破兼容,并在版本说明中明确受影响行为与迁移方式。每个版本仍应视为下游升级:锁定版本,阅读版本说明兼容性说明安全公告,保留回滚路径,并在生产使用前完成测试。

下载与发行产物

请先在下载与安装页面选择合适的安装方式;GitHub Releases 仍是带版本服务端二进制、校验和与源码归档的获取位置。

产物 位置
源码 github.com/pgsty/silo
容器镜像 pgsty/silo,支持 linux/amd64linux/arm64 多架构清单
服务端二进制与校验和 GitHub Releases,覆盖 Linux、macOS、Windows 的 amd64arm64
Linux 软件包 RPM、DEB、APK,并通过 Pigsty 软件仓库 分发
客户端 pgsty/mc,容器内以 mcli 提供,并保留 mc 兼容别名
管理控制台 pgsty/silo-console,通过兼容导入路径 github.com/minio/console 嵌入服务端构建
共享库 pgsty/silo-pkg v3.11.0,通过 replace 指令使用,同时保留 github.com/minio/pkg/v3 导入路径

每个新版本都会为各平台归档和软件包发布 SPDX JSON SBOM。归档与软件包的校验和清单分别带有无长期密钥的 Sigstore 签名包;GitHub 制品证明则为全部可下载产物及多架构容器镜像记录已签名的构建来源。

下载归档及配套文件后,请分别验证完整性、已发布 SBOM、签名清单与构建来源:

# 完整性:选择与你下载产物相符的一行。
grep -F '  silo_<version>_linux_amd64.tar.gz' \
  silo_<version>_checksums.txt | sha256sum --check

# 归档 SBOM 是另一个独立校验的 Release 产物。
grep -F '  silo_<version>_linux_amd64.tar.gz.sbom.json' \
  silo_<version>_checksums.txt | sha256sum --check

# 验证归档/SBOM 校验和清单的签名。
cosign verify-blob \
  --bundle silo_<version>_checksums.txt.sigstore.json \
  --certificate-identity-regexp \
    '^https://github.com/pgsty/(minio|silo)/\.github/workflows/release\.yml@refs/(tags/RELEASE\..+|heads/(master|main))$' \
  --certificate-oidc-issuer https://token.actions.githubusercontent.com \
  silo_<version>_checksums.txt

# 在线验证本仓库签发的构建来源。
gh attestation verify silo_<version>_linux_amd64.tar.gz \
  --repo pgsty/silo

软件包使用 silo_<version>_packages_checksums.txt 及其相邻的 Sigstore 签名包,并使用相同的 identity 与 issuer 约束;请用 SPDX 工具检查已验证的 SPDX JSON SBOM。按 digest 验证多架构容器清单的构建来源:

gh attestation verify \
  oci://index.docker.io/pgsty/silo@sha256:<manifest-digest> \
  --repo pgsty/silo

分架构 SBOM 证明附在 amd64arm64 平台镜像的 digest 上,而非多架构 清单上,需要分别显式验证:

gh attestation verify \
  oci://index.docker.io/pgsty/silo@sha256:<platform-digest> \
  --repo pgsty/silo \
  --predicate-type https://spdx.dev/Document/v2.3

按 digest 验证可避免信任可变镜像标签。

原生软件包迁移

silo RPM、DEB 与 APK 不针对 minio 声明 ProvidesObsoletesReplaces 或包级 Conflicts,因此可以与已有 MinIO 软件包并存安装, 不会被普通升级静默替换。两个 systemd unit 在运行时互斥,应由管理员显式 切换,不能同时启动。

切换前请记录旧 unit 的 enabled/active 状态与 User/Group,并备份 /etc/default/minio。Silo 先读取该旧配置,再读取 /etc/default/silo;后者 中由管理员设置的同名变量优先。如现有数据必须继续使用原 UID/GID,请创建 /etc/systemd/system/silo.service.d/10-legacy-user.conf

[Service]
User=<legacy-user>
Group=<legacy-group>

执行 systemctl daemon-reload,先停用并停止 minio.service,再启用并启动 silo.service。确认健康检查、S3、Admin API、指标与日志后,才 mask 或卸载 旧服务。软件包迁移期间不要递归修改数据属主;在回滚观察窗口内保留旧包与 旧 unit。

快速开始

本地体验:

mkdir -p data

export MINIO_ROOT_USER=minioadmin
export MINIO_ROOT_PASSWORD=change-me-long-password

docker run -d --name silo \
  -p 9000:9000 \
  -p 9001:9001 \
  -e MINIO_ROOT_USER \
  -e MINIO_ROOT_PASSWORD \
  -v "$PWD/data:/data" \
  docker.io/pgsty/silo:latest server /data --console-address ":9001"

管理控制台位于 http://localhost:9001S3 API 位于 http://localhost:9000

镜像内置兼容客户端 mcli

docker exec silo mcli alias set local http://127.0.0.1:9000 \
  "$MINIO_ROOT_USER" "$MINIO_ROOT_PASSWORD"
docker exec silo mcli mb local/demo
docker exec silo mcli ls local

Warning

生产环境应锁定版本,使用独立凭据与 TLS,配置监控,保留独立备份,并验证恢复流程。

从源码构建服务端:

go build -o silo .
./silo --version

其他安装方式(包括原生软件包、二进制、Podman、Kubernetes、源码构建与 Pigsty Ansible)请前往下载与安装;生产部署与管理请从 Silo 文档开始。Pigsty 用户也可以直接使用 Pigsty MinIO 模块

安全

安全修复面向当前活跃开发分支,并记录在仓库安全公告与门户安全通告中。请按照 SECURITY.mdVULNERABILITY_REPORT.md 私密报告漏洞;同时影响上游 MinIO 的问题也应向上游报告。

贡献

欢迎安全与依赖项更新、可复现缺陷修复、测试、发布自动化、打包与文档改进。

Issue 与 Pull Request 应说明受影响版本、复现步骤、影响、预期行为、测试与兼容性说明。大型改动请先提交 Issue 讨论。

本项目不要求签署 CLA:贡献按项目许可证(AGPL-3.0-or-laterinbound=outbound)接收,贡献者保留自己的版权。每个提交都必须按照 DCO 签署(git commit -s),详见 CONTRIBUTING.md

背景

本项目源于上游社区发行与维护模式的变化。维护者对相关变化的分析、替代方案评估与早期维护记录见以下文章:

文章 主题
MinIO已死 上游项目与发行模式的变化
MinIO已死,谁能接盘? 可选替代方案评估
MinIO 已死,MinIO 复生 建立分支及其发行流水线
续命 MinIO:承诺兑现 初期安全与维护工作

许可证与商标

服务端源码依据 GNU Affero 通用公共许可证第 3 版或任何后续版本分发。本分支衍生自 minio/minioNOTICE 保留上游产品声明,CREDITS 记录所含第三方组件的许可证与声明,Git 历史记录下游修改。

MinIO 是 MinIO, Inc. 的商标;本文仅为标识上游项目与兼容谱系而使用该名称。Pigsty、Silo 与 pgsty/silo 均为独立社区项目,与 MinIO, Inc. 不存在隶属、背书或赞助关系。

门户另行发布项目的许可证摘要文档署名归属商标声明