软件简介
Directus 是用于管理 SQL 数据库内容的实时 API 和 App 控制面板。
API会根据数据库模式/内容的实时更改动态更新(无需重新启动服务器)。
Directus安装在任何新的或现有的 SQL 数据库之上,提供 API 层(REST、GraphQL、JS-SDK、CLI、Webhooks 等)和足够简单直观的无代码应用程序供任何用户(即使是非技术用户)浏览、管理和可视化内容。
最新的 Directus 9 版本现在是使用 Vue 3 和 Node.js 构建的端到端 JavaScript
支持 PostgreSQL、MySQL、SQLite、OracleDB、CockroachDB、MariaDB 和 MS-SQL。
Directus 是几乎所有数据驱动项目的绝佳工具。我们通常看到的大的是:
用于站点、应用程序、信息亭和数字体验的无头 CMS
SaaS/App/游戏数据骨干
内部工具(BI、库存、CRM、项目管理、ERP 等)
数据管理、分析和可视化
特性:
- 免费和开源。没有人为的限制、供应商限制或隐藏的定价。
- REST & GraphQL API。立即向数据库中添加快速的 Node.js API 层。
- 管理 SQL。与现有的 SQL 数据库一起使用,或帮助你从头开始构建新的体系结构。
- 选择您的数据库。支持 PostgreSQL、MySQL、SQLite、OracleDB、MariaDB 和 MS-SQL。
- 允许自我托管。选择托管方式和基础架构,可以在本地运行,或进行深度集成。
- 完全可扩展。易于定制我们的模块化平台。
- 现代化的控制面板。基于 Vue.js Admin 应用程序,安全、直观,非技术用户无需培训也能很快上手。
其中以下重要功能仍在开发中:
- MS SQL 支持
- OracleDB 支持
- 导入 / 导出端点
源码安装
↓↓↓↓↓↓↓↓↓这里可以参考这个网站↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓
Directus: Directus 是用于管理 SQL 数据库内容的实时 API 和 App 控制面板 (gitee.com)
↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑↑
克隆代码
git clone git@github.com:YOUR-USERNAME/directus.git
注意: 这里如果克隆报错建议在git bash中输入这行命令git config --global --unset http.proxy
再重新拉取就可以解决了
安装依赖构建项目(在当前clone的文件夹单击右键选择powershell)
pnpm install
pnpm build
在api文件夹下创建.evn配置文件,他支持多种形式
- .env
- config.json
- config.yaml
- config.js
配置参考
HOST="0.0.0.0"
PORT=8055
DB_CLIENT="mysql"
DB_HOST="localhost"
DB_PORT=3306
DB_USER="root"
DB_PASSWORD="xxxx"
DB_DATABASE="directus"
KEY="test001"
SECRET="password001"
数据库要提前准备好,如果是sqlite数据库则不需要
在运行引导程序命令之前,将ADMIN_EMAIL&ADMIN_PASSWORD添加到.env文件中,将使用提供的凭据而不是随机值填充管理用户。
所以修改配置文件
HOST="0.0.0.0"
PORT=8055
DB_CLIENT="mysql"
DB_HOST="10.10.90.139"
DB_PORT=3306
DB_USER="root"
DB_PASSWORD="biobase123?"
DB_DATABASE="directus"
KEY="test001"
SECRET="password001"
ADMIN_EMAIL="dddd@qq.com"
ADMIN_PASSWORD="xxxxx"
执行初始化命令
pnpm --filter api cli bootstrap
这将为Directus设置所需的表,并确保所有迁移都已运行。
开启开发服务器
pnpm --recursive dev
当运行多个或所有程序包时,有时ts节点可能无法正确启动API,因为其他程序包发生的更改会导致竞争条件。您可以重新运行该命令以重新启动API,也可以选择使用如下所述的包。
如果您希望选择要处理的包,那么应该运行该包的开发脚本。您可以在相关的package.json中看到它们的名称和脚本列表。
下面是只运行api的例子
pnpm --filter api dev
如果您想同时处理多个包,那么应该为每个包创建一个新的终端实例。同时运行API和应用程序的示例:
开启两个终端分别运行
此时,您已经准备好开始使用Directus了!然而,在深入研究之前,值得一读《贡献》的简介。
运行测试如果有需要的话
# Ensure that you are testing on the lastest codebase
pnpm build
# Run the unit tests
pnpm test
# Clean up in case you ran the blackbox tests before
docker compose -f tests/blackbox/docker-compose.yml down -v
# Start the necessary containers for the blackbox tests
docker compose -f tests/blackbox/docker-compose.yml up -d --wait
# Run the blackbox tests
pnpm test:blackbox
访问http://localhost:8080/admin/
输入账号密码即可进入后台页面
其实有源码应该就可以了,直接自己新创建一个文件夹,运行下面的操作就可以安装部署了(反正我是这么操作的)
安装
通过运行以下 npm 命令来创建一个新的 Directus 项目:
npx create-directus-project my-project
或者使用 yarn:
yarn create directus-project my-project
只需按照安装提示进行操作,CLI 就会创建新的项目目录、配置文件和初始数据库。为了充分利用 Directus,并确保拥有最新的安全补丁,让项目持续保持最新是非常重要的。
本地安装
创建一个新目录,并通过运行以下命令添加一个 package.json
npm init -y
修改json文件的启动方式
"scripts": {
"start": "directus start"
},
安装 Directus
npm install directus
设置配置文件 .evn
HOST="0.0.0.0"
PORT=8055
DB_CLIENT="mysql"
DB_HOST="localhost"
DB_PORT=3306
DB_USER="root"
DB_PASSWORD="xxxx"
DB_DATABASE="directus2"
KEY="test001"
SECRET="password001"
ADMIN_EMAIL="xxx@qq.com"
ADMIN_PASSWORD="xxxx"
引导安装
npx directus bootstrap
启动
npm run start
参考
中文手册
要求
Directus 仅需要 Node.js,并支持大多数操作系统和 SQL 数据库供应商。
- Node.js 10+
- npm 6.x+
支持的数据库
- PostgreSQL 10+
- MySQL 5.7.8+
- MariaDB 10.2+
- SQLite 3+
- MS-SQL X.X+
- OracleDB X.X+
支持的操作系统
- Ubuntu 18.04
- CentOS / RHEL 8
- macOS Catalina 或更高版本
- Windows 10
- Docker(DockerHub + Docker Repo)