如何使用Silobase在几分钟内部署后端API
Hi,我是Simi,Silobase的作者。
Silobase是一个开源的后端即服务(BaaS)平台,类似于Supabase或Firebase,但没有供应商锁定。与绑定到Postgres(Supabase)或专有数据库(Firebase)不同,Silobase允许您使用自己的数据库。
只需一个package.json文件和一个.env文件,您就可以在几分钟内在数据库之上启动REST API。在本教程中,我将向您展示如何:
- 在Render上设置Postgres数据库
- 在Render上部署Silobase作为后端
- 使用示例请求测试API
1. 设置数据库
在Render上创建数据库
前往Render的控制面板并创建一个新的Postgres数据库。保存凭据(数据库URL、用户名、密码、主机和端口)——稍后您将需要它们。
创建表
与Firebase或Supabase需要登录Web界面创建表不同,使用Silobase您可以控制自己的数据库模式。
使用DBeaver或PgAdmin等工具连接到您的Render Postgres数据库,然后运行以下SQL创建users表:
CREATE TABLE users (id SERIAL PRIMARY KEY,username VARCHAR(50) UNIQUE NOT NULL,email VARCHAR(100) UNIQUE NOT NULL,password_hash TEXT NOT NULL,created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP,updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);
如果您已经有现有的表,可以跳过此步骤。
2. 本地设置Silobase
首先,创建一个新的GitHub仓库,并添加如下package.json:
{"name": "silobase-app","version": "1.0.0","description": "Silobase deployment on Render","scripts": {"start": "silobase start"},"dependencies": {"silobase": "1.0.0"},"engines": {"node": ">=18"}
}
安装依赖并在本地启动后端:
npm install && npm start
您应该看到确认服务器正在运行的日志:
> silobase-app@1.0.0 start
> silobase startServer running on port 3000
Server listening at http://127.0.0.1:3000
3. 在Render上部署Silobase
创建新的Render服务
- 链接您的GitHub仓库
- 设置构建命令:
npm build
- 设置启动命令:
npm start
配置环境变量
添加.env文件来存储数据库连接和API密钥。示例:
DB_CLIENT=pg
DB_HOST=your-db-host
DB_USER=youruser
DB_PASSWORD=yourpassword
DB_PORT=5432
DB_NAME=yourdbname
API_KEY_READ=read_key
API_KEY_WRITE=write_key
API_KEY_FULL=admin_key
MASK_FIELDS=password,ssn
- 从Render数据库填写数据库凭据
- 生成安全的API密钥(可以使用在线MD5/UUID生成器)
- 添加您希望在API响应中掩码的任何敏感字段
点击"部署Web服务",等待Render构建并启动您的后端。
4. 测试您的API
部署完成后,Render将给您一个类似这样的URL:
https://silobase-demo.onrender.com/
现在您可以通过Silobase查询数据库。例如,使用只读API密钥获取所有用户:
curl --location 'https://silobase-demo.onrender.com/rest/v1/users' \
--header 'x-api-key: <API_KEY_READ>'
示例响应:
{"status": "success","data": {"count": 5,"rows": [{"id": 1,"username": "alice","email": "alice@example.com","password_hash": "******","created_at": "2025-10-01T19:37:41.290Z","updated_at": "2025-10-01T19:37:41.290Z"},{"id": 2,"username": "bob","email": "bob@example.com","password_hash": "******","created_at": "2025-10-01T19:37:41.290Z","updated_at": "2025-10-01T19:37:41.290Z"}]},"code": 200
}
注意password_hash如何自动被掩码——Silobase确保敏感字段不会通过API泄漏。您可以通过.env文件配置其他要掩码的字段:
MASK_FIELDS=password,email
就是这样!
只需几个步骤,您就:
- 在Render上创建了Postgres数据库
- 部署了Silobase作为后端API
- 使用API密钥和字段掩码安全地查询了数据库
使用Silobase,部署后端API就像编写package.json和.env文件一样简单。无需样板代码,无需自定义后端,没有供应商锁定。只需您的数据库 + Silobase = 生产就绪的API。
更多精彩内容 请关注我的个人公众号 公众号(办公AI智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)
公众号二维码
公众号二维码