项目地址:https://github.com/Zeyi-Lin/HivisionIDPhotos
其实官方的应用里面是有这个软件的,但是更新过后就启动不了(也不知道原因),而且也没有什么模型可以切换,所以还是自己部署好用一些。
下面是效果图:

compose部署:
# 指定 Docker Compose 文件格式版本
version: '3.8'
# 定义服务(容器)部分
services:
# HivisionIDPhotos 主应用服务
hivision-idphotos:
# 使用的 Docker 镜像
image: linzeyi/hivision_idphotos:latest
# 容器名称,便于管理
container_name: hivision-idphotos
# 重启策略:除非手动停止,否则总是重启
restart: unless-stopped
# 端口映射:主机端口:容器端口
# 将容器的 7860 端口映射到主机的 7860 端口
ports:
- "7860:7860"
# 环境变量配置
environment:
# 设置容器时区
- TZ=Asia/Shanghai
# Gradio 服务器监听地址,0.0.0.0 表示监听所有网络接口
- GRADIO_SERVER_NAME=0.0.0.0
# Gradio 服务器端口
- GRADIO_SERVER_PORT=7860
# 数据卷挂载:将主机目录挂载到容器内
volumes:
# 配置文件目录
- /vol1/1000/docker/HivisionIDPhotos/config:/app/config
# 输出文件目录(生成的证件照)
- /vol1/1000/docker/HivisionIDPhotos/output:/app/output
# 日志文件目录
- /vol1/1000/docker/HivisionIDPhotos/logs:/app/logs
# 健康检查配置
healthcheck:
# 检查命令:使用 curl 检查服务是否正常响应
test: ["CMD", "curl", "-f", "http://localhost:7860"]
# 检查间隔:每 30 秒检查一次
interval: 30s
# 超时时间:10 秒无响应则认为失败
timeout: 10s
# 重试次数:连续失败 3 次才标记为不健康
retries: 3
# 初始等待时间:容器启动后 40 秒开始健康检查
start_period: 40s
# 日志配置
logging:
# 使用 JSON 文件驱动记录日志
driver: "json-file"
options:
# 单个日志文件最大大小
max-size: "10m"
# 保留的日志文件数量(轮转)
max-file: "3"
# 可选:Redis 缓存服务(如果应用需要缓存支持)
redis:
# 使用官方 Redis Alpine 版本(轻量级)
image: redis:7-alpine
container_name: hivision-redis
restart: unless-stopped
# Redis 服务端口映射
ports:
- "6379:6379"
# 使用命名卷持久化 Redis 数据
volumes:
- /vol1/1000/docker/HivisionIDPhotos/redis_data:/data
# Redis 启动命令:启用 AOF 持久化
command: redis-server --appendonly yes
# Redis 健康检查
healthcheck:
test: ["CMD", "redis-cli", "ping"]
interval: 10s
timeout: 3s
retries: 3
# 定义数据卷(持久化存储)
volumes:
# Redis 数据卷
redis_data:
# 默认使用本地驱动
在这里下载模型:

docker文件夹里面创建对应文件夹:

下载好的模型放进去就行了。