puq-docker-immich-deploy

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

流程图
puq-docker-immich-deploy 工作流程图

工作流名称

puq-docker-immich-deploy

主要功能和亮点

此工作流旨在自动化部署和管理基于Docker的Immich服务实例,集成了API接口、SSH远程执行与Docker容器管理,支持容器的启动、停止、挂载/卸载磁盘、权限设置、日志获取、状态监控以及用户管理等多项操作。通过灵活的命令分支与参数配置,实现对Immich服务及其依赖容器的全生命周期管理。内置了对nginx代理配置的自动生成与更新,确保服务在反向代理环境下的稳定运行。

解决的核心问题

  • 自动化部署和管理Immich服务容器,减少手动操作和配置错误。
  • 动态管理容器的存储挂载,保障数据持久化与隔离。
  • 一站式API接口控制,便于与WHMCS/WISECP等系统集成。
  • 统一日志、状态、权限及用户管理,提高运维效率。
  • 通过SSH安全执行命令,保证操作的安全性和可控性。

应用场景

  • 云服务提供商为客户快速部署Immich照片管理服务。
  • 企业内部自动化管理多租户Immich实例。
  • 集成至WHMCS/WISECP等计费管理平台,实现Docker服务的自动化开通、暂停、续费等操作。
  • DevOps团队对Immich容器环境的集中监控与维护。

主要流程步骤

  1. 接收API请求:通过Webhook接收外部命令请求,并进行身份验证。
  2. 参数设置:根据请求内容设置服务器域名、数据存储目录及挂载点等参数。
  3. 命令判断:通过条件判断节点解析请求中的操作命令(如创建、启动、停止、挂载磁盘等)。
  4. 执行SSH命令:远程通过SSH执行对应的Shell脚本,实现Docker容器的操作及环境配置。
  5. 配置生成与更新
    • 自动生成docker-compose.yml文件,实现容器编排。
    • 生成并更新nginx代理配置文件,应用访问控制列表(ACL)。
  6. 状态与日志采集:获取容器的运行状态、性能指标及日志信息,进行反馈。
  7. 用户与版本管理:查询Immich应用版本及用户信息,实现密码重置等管理功能。
  8. 响应API请求:将操作结果以JSON格式返回,供调用方使用。

涉及的系统或服务

  • Docker:用于容器化部署Immich及其依赖组件(数据库、Redis、机器学习服务)。
  • SSH远程执行:安全执行远程服务器上的部署与管理命令。
  • Webhook API:接收外部系统(如WHMCS/WISECP)请求,实现自动化控制。
  • nginx代理:反向代理配置,管理访问控制与请求转发。
  • Immich服务:开源的自托管照片管理后端。
  • PostgreSQL数据库:存储Immich数据。
  • Redis缓存:提供高速缓存支持。

适用人群或使用价值

  • 云服务商:提供Immich照片管理服务的自动化部署与管理解决方案,提升客户交付效率。
  • 系统运维人员:简化Immich多实例的运维管理,通过API实现批量操作与监控。
  • 开发者与集成商:方便将Immich容器管理集成进现有计费和客户管理平台。
  • 企业IT团队:快速搭建私有照片管理平台,保障数据安全与服务稳定。
  • 技术支持团队:通过日志和状态采集节点快速定位和解决问题。

此工作流实现了Immich基于Docker环境的自动化部署与运维,结合API与SSH技术,提供了一个完整、高效且安全的服务管理框架,极大降低了人工操作成本,提升了服务交付速度和质量。

puq-docker-immich-deploy