功能简介
Sites 可管理 Site、Deployment、构建、运行时变量和访问入口,覆盖静态与受支持的服务端渲染场景。它依赖实例启用 Sites,并准备 Builder、Executor/Runtime、对象存储与 Proxy;缺少任一组件时,路由和 Console 页面存在也不能证明部署可用。
当前支持范围
- 站点托管(PARTIAL):在启用 Sites 且准备好构建、运行时和代理组件的实例中,可部署静态或服务端渲染站点。
适用场景
- 部署静态站点或受支持框架产物。
- 从源码包、模板或 VCS 创建 Deployment。
- 查看构建日志和切换 active Deployment。
前置条件
- 实例 Feature Flag 已启用 Sites。
- Builder、Runtime、Proxy 和对象存储可用。
- 目标 Project 拥有 Sites 管理权限。
Console 操作路径
Console → Project → Sites。可选择 manual、template 或 repository 创建 Site,之后管理 Deployments、Settings、Usage 与实例已公开的 Domains 页面。
SDK 示例
SDK · TypeScript
import { Client, Sites, ID, Framework, BuildRuntime } from 'appbase-console-sdk';
const client = new Client()
.setEndpoint('https://<APPBASE_HOST>/v1')
.setProject('<PROJECT_ID>')
.setKey('<API_KEY>');
const sites = new Sites(client);
const site = await sites.create({
siteId: ID.unique(),
name: 'Example site',
framework: Framework.Vite,
buildRuntime: BuildRuntime.Node22
});REST 示例
REST · Bash
curl 'https://<APPBASE_HOST>/v1/sites' \
-X POST \
-H 'X-Appwrite-Project: <PROJECT_ID>' \
-H 'X-Appwrite-Key: <API_KEY>' \
-H 'Content-Type: application/json' \
--data '{"siteId":"unique()","name":"Example site","framework":"<SUPPORTED_FRAMEWORK>","buildRuntime":"<SUPPORTED_RUNTIME>"}'常见错误
| 现象 | 处理建议 |
|---|---|
| Site API disabled | 由实例管理员启用 Sites;不要通过修改客户端绕过。 |
| Build failed | 检查 framework、runtime、install/build command 与构建日志。 |
| Deployment 可用但域名不可达 | 检查 Proxy、DNS、证书和实例网络。 |
403 | 检查 Site/Deployment Scope 和 Project 服务开关。 |
当前限制
- 并非所有实例默认启用 Sites。
- 框架、Runtime、规格和并发以目标实例返回为准。
- 本轮不把 Sites 自定义域名 CRUD 标为公开已支持能力。
Appwrite 兼容说明
Site、Deployment 与 Framework 分类保持兼容;AppBase 的可用范围以实例依赖和实际 Console/SDK 为准。
AppBase 增强说明
AppBase 把 Sites 纳入统一 Project、Key、Usage 与 Proxy 边界,但不承诺部署环境之外的 DNS/证书责任。
发布状态和验证 Commit
origin/main 条件支持。验证 Commit:0363062a1c7ea08741975bb5ba0c3361663c9353;使用前必须同时满足本页“当前限制”。
权威来源文件列表
backend-candidate:src/Appwrite/Platform/Modules/Sites/Http/Sites/backend-candidate:tests/e2e/Services/Sites/SitesCustomServerTest.phpfrontend-candidate:console/src/lib/components/sidebar.sveltefrontend-candidate:console/src/routes/(console)/project-[region]-[project]/sites/
Appwrite taxonomy 仅作信息架构参考:https://appwrite.io/docs/products/sites。上游页面不是 AppBase 实现证据。