
Pixelle-Video 如何用 Docker Compose 部署并检查服务健康状态【免费下载链接】Pixelle-Video AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-VideoPixelle-Video 的 Docker 部署由三个容器组成init负责确保配置文件的初始化api运行 FastAPI 后端端口 8000web运行 Streamlit 前端端口 8501。本文的任务是在装有 Docker Compose 的机器上把 Pixelle-Video 构建并启动起来然后确认两个服务确实处于健康状态。部署定义在 docker-compose.yml 中镜像基于 DockerfilePython 3.11-slim内置 curl、ffmpeg、Playwright Chromium启动前需要确认宿主机已安装 Docker Compose——项目自带的 docker-start.sh 脚本会同时检查docker-compose和docker compose两种命令是否存在不存在会直接报错退出。部署前先准备 config.yaml容器启动时会把宿主机当前目录的./config.yaml挂载到/app/config.yamldocker-compose.yml 中 api 与 web 两个服务都挂载了它。如果config.yaml不存在compose 里的init服务会在 api/web 启动前自动从 config.example.yaml 复制一份如果config.yaml意外是一个目录Docker 挂载不存在的文件会创建目录的问题init 服务会将其删除并重新创建。如果希望启动前就配好参数手动执行一次即可cp config.example.yaml config.yaml需要按自己的环境修改的关键配置是 ComfyUI 地址。config.example.yaml 中默认值为comfyui_url: http://127.0.0.1:8188 # ComfyUI server URL (required for selfhost workflows)文件中的注释明确说明Docker 用户应使用host.docker.internal:8188Mac/Windows或宿主机 IP 地址Linux替换127.0.0.1因为容器内的127.0.0.1指向容器自身。自托管工作流selfhost workflows依赖这个地址能真正连到宿主机的 ComfyUI此外脚本启动提示中还要求填写 LLM API keyRunningHub API key 为可选项用于云端工作流。启动后也可以在 Web UI 里继续配置这些设置。构建并启动服务在项目根目录与 docker-compose.yml 同级执行docker-compose build docker-compose up -d如果环境使用docker compose带空格的新版插件把命令中的docker-compose换成docker compose即可两种形式 docker-start.sh 都支持。构建阶段受USE_CN_MIRROR构建参数控制默认false。国内环境按 docker-compose.yml 头部注释的示例使用清华/阿里云镜像源加速构建USE_CN_MIRRORtrue docker-compose up -d也可以直接运行项目自带的启动脚本./docker-start.sh该脚本会依次执行若config.yaml是目录则rm -rf删除这是它对当前目录文件的唯一破坏性操作仅针对挂载事故产生的空目录若config.yaml不存在则从config.example.yaml复制然后自动选择可用的docker-compose或docker compose执行build和up -d。副作用范围仅限当前目录的config.yaml且仅在上述两种情况下才动它其余时间与手动执行完全等价。检查服务健康状态docker-compose up -d之后用以下三种方式核对两个服务。1.docker-compose ps查看容器与健康标志两个服务都配置了健康检查docker-compose.yml 的healthcheck段容器会周期性自检状态异常时ps输出中会标记unhealthyapicurl -f http://localhost:8000/health间隔 30s、超时 10s、重试 3 次、start_period10swebcurl -f http://localhost:8501/_stcore/health间隔 30s、超时 10s、重试 3 次、start_period15s。因此服务刚启动后的头十几秒内状态可能还未就绪属于健康检查的start_period覆盖范围等待后重新执行docker-compose ps再判断。2. 直接请求健康接口curl http://localhost:8000/health这是 API 服务的健康端点实现在 api/routers/health.py返回的字段包括status值为healthy、version和servicePixelle-Video API。同文件里还有一个等价的GET /version端点返回相同信息。Web 服务对应 Streamlit 自带的健康路径compose 文件中使用的检查命令即为curl http://localhost:8501/_stcore/health3.docker-compose logs -f跟踪日志确认某个服务是否反复重启、依赖安装或配置加载有无报错时直接看日志。日志驱动配置为 json-file单文件上限 10m、最多保留 3 个文件logging段不会无限膨胀。docker-start.sh 启动完成后给出的常用命令可作参考docker-compose logs -f # 查看日志 docker-compose down # 停止并移除容器 docker-compose restart # 重启 docker-compose up -d --build # 重新构建并启动访问入口与持久化边界服务就绪后docker-start.sh 提示的三个入口是Web UIhttp://localhost:8501APIhttp://localhost:8000API 文档http://localhost:8000/docs两个服务都把./data和./output挂载到容器内/app/data、/app/output生成的视频产物和自定义资源data/bgm/、data/templates/、data/workflows/会覆盖镜像内置的默认资源落在宿主机目录中容器删除不丢数据。镜像本身ffmpeg、CJK 字体、Chromium 等由 Dockerfile 在构建期一次性装好运行时不再下载这些系统依赖。需要注意的限制config.yaml不能是目录。正常情况下 init 服务会自动修复手动排查时如果发现挂载点变成了目录先删掉再重启。自托管 ComfyUI 工作流要求comfyui_url指向容器可达的地址127.0.0.1在容器内不通这一点是容器化部署与直接运行最大的环境差异。健康检查只覆盖 api/health和 web/_stcore/health两个端点上游依赖LLM 接口、ComfyUI是否可用不在健康检查范围内需在 Web UI 发起实际任务时验证。【免费下载链接】Pixelle-Video AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考