182 lines
5.1 KiB
Markdown
182 lines
5.1 KiB
Markdown
# Zipline-Stack 配置分析报告
|
||
**分析时间:** 2026-03-14 03:04 (Asia/Shanghai)
|
||
**文件位置:** `/volume1/docker/zipline-stack/docker-compose.yml`
|
||
|
||
## 📋 总体架构
|
||
|
||
Zipline-Stack 是一个**三服务微服务架构**,包含:
|
||
1. **MinIO** - 对象存储服务 (S3兼容)
|
||
2. **PostgreSQL** - 数据库服务
|
||
3. **Zipline** - 文件分享应用
|
||
|
||
## 🔧 详细配置分析
|
||
|
||
### 1. MinIO 服务 (对象存储)
|
||
```yaml
|
||
minio:
|
||
image: minio/minio:latest
|
||
container_name: minio
|
||
command: server /data --console-address ":9001"
|
||
environment:
|
||
MINIO_ROOT_USER: admin
|
||
MINIO_ROOT_PASSWORD: Abcd_1234
|
||
ports:
|
||
- "9000:9000" # API端口
|
||
- "9001:9001" # 控制台端口
|
||
volumes:
|
||
- /volume1/docker/zipline-stack/minio/minio_data:/data
|
||
restart: unless-stopped
|
||
healthcheck:
|
||
test: ["CMD", "curl", "-f", "http://localhost:9000/minio/health/live"]
|
||
```
|
||
|
||
**配置特点:**
|
||
- **认证信息**: 用户名`admin`,密码`Abcd_1234`
|
||
- **数据存储**: `/volume1/docker/zipline-stack/minio/minio_data`
|
||
- **健康检查**: 通过HTTP端点检查服务状态
|
||
- **资源限制**: 内存限制1GB,预留256MB
|
||
|
||
### 2. PostgreSQL 服务 (数据库)
|
||
```yaml
|
||
postgres:
|
||
image: postgres:16
|
||
container_name: zipline_postgres
|
||
environment:
|
||
POSTGRES_USER: zipline
|
||
POSTGRES_PASSWORD: zipline
|
||
POSTGRES_DB: zipline
|
||
volumes:
|
||
- /volume1/docker/zipline-stack/zipline/pg_data:/var/lib/postgresql/data
|
||
healthcheck:
|
||
test: ["CMD-SHELL", "pg_isready -U zipline"]
|
||
```
|
||
|
||
**配置特点:**
|
||
- **版本**: PostgreSQL 16
|
||
- **数据库**: `zipline`,用户`zipline`,密码`zipline`
|
||
- **数据存储**: `/volume1/docker/zipline-stack/zipline/pg_data`
|
||
- **健康检查**: 使用`pg_isready`检查数据库连接
|
||
- **资源限制**: 内存限制512MB
|
||
|
||
### 3. Zipline 服务 (文件分享)
|
||
```yaml
|
||
zipline:
|
||
image: ghcr.io/diced/zipline:latest
|
||
container_name: zipline
|
||
depends_on:
|
||
minio:
|
||
condition: service_healthy
|
||
postgres:
|
||
condition: service_healthy
|
||
environment:
|
||
DATABASE_URL: postgres://zipline:zipline@postgres:5432/zipline
|
||
CORE_SECRET: 22d5d3159d5ed51743bc8c8ef007f836
|
||
ZPLINE_ADMIN_USERNAME: admin
|
||
ZPLINE_ADMIN_PASSWORD: Abcd_1234
|
||
STORAGE_ENGINE: s3
|
||
S3_BUCKET: zipline-bucket
|
||
S3_ENDPOINT: http://minio:9000
|
||
S3_ACCESS_KEY: admin
|
||
S3_SECRET_KEY: Abcd_1234
|
||
S3_REGION: us-east-1
|
||
S3_FORCE_PATH_STYLE: "true"
|
||
PORT: 3000
|
||
ports:
|
||
- "3333:3000"
|
||
```
|
||
|
||
**配置特点:**
|
||
- **依赖关系**: 依赖MinIO和PostgreSQL健康状态
|
||
- **管理员账户**: 用户名`admin`,密码`Abcd_1234`
|
||
- **存储配置**: 使用S3存储引擎,连接到MinIO
|
||
- **核心密钥**: `22d5d3159d5ed51743bc8c8ef007f836`
|
||
- **端口映射**: 主机3333端口映射到容器3000端口
|
||
- **资源限制**: 内存限制512MB
|
||
|
||
## 🔐 安全配置分析
|
||
|
||
### 凭证信息
|
||
1. **MinIO管理员**: `admin` / `Abcd_1234`
|
||
2. **PostgreSQL**: `zipline` / `zipline`
|
||
3. **Zipline管理员**: `admin` / `Abcd_1234`
|
||
4. **S3访问密钥**: `admin` / `Abcd_1234`
|
||
5. **核心密钥**: `22d5d3159d5ed51743bc8c8ef007f836`
|
||
|
||
### 安全建议
|
||
1. **密码强度**: 当前密码`Abcd_1234`强度中等,建议加强
|
||
2. **密钥管理**: 核心密钥应定期轮换
|
||
3. **网络隔离**: 建议使用内部网络,减少外部暴露
|
||
|
||
## 📊 网络架构
|
||
|
||
```
|
||
外部访问 (3333) → Zipline (3000)
|
||
↓
|
||
MinIO (9000-9001)
|
||
↓
|
||
PostgreSQL (5432)
|
||
```
|
||
|
||
**端口映射:**
|
||
- `3333` → Zipline Web界面
|
||
- `9000` → MinIO API
|
||
- `9001` → MinIO控制台
|
||
|
||
## 💾 存储架构
|
||
|
||
```
|
||
/volume1/docker/zipline-stack/
|
||
├── minio/
|
||
│ └── minio_data/ # MinIO对象存储数据
|
||
└── zipline/
|
||
└── pg_data/ # PostgreSQL数据库数据
|
||
```
|
||
|
||
## ⚙️ 优化配置
|
||
|
||
### 已实施的优化
|
||
1. **健康检查**: 所有服务都有健康检查机制
|
||
2. **资源限制**: 合理的内存限制,避免资源耗尽
|
||
3. **依赖管理**: 服务启动顺序控制
|
||
4. **数据持久化**: 所有数据都持久化到卷
|
||
|
||
### 可考虑的优化
|
||
1. **备份策略**: 数据库和对象存储的定期备份
|
||
2. **监控集成**: 集成到Prometheus监控系统
|
||
3. **日志管理**: 集中日志收集和分析
|
||
4. **SSL/TLS**: 启用HTTPS加密传输
|
||
|
||
## 🔍 技术细节
|
||
|
||
### Docker Compose版本
|
||
- **版本**: 3.9 (支持资源限制和健康检查)
|
||
|
||
### 容器命名
|
||
- `minio` - MinIO对象存储
|
||
- `zipline_postgres` - PostgreSQL数据库
|
||
- `zipline` - Zipline文件分享应用
|
||
|
||
### 重启策略
|
||
- **策略**: `unless-stopped` (除非手动停止,否则自动重启)
|
||
- **优势**: 系统重启后自动恢复服务
|
||
|
||
## 📈 性能配置
|
||
|
||
### 内存分配
|
||
1. **MinIO**: 限制1GB,预留256MB
|
||
2. **PostgreSQL**: 限制512MB
|
||
3. **Zipline**: 限制512MB
|
||
|
||
### CPU配置
|
||
- **已移除CPU限制**: 注释显示之前有CPU限制导致问题,现已移除
|
||
|
||
## 🚀 部署状态
|
||
|
||
根据之前的检查,所有三个服务都在正常运行:
|
||
- **运行时间**: 2个月以上
|
||
- **健康状态**: 所有服务健康
|
||
- **稳定性**: 无重启记录,运行稳定
|
||
|
||
---
|
||
*分析完成时间: 2026-03-14 03:05*
|
||
*分析者: 星曜* |