当前位置: 首页 > 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.gsyq.cn/news/15396.html

相关文章:

  • 【光照】[各向异性]在UnityURP中的实现
  • 基于HAL库和中断的LED流水灯
  • 5_flutter UI框架选型
  • 如何给 Claude 中的网页做截图
  • MySQL.Data.DLL 官网下载方法 2025
  • 趣题记
  • 『随笔』0919
  • 主要编码规范
  • ue5.1最新安装的时候关于重装vs2022版本的问题
  • Docker 安装配置 OnlyOffice - Higurashi
  • 什么是计算数学?
  • 2025对外AI服务合规指南:6步构建可审计的法律法规遵循体系
  • 六边形架构达成:领域驱动设计 + 端口适配器模式
  • 写作业
  • 在JavaScript / HTML中,动态计算调整文字大小 - 详解
  • P9877/QOJ5069 Vacation
  • 防重复提交的实现
  • 设计模式(C++)详解——观察者模式(Observer)(1) - 教程
  • 大数据变长存储算法 - 实践
  • 国庆集训-JDAY3
  • AI元人文系列文章:AI元人文的未来——软硬件协同
  • 10.3考试反思
  • 2025十一集训——Day2做题
  • 详细介绍:深度学习赋能基层医疗:融合PyTorch与Django的智能医疗影像诊断平台研究
  • Day007 Java方法基础
  • 30天JavaScript挑战 - 从零基础到精通的完整学习指南
  • Spring框架常见的注解 - 实践
  • 关于VMware虚拟机如何下载-2025.10.3
  • 苹果首款折叠屏iPhone全爆料汇总:明年9月发布、1.3万元起步
  • sk06.【scikit-learn基础】--『监督学习』之决策树 - 教程