puq-docker-immich-deploy
该工作流旨在自动化部署和管理基于Docker的Immich服务实例,支持容器的启动、停止、挂载、权限设置及日志获取等操作。通过API接口与SSH远程执行,用户可以灵活管理容器生命周期,并实现一站式的状态监控与用户管理。此外,内置的nginx代理配置功能确保了服务在反向代理环境下的稳定运行,适用于云服务商、系统运维人员和企业IT团队,提升了运维效率与服务交付质量。
流程图

工作流名称
puq-docker-immich-deploy
主要功能和亮点
此工作流旨在自动化部署和管理基于Docker的Immich服务实例,集成了API接口、SSH远程执行与Docker容器管理,支持容器的启动、停止、挂载/卸载磁盘、权限设置、日志获取、状态监控以及用户管理等多项操作。通过灵活的命令分支与参数配置,实现对Immich服务及其依赖容器的全生命周期管理。内置了对nginx代理配置的自动生成与更新,确保服务在反向代理环境下的稳定运行。
解决的核心问题
- 自动化部署和管理Immich服务容器,减少手动操作和配置错误。
- 动态管理容器的存储挂载,保障数据持久化与隔离。
- 一站式API接口控制,便于与WHMCS/WISECP等系统集成。
- 统一日志、状态、权限及用户管理,提高运维效率。
- 通过SSH安全执行命令,保证操作的安全性和可控性。
应用场景
- 云服务提供商为客户快速部署Immich照片管理服务。
- 企业内部自动化管理多租户Immich实例。
- 集成至WHMCS/WISECP等计费管理平台,实现Docker服务的自动化开通、暂停、续费等操作。
- DevOps团队对Immich容器环境的集中监控与维护。
主要流程步骤
- 接收API请求:通过Webhook接收外部命令请求,并进行身份验证。
- 参数设置:根据请求内容设置服务器域名、数据存储目录及挂载点等参数。
- 命令判断:通过条件判断节点解析请求中的操作命令(如创建、启动、停止、挂载磁盘等)。
- 执行SSH命令:远程通过SSH执行对应的Shell脚本,实现Docker容器的操作及环境配置。
- 配置生成与更新:
- 自动生成docker-compose.yml文件,实现容器编排。
- 生成并更新nginx代理配置文件,应用访问控制列表(ACL)。
- 状态与日志采集:获取容器的运行状态、性能指标及日志信息,进行反馈。
- 用户与版本管理:查询Immich应用版本及用户信息,实现密码重置等管理功能。
- 响应API请求:将操作结果以JSON格式返回,供调用方使用。
涉及的系统或服务
- Docker:用于容器化部署Immich及其依赖组件(数据库、Redis、机器学习服务)。
- SSH远程执行:安全执行远程服务器上的部署与管理命令。
- Webhook API:接收外部系统(如WHMCS/WISECP)请求,实现自动化控制。
- nginx代理:反向代理配置,管理访问控制与请求转发。
- Immich服务:开源的自托管照片管理后端。
- PostgreSQL数据库:存储Immich数据。
- Redis缓存:提供高速缓存支持。
适用人群或使用价值
- 云服务商:提供Immich照片管理服务的自动化部署与管理解决方案,提升客户交付效率。
- 系统运维人员:简化Immich多实例的运维管理,通过API实现批量操作与监控。
- 开发者与集成商:方便将Immich容器管理集成进现有计费和客户管理平台。
- 企业IT团队:快速搭建私有照片管理平台,保障数据安全与服务稳定。
- 技术支持团队:通过日志和状态采集节点快速定位和解决问题。
此工作流实现了Immich基于Docker环境的自动化部署与运维,结合API与SSH技术,提供了一个完整、高效且安全的服务管理框架,极大降低了人工操作成本,提升了服务交付速度和质量。