news 2026/9/13 1:41:33

Pixelle-Video 如何用 Docker Compose 部署并检查服务健康状态?

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Pixelle-Video 如何用 Docker Compose 部署并检查服务健康状态?

Pixelle-Video 如何用 Docker Compose 部署并检查服务健康状态?

【免费下载链接】Pixelle-Video🚀 AI 全自动短视频引擎 | AI Fully Automated Short Video Engine项目地址: https://gitcode.com/GitHub_Trending/pi/Pixelle-Video

Pixelle-Video 的 Docker 部署由三个容器组成:init负责确保配置文件的初始化,api运行 FastAPI 后端(端口 8000),web运行 Streamlit 前端(端口 8501)。本文的任务是:在装有 Docker Compose 的机器上把 Pixelle-Video 构建并启动起来,然后确认两个服务确实处于健康状态。部署定义在 docker-compose.yml 中,镜像基于 Dockerfile(Python 3.11-slim,内置 curl、ffmpeg、Playwright Chromium),启动前需要确认宿主机已安装 Docker Compose——项目自带的 docker-start.sh 脚本会同时检查docker-composedocker compose两种命令是否存在,不存在会直接报错退出。

部署前先准备 config.yaml

容器启动时会把宿主机当前目录的./config.yaml挂载到/app/config.yaml(docker-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:8188(Mac/Windows)或宿主机 IP 地址(Linux)替换127.0.0.1,因为容器内的127.0.0.1指向容器自身。自托管工作流(selfhost workflows)依赖这个地址能真正连到宿主机的 ComfyUI;此外脚本启动提示中还要求填写 LLM API key,RunningHub 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_MIRROR=true docker-compose up -d

也可以直接运行项目自带的启动脚本:

./docker-start.sh

该脚本会依次执行:若config.yaml是目录则rm -rf删除(这是它对当前目录文件的唯一破坏性操作,仅针对挂载事故产生的空目录);若config.yaml不存在则从config.example.yaml复制;然后自动选择可用的docker-composedocker compose执行buildup -d。副作用范围仅限当前目录的config.yaml,且仅在上述两种情况下才动它,其余时间与手动执行完全等价。

检查服务健康状态

docker-compose up -d之后,用以下三种方式核对两个服务。

1.docker-compose ps查看容器与健康标志

两个服务都配置了健康检查(docker-compose.yml 的healthcheck段),容器会周期性自检,状态异常时ps输出中会标记unhealthy

  • api:curl -f http://localhost:8000/health,间隔 30s、超时 10s、重试 3 次、start_period10s;
  • web:curl -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)、versionservicePixelle-Video API)。同文件里还有一个等价的GET /version端点返回相同信息。

Web 服务对应 Streamlit 自带的健康路径,compose 文件中使用的检查命令即为:

curl http://localhost:8501/_stcore/health

3.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 UI:http://localhost:8501
  • API:http://localhost:8000
  • API 文档: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),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/13 1:41:21

STM32F429驱动DS1307:I2C实时时钟芯片驱动开发与调试实战

简介:围绕STM32F429与DS1307实时时钟芯片的I2C通信例程,面向嵌入式初学者及需要快速上手STM32外设开发的工程师。内容涵盖GPIO复用模式配置、I2C外设初始化、读写时序实现,以及通过HAL库完成时间设置与读取的完整思路,可作为学习I…

作者头像 李华
网站建设 2026/9/13 1:38:12

4 步把微信聊天记录导出成本地文件,WeChatMsg 免费使用指南

4 步把微信聊天记录导出成本地文件,WeChatMsg 免费使用指南 【免费下载链接】WeChatMsg 提取微信聊天记录,将其导出成HTML、Word、CSV文档永久保存,对聊天记录进行分析生成年度聊天报告 项目地址: https://gitcode.com/GitHub_Trending/we/…

作者头像 李华
网站建设 2026/9/13 1:33:08

SAP MM核心配置实操:从企业结构到发票校验全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

作者头像 李华