实时开放数据平台Directus
什么是 Directus ?
Directus是一个实时API和应用程序仪表板,用于管理SQL数据库内容。该平台为您团队中的每个人,无论其技术技能如何,为任何数据模型或项目提供平等的数据访问和数字文件资产管理。首先,将Directus链接到所需的SQL数据库和文件存储适配器。之后,Directus使您能够执行CRUD操作、创建用户、分配具有完全可配置权限的角色、构建复杂而精细的查询、配置事件驱动的Webhook和任务自动化……
安装
在群晖上以 Docker 方式安装。
在注册表中搜索 directus ,选择第一个 directus/directus,版本选择 latest。
本文写作时,
latest版本对应为10.6.3;

卷
在 docker 文件夹中,创建一个新文件夹 directus,并在其中建两个子文件夹 database 和 uploads
记得要赋予 database 目录 Everyone读写权限

| 文件夹 | 装载路径 | 说明 |
|---|---|---|
docker/directus/database |
/directus/database |
存放数据库 |
docker/directus/uploads |
/directus/uploads |
存放上传文件 |

端口
本地端口不冲突就行,不确定的话可以用命令查一下
1 | # 查看端口占用 |
| 本地端口 | 容器端口 |
|---|---|
8055 |
8055 |

环境
| 可变 | 值 |
|---|---|
KEY |
可以用 openssl rand -base64 32 生成 |
SECRET |
可以用 openssl rand -base64 32 生成 |
ADMIN_EMAIL |
管理员账号,要用邮件 |
ADMIN_PASSWORD |
管理员密码 |
DB_CLIENT |
数据库类型,用了 SQLite |
DB_FILENAME |
指定 SQLite 文件名 |
WEBSOCKETS_ENABLED |
启用 Websocket |

命令行安装
如果你熟悉命令行,可能用 docker cli 更快捷
1 | # 新建文件夹 directus 和 子目录 |
也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件
1 | version: '3' |
然后执行下面的命令
1 | # 新建文件夹 directus 和 子目录 |
运行
在浏览器中输入 http://群晖IP:8055 就能看到登录界面

登录成功后

设置中文
Settings –> Project Settings –> Default Language 下来找到 Chinese(Simplified)

设置完成后,点右上角的 √,生效后就是中文了

可能你也注意到了,还有一些依然是英文,刷新下就好了

数据模型
数据模型 –> +

新建数据模型,例如 test

创建字段
再建一个字段

例如 text

现在就有两个字段了

创建条目
进入 内容,目前还没有数据

点 创建条目 开始添加数据

再来一条

现在我们有 2 条数据了

设置角色和权限
Directus 带有两个内置角色:Public 和 Admin
Public关闭了所有权限,并且可以通过完全精细的控制重新配置,以准确地公开您希望未经身份验证的用户看到的内容。Admin角色具有完全权限,并且无法更改。- 除了这些内置角色之外,还可以创建任意数量的新角色,所有角色都具有完全自定义的细粒度权限。

点 公开,默认权限都是禁止的

老苏都改成了允许

访问 API
打开http://群晖IP:8055/items/test,你会看到我们录入的两条数据

当然你也可以用 API 工具,例如客户端工具 Apifox

或者网页工具 Yaade

当然 Directus 的功能远不止这些,详细使用可以看官方的参考指南:https://docs.directus.io/getting-started/quickstart.html
或者你觉得英文看着费劲,也可以去看看中文的手册:https://ezdoc.cn/docs/directus
参考文档
directus/directus: The Modern Data Stack 🐰 — Directus is an instant REST+GraphQL API and intuitive no-code data collaboration app for any SQL database.
地址:https://github.com/directus/directusThe Backend to Build Anything or Everything | Directus
地址:https://directus.io/Directus Docs | Directus Docs
地址:https://docs.directus.io/Self-Hosting Quickstart | Directus Docs
地址:https://docs.directus.io/self-hosted/quickstart.html首页 - Directus v10.6.3 中文开发文档手册 - 无头CMS - 中文手册
地址:https://ezdoc.cn/docs/directus/