HuggingFace 推出了一个福利活动,用户可以免费领取一个“Space”服务。
Spaces 是 Hugging Face 提供的云托管环境(配置为免费的 2 核 16G),其核心价值在于“降低 AI 应用落地门槛”——无需自己搭建服务器、配置环境,通过简单配置就能将本地代码、模型变成可公开访问的在线服务或交互式 Demo。
它的用途不仅限于 AI 模型:它支持 Docker 容器、静态网页、API 服务等多种部署方式,可用于托管轻量级 Web 应用、自动化工具(如数据处理脚本)、云端开发环境(如 Jupyter Notebook),甚至是非 AI 类的工具应用(如 n8n 工作流)。
获取免费的2核16G Space
1. 注册账户
如果你还没有 HuggingFace 账户,需要先前往官网注册:
https://huggingface.co/join

访问该网站需要网络代理。按照网页提示输入邮箱和密码完成注册即可。
2. 配置SSH密钥
账户创建完成后,还需要在本地配置SSH密钥。首先,请确保你的电脑已安装 Git 工具,可从以下地址下载:
https://git-scm.com/

安装完成后,在终端中执行以下命令生成密钥(按三次回车使用默认选项):
ssh-keygen -t rsa -b 2048 -C "你的邮箱(如 Hugging Face 注册邮箱)"
密钥文件默认生成在以下路径:
- Windows:
C:\Users\你的用户名\.ssh\
- MacOS & Linux:
~/.ssh/

使用文本编辑器打开 id_rsa.pub 文件,复制其全部内容。然后前往 HuggingFace 平台添加密钥:
https://huggingface.co/settings/keys

3. 创建Space
密钥配置完成后,即可在 Spaces 页面创建自己的 Space:
https://huggingface.co/spaces

按照提示输入 Space name,并选择 Docker 作为运行环境:

其余选项保持默认,点击创建。

创建成功后,页面会提供一个使用示例,指导你快速启动一个“Hello World”应用。主要步骤包括:
- 将仓库拉取到本地。
- 在本地仓库中创建 Python 脚本和依赖文件。
- 创建并编写
Dockerfile,这是定义构建和运行环境的核心文件。
- 通过 git 提交添加的文件。
- Space 平台会自动根据
Dockerfile 构建容器并启动服务。
- 通过 Space 分配的专属域名即可访问部署的服务。

部署服务实战
我们先根据官方教程跑通“Hello World”流程,然后编写自己的 Dockerfile 来部署一个 OpenList 网盘服务。
1. 拉取仓库
在 Space 详情页,官方提供了 Git 命令。由于我们已经配置了 SSH 密钥,选择通过 SSH 方式拉取仓库:

2. 创建文件并写入代码
在拉取到本地的项目目录中,首先创建依赖文件 requirements.txt:

接着创建主程序文件 app.py 并写入代码:

最后,创建最关键的定义构建步骤的 Dockerfile 文件,缺少此文件服务将无法构建和运行。

3. 推送代码并触发构建
所有文件准备就绪后,使用 Git 命令提交代码。推送后,Space 平台会自动触发构建流程。

在 Space 的页面中,可以看到构建任务已被触发:

在 Container 日志页面,可以实时查看容器运行的输出信息:

Spaces 为每个项目自动分配一个默认域名,格式统一为:
https://{用户名}-{空间名}.hf.space
例如,我创建的 Space 访问地址为:
https://bystart-mp.hf.space

实战:部署 OpenList 网盘服务
在成功运行示例后,我实际部署了一个 OpenList 网盘服务,你可以访问以下地址查看效果:
https://bystart-alist.hf.space

其对应的 Dockerfile 内容如下:
FROM openlistteam/openlist:latest
USER root
RUN mkdir -p /opt/openlist/data && \
chown -R 0:0 /opt/openlist/data && \
chmod -R 777 /opt/openlist/data
EXPOSE 5244/tcp
ENV TZ=Asia/Shanghai
ENV PORT=5244
VOLUME ["/opt/openlist/data"]
HEALTHCHECK --interval=30s --timeout=3s \
CMD curl -f http://localhost:5244 || exit 1
此外,还需要修改项目根目录的 README.md 文件,在末尾添加一个 app_port 参数,以告知 Space 平台服务监听的端口:
app_port: 5244

至此,你就成功拥有了一台免费的服务器,可以运行自己需要的各种服务。需要注意的是,为了保持服务活跃,最好设置一个定时任务(例如使用第三方监控服务)定期访问你的服务地址,否则服务在48小时无访问后会自动进入休眠状态。