实时开放数据平台Directus

2023-12-13 06:37:45

在这里插入图片描述

什么是 Directus ?

Directus 是一个实时 API和应用程序仪表板,用于管理 SQL 数据库内容。该平台为您团队中的每个人,无论其技术技能如何,为任何数据模型或项目提供平等的数据访问和数字文件资产管理。首先,将 Directus 链接到所需的 SQL 数据库和文件存储适配器。之后,Directus 使您能够执行 CRUD 操作、创建用户、分配具有完全可配置权限的角色、构建复杂而精细的查询、配置事件驱动的 Webhook 和任务自动化……

安装

在群晖上以 Docker 方式安装。

在注册表中搜索 directus ,选择第一个 directus/directus,版本选择 latest

本文写作时, latest 版本对应为 10.6.3

在这里插入图片描述

docker 文件夹中,创建一个新文件夹 directus,并在其中建两个子文件夹 databaseuploads

记得要赋予 database 目录 Everyone读写权限

在这里插入图片描述

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

在这里插入图片描述

端口

本地端口不冲突就行,不确定的话可以用命令查一下

# 查看端口占用
netstat -tunlp | grep 端口号
本地端口容器端口
80558055

在这里插入图片描述

环境

可变
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 更快捷

# 新建文件夹 directus 和 子目录
mkdir -p /volume1/docker/directus/{database,uploads}

# 进入 directus 目录
cd /volume1/docker/directus

# 修改目录权限 
chmod 777 database

# 运行容器
docker run -d \
   --restart unless-stopped \
   --name directus \
   -p 8055:8055 \
   -v $(pwd)/database:/directus/database \
   -v $(pwd)/uploads:/directus/uploads \
   -e KEY="bJdYXhXB/dkKts6TEbPlWF+HKEuf3/lbFCdJhM6mMgg=" \
   -e SECRET="k3Do33NXRyhudvQrRJfaj3eHYJFiGVoRIFJRvDSlZug=" \
   -e ADMIN_EMAIL="wbsu2003@hotmail.com" \
   -e ADMIN_PASSWORD="9RFhyk96" \
   -e DB_CLIENT="sqlite3" \
   -e DB_FILENAME="/directus/database/data.db" \
   -e WEBSOCKETS_ENABLED="true" \
   directus/directus:latest

也可以用 docker-compose 安装,将下面的内容保存为 docker-compose.yml 文件

version: '3'

services:
  directus:
    image: directus/directus:latest
    container_name: directus
    ports:
      - 8055:8055
    volumes:
      - ./database:/directus/database
      - ./uploads:/directus/uploads
    environment:
      KEY: 'bJdYXhXB/dkKts6TEbPlWF+HKEuf3/lbFCdJhM6mMgg='
      SECRET: 'k3Do33NXRyhudvQrRJfaj3eHYJFiGVoRIFJRvDSlZug='
      ADMIN_EMAIL: 'wbsu2003@hotmail.com'
      ADMIN_PASSWORD: '9RFhyk96'
      DB_CLIENT: 'sqlite3'
      DB_FILENAME: '/directus/database/data.db'
      WEBSOCKETS_ENABLED: 'true'

然后执行下面的命令

# 新建文件夹 directus 和 子目录
mkdir -p /volume1/docker/directus/{database,uploads}

# 进入 directus 目录
cd /volume1/docker/directus

# 修改目录权限 
chmod 777 database

# 将 docker-compose.yml 放入当前目录

# 一键启动
docker-compose up -d

运行

在浏览器中输入 http://群晖IP:8055 就能看到登录界面

在这里插入图片描述

登录成功后

在这里插入图片描述

设置中文

Settings --> Project Settings --> Default Language 下来找到 Chinese(Simplified)

在这里插入图片描述

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

在这里插入图片描述

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

在这里插入图片描述

数据模型

数据模型 --> +

在这里插入图片描述

新建数据模型,例如 test

在这里插入图片描述

创建字段

再建一个字段

在这里插入图片描述

例如 text

在这里插入图片描述

现在就有两个字段了

在这里插入图片描述

创建条目

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

在这里插入图片描述

创建条目 开始添加数据

在这里插入图片描述

再来一条

在这里插入图片描述

现在我们有 2 条数据了

在这里插入图片描述

设置角色和权限

Directus 带有两个内置角色:PublicAdmin

  • 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/directus

The 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/

文章来源:https://blog.csdn.net/wbsu2004/article/details/134921185
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。