オープンソースのバックエンドと API スタックにより、開発チームは永続的なプラットフォームとマーケットプレイスをこれまでより迅速に構築、実行、拡張できます。
ステラス.com |ドキュメント |ブログ |ツイッター
含まれるもの:
フルスタックのエクスペリエンスを得るには、ここでオープンソースの Vue.js フロントエンド テンプレートを使用して開始できます。
Sterace をデプロイして活用する最も簡単な方法は、公式に管理されたインフラストラクチャを使用することです。高可用性の導入、自動スケーリング、組み込みのテスト環境とライブ環境、管理ダッシュボードを使用して、数分で新しいプラットフォームのバックエンドを立ち上げて実行できます。 SLA、専用インフラストラクチャ、およびプレミアム サポートは、エンタープライズ顧客でも利用できます。
と:
すべての API はドキュメントと API リファレンスにリストされています。
管理者ダッシュボード UI は、Software-as-a-Service オファーに関連付けられており、オープンソースではありません。これを実現するためにコミュニティとスタッフが協力しない限り、それは決して実現しないでしょう。
それでおしまい!
これは、Stelace サポートや SLA が必要なく、独自の管理 UI を構築する準備ができている場合、または管理 UI が必要ない場合に、いつでも SaaS プランとセルフホスティングを自由に切り替えることができることを意味します。
注: アプリの UI 用に、オープンソースのフロントエンド テンプレートも作成しました。
Docker Web サイトにアクセスして、Docker CE/EE をインストールしてください。ご使用のシステムに適したインストール ガイドを選択してください。
公式の手順を参照してください。
git clone https://github.com/stelace/stelace.git && cd stelace && git checkout origin/master
開発を容易にするために、データベース用に事前構成された Docker イメージを使用することをお勧めします。
これが、Stelace チームが API サーバーを開発およびテストする方法です。
ただし、運用環境では適切なデータベースを使用する必要があることに注意してください。
必要に応じてカスタマイズするために、独自の.env
ファイルから始めましょう。
cp .env.example .env
Docker イメージをビルドします。
docker-compose build
そしてデータベースを起動します。
yarn docker:db
短縮形: docker-compose up -d elasticsearch postgresql redis
yarn
を実行して依存関係をインストールします。
ハスキーフックをインストールするyarn prepare
を実行します
データベース移行を実行して、テーブルを自動的に作成または更新します。
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
ヒント: 非常に高速なフルスタック開発には、 Stelace Instantオープンソース テンプレートのいずれかを使用してください。
yarn start # or `npm start`
Stelace サーバーは Linux マシン (Ubuntu) 上に構築され、デプロイされているため、別の OS でサーバーを実行すると問題が発生する可能性があります。
Docker はこれを簡単に解決できます。
コンテナ化された APIとデータベースを使用する場合は、 .env
ファイルでホストを127.0.0.1
からelasticsearch
、 postgresql
、 redis
に変更するだけです。
依存関係をインストールしてデータベースを初期化する方法は次のとおりです。
# ephemeral container with --rm option
docker-compose run --rm api yarn
docker-compose run --rm api yarn seed
注: プロジェクトのルート ディレクトリは、共有されるnode_modules
を含め、開発中に Docker ボリュームとして使用されます。プレーン サーバーとサーバー コンテナーのセットアップを切り替える場合は、依存関係を再インストールする必要があります。
走る:
docker-compose up -d
プロジェクト ルートから実行すると便利なコマンド:
docker-compose logs -f api
docker-compose down
docker volume prune
ヒント: 開発中にコンテナーとボリュームをリセットするには、 yarn docker:db:reset
を使用します。これは、破損したデータベースまたは Redis ストア データに問題がある場合、またはデータベースをアップグレードする場合に役立ちます (警告: コンテナーのデータとボリュームが失われます)。
テストのほとんどは、完全な API 機能をカバーするために稼働中のデータベースとの統合テストです。
ElasticSearch、PostgreSQL、Redis を実行し、適切な環境変数 (ホスト、ポート、認証情報) を使用して、 npm run test
またはyarn test
実行します。
データベース Docker コンテナ (「API サーバー コンテナの使用」を参照) を適切なホスト (127.0.0.1) とポート (PostgreSQL: 6543 など) で使用できます。
テスト ファイルは、PostgreSQL データベース内の複数のスキーマを使用して、AVA と並行して実行されます。
テストは非常に CPU を集中的に使用するため、テストを良好な条件で実行するには 4 つの CPU コアが必要になるでしょう。
詳細については、サーバーのドキュメント (テスト) を参照してください。
サーバー ログをリアルタイムで取得すると、開発またはテスト中に非常に役立ちます。
環境変数を設定するだけです。
ROARR_LOG=true yarn test
AVA テスト中にconsole.log
呼び出しの出力を確認するには、 --verbose
フラグを追加します。
yarn test --verbose
Stelace チームは実稼働環境で API サーバーの Docker イメージを使用しているため、CI テストも行っています。
API サーバー コンテナを使用して、ローカルでテストを実行することもできます。
データベース コンテナーを開始したら、ElasticSearch、PostgreSQL、および Redis が実行されていることを確認します。
# Install dependencies used by API server container if not done yet
docker-compose run --rm api yarn
# Checking that databases are up and running
docker-compose run --rm api /bin/sh -c
' until nc -z -v -w30 elasticsearch 9200 && nc -z -v -w30 postgresql 5432 && nc -z -v -w30 redis 6379
do
echo "Waiting for PostgreSQL, ElasticSearch and Redis…"
sleep 2
done ' ;
コンテナ化された API を使用してテストを実行します。
docker-compose run --rm api yarn test
# instead of standard local server with `yarn test`
上で述べたように、本番環境には適切なデータベースを使用することをお勧めします。データベースを自己ホストすることも、データベース プロバイダーを使用して外部化することもできます。
データベースに SSL を設定する詳細な手順をご覧ください。
さまざまな種類の API キーに関する説明をご覧ください。
重大な変更を導入する Sterace API パブリック バージョンの日付は2019-05-20
のように公開されていますが、リポジトリ自体はセキュリティ ルールに従っています。日付付きバージョンは、 semver major.minor.patch
のようなmajor
アップデートに相当します。
古いバージョンは、優れた例からインスピレーションを得たトランスフォーマーのおかげでサポートされています。
重大な変更を導入する場合 (semver に従って、このリポジトリ内の新しいメジャー バージョンで示されます):
src/versions/index.js
に追加されますdescription
フィールドを使用して文書化されます。Stelace はオープンソースであり、あなたのものを含め、コミュニティからの貢献を大歓迎です。
Sterace に貢献する前に:
Web プラットフォーム用の Stelace API サーバーは、GNU General Public License バージョン 3 の条件に基づいてライセンスされています。
他のライセンス オプションについてご相談いただくか、ホスト型バックエンドおよびプレミアム サポートの SaaS プランをご覧になりたい場合は、お問い合わせください。
Stelace 著作権 © 2018-現在 Sharinplace SAS。
このプログラムはフリー ソフトウェアです。Free Software Foundation が発行する GNU General Public License の条件 (ライセンスのバージョン 3、または (ユーザーの選択による) 以降のバージョン) に基づいて再配布したり、変更したりすることができます。
このプログラムは役立つことを期待して配布されていますが、いかなる保証もありません。商品性や特定目的への適合性についての暗黙の保証もありません。詳細については、GNU 一般公衆利用許諾書を参照してください。
このプログラムには GNU 一般公衆利用許諾書のコピーが含まれており、https://www.gnu.org/licenses/gpl-3.0.txt からも入手できます。
フランス・パリの❤️で作られています。