109 lines
2.8 KiB
Markdown
109 lines
2.8 KiB
Markdown
---
|
||
title: MinIO
|
||
type: entity
|
||
tags: [docker, storage, s3, minio]
|
||
date: 2025-12-29
|
||
---
|
||
|
||
# MinIO
|
||
|
||
## Aliases
|
||
- MinIO
|
||
- MinIO Server
|
||
|
||
## Definition
|
||
MinIO 是一个开源的 S3 兼容对象存储服务器,专为高性能、海量数据场景设计。作为 [[Zipline]] 图床系统的存储后端,MinIO 提供 S3 API 兼容接口,使应用无需修改即可对接。
|
||
|
||
## Core Characteristics
|
||
|
||
| 特性 | 说明 |
|
||
|------|------|
|
||
| 协议兼容 | S3 API(Amazon Simple Storage Service) |
|
||
| 部署模式 | 单机 / 分布式(纠删码模式) |
|
||
| 存储介质 | 直连磁盘,无特殊要求 |
|
||
| 管理界面 | MinIO Console(默认端口 9001) |
|
||
| API 端口 | 默认 9000 |
|
||
| 授权协议 | AGPLv3 |
|
||
|
||
## Architecture
|
||
|
||
```
|
||
[Application] --S3 API--> [MinIO Server] ---> [Disk/NAS Storage]
|
||
^ |
|
||
|______________________________|
|
||
MinIO Console (9001)
|
||
```
|
||
|
||
## Key Commands (mc CLI)
|
||
|
||
```bash
|
||
# 安装 MinIO Client
|
||
wget https://dl.min.io/client/mc/release/linux-amd64/mc
|
||
chmod +x mc
|
||
|
||
# 设置 alias
|
||
mc alias set local http://192.168.3.17:9000 admin StrongPasswordHere
|
||
|
||
# 创建 bucket
|
||
mc mb local/zipline-bucket
|
||
|
||
# 匿名访问策略
|
||
mc anonymous set public local/zipline-bucket # 公共读写
|
||
mc anonymous set download local/zipline-bucket # 仅下载
|
||
mc anonymous set upload local/zipline-bucket # 仅上传
|
||
mc anonymous set none local/zipline-bucket # 禁用匿名
|
||
|
||
# 查看 bucket 内容
|
||
mc ls local/zipline-bucket
|
||
```
|
||
|
||
## Use Cases in Home Server
|
||
|
||
- [[Zipline]] 图床存储后端
|
||
- S3 兼容备份目标(替代 AWS S3)
|
||
- 私有云对象存储
|
||
- AI 模型权重文件存储
|
||
|
||
## Docker Deployment
|
||
|
||
```yaml
|
||
minio:
|
||
image: minio/minio:latest
|
||
command: server /data --console-address ":9001"
|
||
environment:
|
||
MINIO_ROOT_USER: admin
|
||
MINIO_ROOT_PASSWORD: Abcd_1234
|
||
ports:
|
||
- "9000:9000" # S3 API
|
||
- "9001:9001" # Console
|
||
volumes:
|
||
- /volume1/docker/zipline-stack/minio/minio_data:/data
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||
interval: 30s
|
||
timeout: 20s
|
||
retries: 3
|
||
```
|
||
|
||
## Performance Characteristics (vs Zipline)
|
||
|
||
| 项目 | MinIO | Zipline |
|
||
|------|-------|---------|
|
||
| 存储性能 | 仅受 NAS 硬盘/SSD 限制 | 仅处理 metadata |
|
||
| 并发 | 高(S3 原生并行) | 中等(单 Node.js 进程) |
|
||
| 数据库 | 无(内置 KV) | PostgreSQL/SQLite |
|
||
| 扩展性 | 可横向扩容 | 单实例 → 前端微服务 |
|
||
| REST API | 完备 | 完备(适合 n8n) |
|
||
|
||
## Connections
|
||
- [[Zipline]] ← stores files ← [[MinIO]]
|
||
- [[群晖 NAS]] ← hosts ← [[MinIO]]
|
||
- [[Docker堆栈]] ← part of ← [[MinIO]]
|
||
- [[mc命令]] ← manages ← [[MinIO]]
|
||
|
||
## Related Concepts
|
||
- [[S3-兼容对象存储]]
|
||
- [[对象存储]]
|
||
- [[图床]]
|
||
- [[数据一致性]]
|