多様なランタイムやフレームワークで動作する、軽量でセルフホスト可能なWeb標準ベースのバックエンド。
encoredev/encore
データベース、Pub/Sub、バケット、キャッシュ、cronジョブをコードで宣言できるオープンソースのTypeScript・Go向けバックエンドフレームワーク。ローカルで実行し、AWSまたはGCPの自分のアカウントにデプロイできます。
代替できる製品:Heroku
- スター
- 12,469
- フォーク
- 638
- 未解決の Issue
- 138
- 最終コミット
- 16 時間前
これは何?
Encoreは、TypeScriptとGoのバックエンド向けインフラSDKです。SQLデータベース、Pub/Subトピック、オブジェクトストレージのバケット、キャッシュ、cronジョブ、シークレットなどのリソースを、アプリケーションコード内で直接宣言します。`encore run`を実行すると、実際のPostgresを使ってアプリケーション全体がローカルで起動し、分散トレースを表示するダッシュボードも利用できます。デプロイ時には、同じ宣言に基づいてRDS、Cloud SQL、S3、GCSなどのリソースがプロビジョニングされます。
SDKはオープンソースで、Encoreのマネージドプラットフォームを使わずに利用できます。オプションのプラットフォームはユーザー自身のAWSまたはGCPアカウントに接続し、リソースをプロビジョニングして、PRごとのプレビュー環境を作成します。また、コードパスをもとに最小権限のIAM設定を導き出します。プラットフォームを使わないチームは、`encore build docker`を実行し、Terraformなどのツールでインフラを管理できます。PythonとRustのサポートは今後追加予定です。
主な機能
- 01データベース、Pub/Sub、バケット、キャッシュ、cronジョブ、シークレットをTypeScriptまたはGoのコードで宣言できます。
- 02実際のPostgresと組み込みのトレースダッシュボードを使って、アプリケーション全体をローカルで実行できます。
- 03デプロイ時に、AWSまたはGoogle Cloud上に対応するリソースをプロビジョニングできます。
- 04オプションのデータベースブランチ機能を使い、PRごとのプレビュー環境を作成できます。
- 05独自のインフラ管理ツールを使ってセルフホストできる、単体のDockerイメージをビルドできます。
ユースケース
- クラウドインフラの設定を手作業で書かずに、TypeScriptまたはGoで新しいバックエンドサービスを構築する。
- AIコーディングエージェントに、実際のインフラを使って変更を検証できるローカル環境を用意する。
- 既存システムにEncoreで構築したサービスを追加し、サービスを一つずつ移行する。
- アプリケーションのデータとインフラを、自社のAWSまたはGCPアカウント内に保持したいチーム。
クイックスタート
- 1
プロジェクトをスキャフォールディングする
encore app create - 2
プロジェクトフォルダーに移動する
cd myapp - 3
インフラと開発用ダッシュボードを使ってローカルで実行する
encore run
使う前に知っておきたいこと
- クラウドの完全自動プロビジョニングに対応しているのは AWS と Google Cloud のみです。Azure は今後対応予定です。
- インフラ SDK を使用するには、サービスを TypeScript または Go で記述する必要があります。Python と Rust はまだ利用できません。
- マネージドデプロイプラットフォームは商用サービスであり、オープンソース SDK とは別のものです。
トピック
よくある質問
- encore とは?
- データベース、Pub/Sub、バケット、キャッシュ、cronジョブをコードで宣言できるオープンソースのTypeScript・Go向けバックエンドフレームワーク。ローカルで実行し、AWSまたはGCPの自分のアカウントにデプロイできます。 Encoreは、TypeScriptとGoのバックエンド向けインフラSDKです。SQLデータベース、Pub/Subトピック、オブジェクトストレージのバケット、キャッシュ、cronジョブ、シークレットなどのリソースを、アプリケーションコード内で直接宣言します。`encore run`を実行すると、実際のPostgresを使ってアプリケーション全体がローカルで起動し、分散トレースを表示するダッシュボードも利用できます。デプロイ時には、同じ宣言に基づいてRDS、Cloud SQL、S3、GCSなどのリソースがプロビジョニングされます。
- encore は無料で使えますか?ライセンスは?
- encore は MPL-2.0 ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- encore は今もメンテナンスされていますか?
- 活発にメンテナンス中。encore の最終コミットは 2026年10月19日 です。
- encore は何に使えますか?
- クラウドインフラの設定を手作業で書かずに、TypeScriptまたはGoで新しいバックエンドサービスを構築する。 AIコーディングエージェントに、実際のインフラを使って変更を検証できるローカル環境を用意する。 既存システムにEncoreで構築したサービスを追加し、サービスを一つずつ移行する。 アプリケーションのデータとインフラを、自社のAWSまたはGCPアカウント内に保持したいチーム。
- encore のインストール方法は?
- プロジェクトをスキャフォールディングする: encore app create プロジェクトフォルダーに移動する: cd myapp インフラと開発用ダッシュボードを使ってローカルで実行する: encore run
- encore はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/encoredev/encore
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
SDK、REST API、webhookを備え、開発者が自社アプリに組み込めるGo製のオープンソース・インスタントメッセージングサーバー。
サンドボックス化されたプラグインを備え、WordPressのような拡張性と管理画面のUXをサーバーレス環境にもたらす、AstroベースのフルスタックTypeScript CMSです。
独自サーバーなしで、WebRTCによるブラウザー間のP2P接続を実現するマルチプレイヤーWebアプリ向けJavaScriptライブラリ。
Workers、KV、D1、R2などを1台で実行できる、単一のRustバイナリで提供されるセルフホスト型プラットフォーム。
宣言的な設定ファイルからクラウドやサービスのリソースを作成・変更・管理するIaC向けCLI。