开源后端和 API 堆栈使开发团队能够比以往更快地构建、运行和扩展持久的平台和市场。
Stelace.com |文档 |博客 |叽叽喳喳
包括:
要获得全栈体验,您可以在此处开始使用开源 Vue.js 前端模板。
部署和利用 Stelace 最简单的方法是使用我们的官方托管基础设施。通过高可用性部署、自动扩展、内置测试和实时环境以及管理仪表板,您可以在几分钟内建立并运行一个新的平台后端。 SLA、专用基础设施和高级支持也可供企业客户使用。
和:
文档和 API 参考中列出的所有 API 。
管理仪表板 UI 与我们的软件即服务产品相关联,并且不是开源的。除非社区和工作人员合作实现这一目标,否则它肯定永远不会实现。
就是这样!
这意味着,如果您不需要 Stelac 支持或 SLA 并且准备好构建自己的管理 UI,或者您不需要,您可以随时在我们的任何 SaaS 计划和自托管之间自由切换。
注意:对于您的应用程序 UI,我们还制作了开源前端模板。
请访问 Docker 网站安装 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
安装husky hooks
运行数据库迁移以自动创建或更新表:
yarn knex migrate:latest # or `npm run knex migrate:latest`
yarn plugins
yarn seed
提示:使用我们的Stelac Instant开源模板之一进行超快速的全栈开发。
yarn start # or `npm start`
Stelace 服务器是在 Linux 机器(Ubuntu)上构建并部署的,并且您在使用其他操作系统运行服务器时可能会遇到一些问题。
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
注:项目根目录在开发时作为Docker卷,包括共享的node_modules
。在普通服务器和服务器容器设置之间切换时,您需要重新安装依赖项。
跑步:
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)结合使用。
测试文件与 AVA 并行运行,使用 PostgreSQL 数据库中的多个模式。
测试非常消耗 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 密钥的说明。
Stelace API 公共版本引入了重大更改,公开日期为2019-05-20
,但存储库本身遵循 semver 规则。过时的版本相当于major
更新,如 semver major.minor.patch
中所示。
感谢 Transformer 的支持,受优秀示例的启发,旧版本得到了支持。
当引入重大更改时(根据 semver 在此存储库中表示为新的主要版本):
src/versions/index.js
description
字段记录更改Stelac 是开源的,非常欢迎社区(包括您自己)的贡献!
在为 Stelac 做出贡献之前:
用于 Web 平台的 Stelace API 服务器根据 GNU 通用公共许可证版本 3 的条款获得许可。
请联系我们讨论其他许可选项,或查看我们的托管后端和高级支持的 SaaS 计划。
Stelace 版权所有 © 2018 年至今 Sharinplace SAS。
该程序是免费软件:您可以根据自由软件基金会发布的 GNU 通用公共许可证(许可证的第 3 版)或(由您选择)任何更高版本的条款重新分发和/或修改它。
分发此程序的目的是希望它有用,但不提供任何保证;甚至没有适销性或特定用途适用性的默示保证。有关更多详细信息,请参阅 GNU 通用公共许可证。
该程序中包含 GNU 通用公共许可证的副本,也可从 https://www.gnu.org/licenses/gpl-3.0.txt 获取。
由 ❤️ 在法国巴黎制造。