文章列表

从 MinIO 到 OtterIO:整理一条 Apache 2.0 开源对象存储代码线

, , , , ,
上一篇文章交代了为什么要重新审视 MinIO,以及为什么会有 soulteary/minio 这条 Apache 2.0 基线。这篇文章接着往下聊:从 soulteary/minio 到 OtterIO,中间到底做了什么。我把这次整理拆成十二步:从项目身份和命名独立、把 2021 年的代码带到 2026 年、用 gofiber/fiber/v3 重做 HTTP 入口、缩小 Bucket Notification 与 Gateway 的维护面,到把 2021 年 4 月之后上游 CVE / GHSA 逐项入账、按攻击面拆解安全修复、补齐 LDAP DN 规范化与迁移流程,再到完善 CI、自动化 Release、多架构镜像、控制台 listener 拆分,以及在保留原有 S3 使用体验的前提下,诚实说明 OtterIO 的适用范围与风险边界。 阅读全文

重新审视 MinIO:许可证、归档、社区 fork 与我的 Apache 2.0 基线

, , , , ,
MinIO 仍然是开源软件,但它已经不再是过去那个“Apache 2.0、社区仓库持续维护、预编译二进制直接使用”的默认选择:许可证从 Apache 2.0 切换到 AGPLv3,公开 GitHub 仓库被归档并标注不再维护,社区版预编译二进制也不再继续发布。本文重新审视 MinIO 当前的开源状态,比较 PGSTY/Silo 与 JuiceData/minio 两个社区 fork 的定位与许可证边界,并整理出我自己的 soulteary/minio 主线:基于 RELEASE.2021-04-22T15-44-28Z 这一切换 AGPLv3 之前的最后 Apache 2.0 版本,把 HTTP 路由切到 gofiber/fiber/v3、收敛 Bucket Notification 与 Gateway、升级到 Go 1.26,作为后续 OtterIO 项目的代码基线。 阅读全文

Docker 环境下使用 Traefik v3 和 MinIO 快速搭建私有化对象存储服务

, , , ,
基于 Docker 与 Traefik v3 网关,详细演示了 MinIO 私有化对象存储服务的搭建流程。内容涵盖环境准备、指定版本镜像拉取策略、基础容器启动配置,以及通过 Traefik 实现服务暴露与路由转发的完整实践,并提供了可直接复 阅读全文

使用 Mastodon 搭建个人信息平台:前篇

该系列首篇内容围绕在容器环境中部署 Mastodon 展开,详细阐述了选择该技术方案的初衷与具体实施步骤。文章首先分析了个人场景下信息汇聚与快速交互的需求,对比了传统协作工具的局限性,最终确定采用类微博形态的 Mastodon 作为私有化个 阅读全文

装在笔记本里的私有云环境:网络存储篇(中)

该系列第四篇继续介绍在笔记本中部署低成本私有云环境的实践,重点完成基础存储服务的监控配置与完善。内容涵盖 MinIO 与 Syncthing 两类典型应用的 Prometheus 监控集成方案:MinIO 作为云原生应用需开启性能指标接口并 阅读全文

装在笔记本里的私有云环境:网络存储篇(上)

系列第三篇,介绍在笔记本中部署私有云环境的网络存储方案。基于资源有限的场景,分析块存储、对象存储、文件存储三类技术选型,排除块存储方案后,采用 MinIO 作为统一存储网关配合定时同步实现数据冗余,并结合 NextCloud 为不支持 S3 阅读全文

从零开始使用开源文档/Wiki软件 Outline(二)

, , , , ,
承接上篇部署指南,详解 Outline 开源 Wiki 软件的细节配置。针对图片上传失败问题,提供基于 MinIO 客户端的存储初始化方案,包括自动化脚本配置与手动删除对象存储中冗余文件的方法。同时介绍通过外部文件服务器实现附件管理的替代方 阅读全文