准备工作
在开始之前,请确保您已经完成了以下几项准备:
一个 Hugging Face 账户。
您的 Komari Agent 的 -e 和 -t参数。
创建space-Docker-Black
创建项目文件
首先,创建三个文件:
Dockerfile:定义如何构建容器镜像。
start.sh:容器启动时执行的脚本。
README.md:Hugging Face Spaces 的配置文件。
编写启动脚本
这个脚本会同时执行两项任务:在后台启动 Komari Agent,然后在前台启动一个简单的 Python Web 服务器。这个 Web 服务器是欺骗 Hugging Face Spaces 的关键,它会持续响应健康检查请求,让容器保持“运行中”状态。
在项目文件夹中创建 start.sh 文件,并复制以下内容:
#!/bin/bash
# 使用 Hugging Face Spaces 的环境变量来启动 Komari Agent
# 注意:参数用双引号包裹,以防值中包含特殊字符
/usr/local/bin/komari-agent -e “$KOMARI_ENDPOINT” -t “$KOMARI_TOKEN” &
# 启动一个简单的 Python HTTP 服务器
# 监听 7860 端口,并保持前台运行
python3 -m http.server 7860
创建 README.md 文件
README.md 是 Hugging Face Spaces 识别和配置您的 Docker 应用的关键。它包含了部署类型和端口设置。
在项目文件夹中创建 README.md 文件,并复制以下内容:
-–
title: Komari Agent
emoji: 🚀
colorFrom: gray
colorTo: blue
sdk: docker
app_port: 7860
-–
# Komari Agent Docker Deployment
This is a simple Docker deployment for Komari Agent, designed to run on Hugging Face Spaces.
添加 Secrets
点击右上角的 “Settings” 选项。
下拉找到 “Secrets”,然后点击 “Add new secret”。
创建两个新的 Secret:
Name: KOMARI_ENDPOINT,Value: xxxx
Name: KOMARI_TOKEN,Value: xxxxx
分别对应面板安装脚本的-e 和 -t 的参数
编写 Dockerfile
这个 Dockerfile 将使用一个多阶段构建,从 Komari Agent 镜像中提取可执行文件,然后用一个轻量级的 Python 镜像作为基础,以避免复杂的权限问题。
在HuggingFace中创建 Dockerfile 文件,并复制以下内容:
# 阶段一:构建者,从 Komari Agent 镜像中提取可执行文件
FROM skylerhe/komari-agent:amd64 AS builder
# 阶段二:最终镜像,使用轻量级的 Python 镜像
FROM python:3.10-slim
# 复制 Komari Agent 可执行文件到最终镜像中
COPY --from=builder /app/komari-agent /usr/local/bin/
# 暴露 7860 端口,这是 Hugging Face Spaces 默认监听的端口
EXPOSE 7860
# 复制启动脚本到容器中
COPY start.sh /start.sh
# 容器启动时,执行 start.sh 脚本
CMD [“bash”, “/start.sh”]
提交Dockerfile文件后Hugging Face Spaces 会自动开始构建和部署容器。一旦容器成功启动,Space 状态就会从 “Building” 和 “Starting” 变为 “Running”。
关于保活
使用uptime监控网页,即可实现保活。若没有uptime,可以自己手动访问网页。总之,访问网页即可保活。
回到komari就可以看到已经在线了,So easy
