pocketbase/pocketbase

GitHub: pocketbase/pocketbase

单文件部署的开源实时后端,集成 SQLite 数据库、用户管理、文件存储和管理后台,适合快速搭建小型应用的 Backend as a Service 方案。

Stars: 56969 | Forks: 3194

PocketBase - open source backend in 1 file

build Latest releases Go package documentation

[PocketBase](https://pocketbase.io) 是一个开源的 Go 后端,包括: - 嵌入式数据库 (_SQLite_),支持 **实时订阅** - 内置 **文件和用户管理** - 便捷的 **Admin dashboard UI** - 以及简单的 **REST-ish API** **有关文档和示例,请访问 https://pocketbase.io/docs。** ## API SDK 客户端 与 PocketBase Web API 交互的最简单方法是使用官方 SDK 客户端之一: - **JavaScript - [pocketbase/js-sdk](https://github.com/pocketbase/js-sdk)** (_Browser, Node.js, React Native_) - **Dart - [pocketbase/dart-sdk](https://github.com/pocketbase/dart-sdk)** (_Web, Mobile, Desktop, CLI_) 您也可以查看 https://pocketbase.io/docs/how-to-use/ 中的建议。 ## 概述 ### 作为独立应用使用 您可以从 [Releases 页面](https://github.com/pocketbase/pocketbase/releases) 下载适用于您平台的预构建可执行文件。 下载后,解压归档文件并在解压目录中运行 `./pocketbase serve`。 预构建的可执行文件基于 [`examples/base/main.go` 文件](https://github.com/pocketbase/pocketbase/blob/master/examples/base/main.go),并默认启用了 JS VM 插件,允许使用 JavaScript 扩展 PocketBase(_有关更多详细信息,请参阅 [使用 JavaScript 扩展](https://pocketbase.io/docs/js-overview/)_)。 ### 作为 Go 框架/工具包使用 PocketBase 作为常规 Go 库包分发,允许您构建 您自己的自定义应用特定业务逻辑,并且最终仍能拥有一个单一的可移植可执行文件。 这是一个最小示例: 0. [安装 Go 1.25+](https://go.dev/doc/install)(_如果您尚未安装_) 1. 创建一个新的项目目录,并在其中包含以下 `main.go` 文件: package main import ( "log" "github.com/pocketbase/pocketbase" "github.com/pocketbase/pocketbase/core" ) func main() { app := pocketbase.New() app.OnServe().BindFunc(func(se *core.ServeEvent) error { // registers new "GET /hello" route se.Router.GET("/hello", func(re *core.RequestEvent) error { return re.String(200, "Hello world!") }) return se.Next() }) if err := app.Start(); err != nil { log.Fatal(err) } } 2. 要初始化依赖项,请运行 `go mod init myapp && go mod tidy`。 3. 要启动应用程序,请运行 `go run main.go serve`。 4. 要构建静态链接的可执行文件,您可以运行 `CGO_ENABLED=0 go build`,然后使用 `./myapp serve` 启动创建的可执行文件。 _有关更多详细信息,请参阅 [使用 Go 扩展](https://pocketbase.io/docs/go-overview/)。_ ### 构建和运行仓库 main.go 示例 要构建最小的独立可执行文件,就像 Releases 页面中预构建的那样,您只需在 `examples/base` 目录中运行 `go build`: 0. [安装 Go 1.25+](https://go.dev/doc/install)(_如果您尚未安装_) 1. 克隆/下载仓库 2. 导航到 `examples/base` 3. 运行 `GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build` (_https://go.dev/doc/install/source#environment_) 4. 通过运行 `./base serve` 启动创建的可执行文件。 请注意,目前纯 Go SQLite 驱动程序支持的构建目标包括: ``` darwin amd64 darwin arm64 freebsd amd64 freebsd arm64 linux 386 linux amd64 linux arm linux arm64 linux loong64 linux ppc64le linux riscv64 linux s390x windows 386 windows amd64 windows arm64 ``` ### 测试 PocketBase 包含各种单元测试和集成测试。 要运行它们,请使用标准的 `go test` 命令: ``` go test ./... ``` 另请查看 [测试指南](http://pocketbase.io/docs/testing) 以了解如何编写您自己的自定义应用程序测试。 ## 安全性 如果您在 PocketBase 中发现安全漏洞,请发送电子邮件至 **support at pocketbase.io**。 所有报告都将得到及时处理,您将在修复版本的说明中获得致谢。
标签:Admin仪表盘, BaaS, CMS, Dart SDK, EVTX分析, Golang, Go语言, JavaScript SDK, PocketBase, RESTful API, SQLite, 低代码, 单文件应用, 后端即服务, 后端框架, 安全编程, 实时后端, 实时数据库, 实时订阅, 嵌入式数据库, 开源后端, 提示词优化, 数据可视化, 文件管理, 无服务器, 日志审计, 用户管理, 移动开发, 程序破解, 轻量级后端