轻量级后端,内置数据库、认证、媒体与工作流,基于 Web 标准可在多种运行时和框架中部署。
- Star
- 12,469
- Fork
- 638
- 未关闭 Issue
- 138
- 最近提交
- 14小时前
这是什么?
Encore 是一个面向 TypeScript 和 Go 后端的基础设施 SDK。开发者直接在代码中声明 SQL 数据库、Pub/Sub 主题、对象存储桶、缓存、定时任务和密钥等资源。执行 `encore run` 即可在本地启动完整应用,包括真实的 Postgres 以及可查看分布式追踪的本地面板;部署时,同样的声明会在 AWS 或 Google Cloud 上对应生成 RDS、Cloud SQL、S3、GCS 等服务。
SDK 为开源项目,也可以脱离 Encore 的托管平台单独使用。托管平台可连接到开发者自己的 AWS 或 GCP 账户,负责资源配置,并支持为每个 PR 创建预览环境,依据代码路径生成最小权限的 IAM 策略。不使用平台的团队可以通过 `encore build docker` 构建镜像,再用 Terraform 等工具自行管理基础设施。Python 与 Rust 支持尚在规划中。
核心功能
- 01在 TypeScript 或 Go 代码中声明数据库、Pub/Sub、存储桶、缓存、定时任务和密钥。
- 02使用真实 Postgres 在本地运行整个应用,并带有分布式追踪面板。
- 03部署时在 AWS 或 Google Cloud 中自动配置对应资源。
- 04为每个 Pull Request 生成预览环境,可选择从种子环境分支数据库。
- 05通过 `encore build docker` 生成独立镜像,便于自行托管。
适用场景
- 在不手写云基础设施配置的情况下,用 TypeScript 或 Go 构建新的后端服务。
- 为 AI 编程代理提供接近生产环境的本地基础设施,用于验证代码改动。
- 在现有系统旁逐个服务迁移,新服务通过 API 与原系统集成。
- 希望将应用与基础设施保留在自有 AWS 或 GCP 账户中的团队。
快速上手
- 1
创建项目骨架
encore app create - 2
进入项目目录
cd myapp - 3
在本地运行,包含基础设施和开发仪表盘
encore run
使用前须知
- 全自动云资源配置目前仅支持 AWS 和 Google Cloud,Azure 仍在路线图中。
- 要使用基础设施 SDK,服务必须用 TypeScript 或 Go 编写;Python 和 Rust 尚不可用。
- 托管部署平台是商业服务,与开源 SDK 分开。
标签
常见问题
- encore 是什么?
- 开源后端框架,在代码中声明数据库、消息队列、对象存储等基础设施,本地即可运行,并部署到自有 AWS 或 GCP 账户。 Encore 是一个面向 TypeScript 和 Go 后端的基础设施 SDK。开发者直接在代码中声明 SQL 数据库、Pub/Sub 主题、对象存储桶、缓存、定时任务和密钥等资源。执行 `encore run` 即可在本地启动完整应用,包括真实的 Postgres 以及可查看分布式追踪的本地面板;部署时,同样的声明会在 AWS 或 Google Cloud 上对应生成 RDS、Cloud SQL、S3、GCS 等服务。
- encore 可以免费使用吗?用的什么许可证?
- encore 以 MPL-2.0 许可证开源。用于商业产品前,请先确认许可证条款。
- encore 还在维护吗?
- 活跃维护中。encore 最近一次提交是在 2026年10月19日。
- encore 适合用来做什么?
- 在不手写云基础设施配置的情况下,用 TypeScript 或 Go 构建新的后端服务。 为 AI 编程代理提供接近生产环境的本地基础设施,用于验证代码改动。 在现有系统旁逐个服务迁移,新服务通过 API 与原系统集成。 希望将应用与基础设施保留在自有 AWS 或 GCP 账户中的团队。
- encore 怎么安装和运行?
- 创建项目骨架: encore app create 进入项目目录: cd myapp 在本地运行,包含基础设施和开发仪表盘: encore run
- 在哪里获取 encore?
- 源代码和安装说明在 GitHub 上:https://github.com/encoredev/encore
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Go 的开源即时通讯服务端,供开发者集成到自有应用中,提供 SDK、REST API 和 Webhook。
基于 Astro 构建的全栈 TypeScript CMS,在无服务器环境中提供类 WordPress 的扩展性与后台体验,插件运行于沙箱中。
一个 JavaScript 库,让浏览器无需自建服务器即可通过 WebRTC 直接点对点通信,用于构建多人网页应用。
单个 Rust 二进制文件实现的自托管 Cloudflare Workers 兼容平台,可在一台机器上运行 Workers、KV、D1、R2 等服务。
基于声明式配置文件的基础设施即代码工具,用于安全地创建、变更和版本化管理云与服务资源。