当前位置: 首页 > news >正文

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

公众号二维码

公众号二维码

http://www.hskmm.com/?act=detail&tid=23912

相关文章:

  • 【光照】[各向异性]在UnityURP中的实现
  • 基于HAL库和中断的LED流水灯
  • 从衡阳麻衣事件到AI元人文:用户端元人文实践的进化路径研究——声明ai研究
  • 5_flutter UI框架选型
  • 4_查询flutter版本信息
  • 3_flutter简单教程
  • 如何给 Claude 中的网页做截图
  • 2_gradle配置加速
  • AI元人文:岐金兰《悬鉴》起源
  • 九月回忆
  • PWN手成长之路-07-bjdctf_2020_babystack2-栈溢出+整型溢出
  • jellyfine-code1008播放器无法实例化错误、群晖系统分区空间不足解决办法
  • 将GitHub项目克隆后在本地修改好后如何同时提交到GitHub和Gitee
  • MySQL.Data.DLL 官网下载方法 2025
  • 宣泄情绪
  • 执行一次 git commit 后,本地的这次提交能同时推送到 GitHub 和 Gitee 两个远程仓库
  • 【一起学rust | 基础篇】环境配置
  • QWEN
  • 趣题记
  • Day25捕获与抛出异常
  • 『回忆录』高二上第一次月考——压力下的崛起,意外中的突破
  • 免费代理池
  • 白箱算力突破:WBUC与「可能性工程」的诞生(AI元人文系列文章)
  • Linux 中 awk命令提取偶数列数据
  • 『随笔』0919
  • 主要编码规范
  • Docker 安装配置 OnlyOffice - Higurashi
  • 什么是计算数学?
  • 数论中的欧拉函数
  • 悬荡悟空:一个异想天开的计算神话及其硬件证言