使用Silobase在几分钟内快速部署后端API

如何使用Silobase在几分钟内部署后端API

Hi,我是Simi,Silobase的作者。

Silobase是一个开源的后端即服务(BaaS)平台,类似于Supabase或Firebase,但没有供应商锁定。与绑定到Postgres(Supabase)或专有数据库(Firebase)不同,Silobase允许您使用自己的数据库。

只需一个package.json文件和一个.env文件,您就可以在几分钟内在数据库之上启动REST API。在本教程中,我将向您展示如何:

  1. 在Render上设置Postgres数据库
  2. 在Render上部署Silobase作为后端
  3. 使用示例请求测试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 start

Server 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智能小助手)
对网络安全、黑客技术感兴趣的朋友可以关注我的安全公众号(网络安全技术点滴分享)

公众号二维码

公众号二维码

posted @ 2025-10-04 06:06  qife  阅读(9)  评论(0)    收藏  举报