VPS_Linux / README.md
darkfire514's picture
Upload 3 files
cf4f9f7 verified
metadata
title: VPS Linux
emoji: 🐨
colorFrom: red
colorTo: green
sdk: docker
pinned: false
license: mit

Simplified Linux VPS on Hugging Face Spaces

这是一个用于在 Hugging Face Spaces 上运行简化版 Linux VPS 的配置模板。它基于轻量级的 Debian Bookworm Slim,预装了基本的开发工具和 ttyd 网页终端,允许你在浏览器中直接访问命令行。

此环境配置了 sudo 权限,方便你在运行时安装所需的软件(如 OpenClaw)。

新特性:采用 Nginx + oauth2-proxy 架构,支持稳定的 GitHub/Google OAuth 登录与 WebAssembly 游戏预览。

🚀 快速开始

1. 创建 Hugging Face Space

  1. 登录 Hugging Face。
  2. 点击右上角的头像 -> New Space
  3. 输入 Space 名称(例如 my-linux-vps)。
  4. Select the Space SDK: 选择 Docker
  5. Docker Template: 选择 Blank
  6. 点击 Create Space

2. 上传文件

将本仓库中的所有文件(Dockerfile, README.md, start.sh, nginx.conf, oauth2-proxy.cfg, build_wasm.sh)上传到你的 Space 仓库中。

3. 配置鉴权环境变量 (重要!)

在 Space 的 Settings -> Variables and secrets 中添加以下环境变量:

变量名 描述 示例
ALLOWED_USERS 必填。允许登录的 GitHub 用户名或 Email,逗号分隔。 yourgithubuser,your@email.com
OAUTH2_PROXY_CLIENT_ID OAuth Client ID (GitHub 或 Google) Ov23li...
OAUTH2_PROXY_CLIENT_SECRET OAuth Client Secret a1b2c3...
OAUTH2_PROXY_COOKIE_SECRET Cookie 加密密钥 (16/24/32字节) python3 -c 'import os,base64; print(base64.b64encode(os.urandom(16)).decode())' 生成一个

回调地址配置:

  • GitHub App Callback URL: https://<你的Space地址>/oauth2/callback
  • Google Client Redirect URI: https://<你的Space地址>/oauth2/callback

4. 访问 VPS

配置好环境变量后,Space 会自动重启。 点击 App 标签页,你会看到 GitHub/Google 登录页面。登录成功后即可进入终端。

🛠️ 功能特性

  • OAuth 鉴权: 使用 oauth2-proxy,安全稳定,支持 Session 管理。
  • 白名单机制: 仅允许 ALLOWED_USERS 中的用户登录,拒绝陌生人访问。
  • Nginx 反代: 高性能反向代理,处理静态文件和 WebSocket。
  • Web 终端: 访问根路径 /,使用 ttyd 管理 VPS。
  • WASM 游戏预览: 访问 /game,预览编译好的 WebAssembly 游戏。
  • WASM 编译环境: 预装 Emscripten (emsdk)。

🎮 如何编译 OpenClaw 为 WASM

  1. 登录终端。
  2. 运行 ./build_wasm.sh
  3. 如果编译成功,访问 https://<你的Space地址>/game 即可玩游戏。

⚠️ 安全警告

  • 此 VPS 拥有 root 权限。
  • 请务必正确设置 ALLOWED_USERS,否则虽然能登录,但可能被 oauth2-proxy 拒绝(如果未设置则可能开放给所有人,具体取决于配置)。