主题
对象存储部署
MinIO 和 RustFS 是两种 S3 兼容对象存储,用于存储附件、备份等文件。
WARNING
MinIO 和 RustFS 默认使用相同端口(9000 API / 9001 Console),不可同时启动。
MinIO 部署
MinIO 是最流行的 S3 兼容对象存储,功能成熟、社区活跃。
启动
- 在 1Panel 中创建 Docker Compose 应用
- 将以下 Docker Compose 配置粘贴到 compose 配置中:
yaml
services:
minio:
image: minio/minio:latest
container_name: ipam-minio
restart: unless-stopped
ports:
- "${MINIO_API_PORT:-9000}:9000"
- "${MINIO_CONSOLE_PORT:-9001}:9001"
volumes:
- ./minio-data:/data
environment:
- TZ=${TZ:-Asia/Shanghai}
- MINIO_ROOT_USER=${MINIO_ROOT_USER:-minioadmin}
- MINIO_ROOT_PASSWORD=${MINIO_ROOT_PASSWORD:-minioadmin123}
command: server /data --console-address ":9001"
healthcheck:
test: ["CMD", "mc", "ready", "local"]
interval: 10s
timeout: 5s
retries: 5
start_period: 10s
minio-init:
image: minio/mc:latest
container_name: ipam-minio-init
restart: "no"
depends_on:
minio:
condition: service_healthy
environment:
- TZ=${TZ:-Asia/Shanghai}
entrypoint: >
/bin/sh -c "
mc alias set local http://minio:9000 ${MINIO_ROOT_USER:-minioadmin} ${MINIO_ROOT_PASSWORD:-minioadmin123} &&
mc mb local/${STORAGE_BUCKET:-ipam} --ignore-existing &&
mc anonymous set download local/${STORAGE_BUCKET:-ipam} &&
echo 'MinIO 存储桶 ${STORAGE_BUCKET:-ipam} 创建完成'
"- 将环境变量粘贴到环境变量配置中
- 点击部署
默认配置
| 配置项 | 默认值 | 环境变量 |
|---|---|---|
| API 端口 | 9000 | MINIO_API_PORT |
| Console 端口 | 9001 | MINIO_CONSOLE_PORT |
| 用户名 | minioadmin | MINIO_ROOT_USER |
| 密码 | minioadmin123 | MINIO_ROOT_PASSWORD |
| 存储桶 | ipam | STORAGE_BUCKET |
访问 Console: http://<宿主机IP>:9001
服务说明
- minio:MinIO 主服务,提供 S3 API
- minio-init:一次性初始化服务,自动创建配置的存储桶并设为公开下载,执行完毕后退出
RustFS 部署
RustFS 是基于 Rust 实现的高性能 S3 兼容对象存储,MinIO 的轻量替代方案。
启动
- 在 1Panel 中创建 Docker Compose 应用
- 将以下 Docker Compose 配置粘贴到 compose 配置中:
yaml
services:
rustfs:
image: rustfs/rustfs:latest
container_name: ipam-rustfs
restart: unless-stopped
ports:
- "${RUSTFS_API_PORT:-9000}:9000"
- "${RUSTFS_CONSOLE_PORT:-9001}:9001"
volumes:
- ./rustfs-data:/data
environment:
- TZ=${TZ:-Asia/Shanghai}
- RUSTFS_ACCESS_KEY=${RUSTFS_ACCESS_KEY:-rustfsadmin}
- RUSTFS_SECRET_KEY=${RUSTFS_SECRET_KEY:-rustfsadmin123}
- RUSTFS_VOLUMES=/data
- RUSTFS_ADDRESS=:9000
- RUSTFS_CONSOLE_ADDRESS=:9001
healthcheck:
test: ["CMD", "wget", "--no-verbose", "--tries=1", "--output-document=/dev/null", "http://127.0.0.1:9000/"]
interval: 10s
timeout: 5s
retries: 5
start_period: 15s
rustfs-init:
image: minio/mc:latest
container_name: ipam-rustfs-init
restart: "no"
depends_on:
rustfs:
condition: service_healthy
environment:
- TZ=${TZ:-Asia/Shanghai}
entrypoint: >
/bin/sh -c "
mc alias set local http://rustfs:9000 ${RUSTFS_ACCESS_KEY:-rustfsadmin} ${RUSTFS_SECRET_KEY:-rustfsadmin123} &&
mc mb local/${STORAGE_BUCKET:-ipam} --ignore-existing &&
mc anonymous set download local/${STORAGE_BUCKET:-ipam} &&
echo 'RustFS 存储桶 ${STORAGE_BUCKET:-ipam} 创建完成'
"- 将环境变量粘贴到环境变量配置中
- 点击部署
默认配置
| 配置项 | 默认值 | 环境变量 |
|---|---|---|
| API 端口 | 9000 | RUSTFS_API_PORT |
| Console 端口 | 9001 | RUSTFS_CONSOLE_PORT |
| 用户名 | rustfsadmin | RUSTFS_ACCESS_KEY |
| 密码 | rustfsadmin123 | RUSTFS_SECRET_KEY |
| 存储桶 | ipam | STORAGE_BUCKET |
访问 Console: http://<宿主机IP>:9001
服务说明
- rustfs:RustFS 主服务,提供 S3 API 和 Web Console
- rustfs-init:一次性初始化服务,自动创建配置的存储桶并设为公开下载,执行完毕后退出
环境变量
可通过 1Panel 环境变量自定义配置:
ini
# 通用
TZ=Asia/Shanghai
STORAGE_BUCKET=ipam
# MinIO
MINIO_ROOT_USER=myadmin
MINIO_ROOT_PASSWORD=MyStrongPassword123
MINIO_API_PORT=9000
MINIO_CONSOLE_PORT=9001
# RustFS
RUSTFS_ACCESS_KEY=myadmin
RUSTFS_SECRET_KEY=MyStrongPassword123
RUSTFS_API_PORT=9000
RUSTFS_CONSOLE_PORT=9001对接 IPAM 后台
对象存储服务启动后,在 IPAM 后台 系统管理 → 存储配置 页面填写对应信息。
MinIO 对接
| 配置项 | 容器间通信 | 外部访问 |
|---|---|---|
| 端点 | minio:9000 | http://<宿主机IP>:9000 |
| AccessKey | minioadmin(或自定义) | 同左 |
| SecretKey | minioadmin123(或自定义) | 同左 |
| 存储桶 | ipam | 同左 |
| 使用 SSL | 关闭 | 关闭 |
RustFS 对接
| 配置项 | 容器间通信 | 外部访问 |
|---|---|---|
| 端点 | rustfs:9000 | http://<宿主机IP>:9000 |
| AccessKey | rustfsadmin(或自定义) | 同左 |
| SecretKey | rustfsadmin123(或自定义) | 同左 |
| 存储桶 | ipam | 同左 |
| 使用 SSL | 关闭 | 关闭 |
生产环境建议
- 修改默认密码:务必修改 MinIO/RustFS 的默认账号密码
- 使用独立磁盘:对象存储数据卷挂载到独立磁盘,避免与系统盘竞争 IO
- 启用 SSL:生产环境建议启用 HTTPS(需配置证书)
- 定期备份:定期备份对象存储数据
- 监控告警:监控对象存储服务的磁盘使用率和健康状态