yz-gallery-deploy
v1.3.19
Published
Yz Gallery 一键部署工具
Downloads
3,811
Readme
Yz Gallery CLI
一键部署工具,实现完整的本地化图库系统部署。
✨ 核心特性
🚀 三层配置系统
- Quick 模式: 最少配置,快速上手
- Custom 模式: 灵活配置,适合大多数场景 ⭐ 推荐
- Expert 模式: 完全控制,适合生产环境
🦙 Ollama 支持
- ✅ 完全本地化运行
- ✅ 自动检测和安装
- ✅ 推荐模型选择
- ✅ 零 API 费用
☁️ 多模型提供商
- Ollama: 本地模型,免费隐私安全
- AIHubMix: 云端 API,性能强大
- 自定义: 完全自定义配置
🔧 完整配置选项
- ✅ 数据库选择(Docker/外部/SQLite)
- ✅ S3 对象存储(AWS/阿里云/腾讯云/MinIO)
- ✅ 自定义挂载路径
- ✅ 端口配置
- ✅ 安全配置(JWT、密码策略)
🏠 本地 Qdrant
- ✅ 完全本地化向量数据库
- ✅ 数据无需上传云端
- ✅ 自动初始化
快速开始
# 使用 npx(推荐)
npx yz-gallery@latest config
# 全局安装
npm install -g yz-gallery
yz-gallery config开发环境
cd cli
npm install
npm run dev构建和测试
# 构建
npm run build
# 本地测试
npm link
yz-gallery config --help发布
# 发布到 npm
npm publish
# 发布到私有 registry
npm publish --registry https://your-registry.com文件结构
cli/
├── src/
│ ├── index.ts # CLI 入口
│ └── commands/
│ ├── config.ts # 配置管理(三层配置系统)
│ ├── deploy.ts # 部署命令
│ ├── init.ts # 初始化命令
│ └── service.ts # 服务管理命令
├── templates/
│ ├── docker-compose.yml # Docker Compose 模板
│ └── config.example.yaml # 配置示例
├── package.json
├── tsconfig.json
└── README.md依赖
- commander - CLI 框架
- docker-compose - Docker Compose 控制
- chalk - 终端颜色
- ora - 加载动画
- inquirer - 交互式提示
- js-yaml - YAML 解析
- dotenv - 环境变量
- fs-extra - 文件系统操作扩展
命令参考
配置管理
yz-gallery config # 默认自定义配置
yz-gallery config --mode quick # 快速配置
yz-gallery config --mode custom # 自定义配置
yz-gallery config --mode expert # 专家配置部署命令
yz-gallery deploy # 一键部署
yz-gallery deploy --skip-build # 跳过构建服务管理
yz-gallery status # 查看状态
yz-gallery start # 启动服务
yz-gallery stop # 停止服务
yz-gallery logs # 查看日志
yz-gallery logs -f # 实时日志配置文件结构
.yz-gallery/
├── docker-compose.yml # 服务编排配置
├── config.yaml # 应用详细配置
└── .env # 环境变量环境变量
主要环境变量:
# 模型配置
MODEL_PROVIDER=ollama|aihubmix|custom
AIHUBMIX_API_KEY=sk-xxxxx
OLLAMA_BASE_URL=http://localhost:11434
# 数据库配置
DATABASE_URL=postgresql+asyncpg://...
POSTGRES_DB=yz_gallery
POSTGRES_USER=postgres
POSTGRES_PASSWORD=postgres
# S3 存储
S3_ENDPOINT=https://s3.amazonaws.com
S3_BUCKET=your-bucket
S3_ACCESS_KEY=...
S3_SECRET_KEY=...
# 安全配置
JWT_SECRET=...
ADMIN_PASSWORD=...开发指南
添加新的配置选项
- 在
config.ts中添加新的 prompt - 更新
docker-compose.yml模板 - 更新
config.yaml模板 - 添加相应的环境变量处理
添加新的服务
- 在
templates/docker-compose.yml中添加服务定义 - 在
deploy.ts中添加服务初始化逻辑 - 在
service.ts中添加服务管理命令
测试
# 单元测试
npm test
# 集成测试
npm run test:integration
# E2E 测试
npm run test:e2e相关文档
技术栈
- Node.js 18+
- TypeScript 5+
- Docker + Docker Compose
许可证
MIT
贡献
欢迎提交 Pull Request 和 Issue!
