本地安装directus

news2025/1/24 22:50:37

简介

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 等)
数据管理、分析和可视化

本地安装

克隆代码

git clone git@github.com:YOUR-USERNAME/directus.git

安装依赖构建项目

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/
在这里插入图片描述
输入账号密码即可进入后台页面
在这里插入图片描述

参考
中文手册

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/433752.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

获取商品SKU信息API调用代码展示、请求参数和返回值说明

SKU是什么意思 最小存货单位(SKU),全称为stock keeping unit,即库存进出计量的基本单元,可以是以件、盒、托盘等为单位。SKU这是对于大型连锁超市DC(配送中心)物流管理的一个必要的方法。现在已…

MySQL数据库从入门到精通学习第2天(创建数据库)

创建数据库 通过CREATE DATABASE语句来创建数据库通过CREATE SCHEMA语句来创建数据库通过IF NOT EXISTS进行判断创建 通过CREATE DATABASE语句来创建数据库 创建数据库的语法格式如下: CREATE DATABASE 【数据库名】; 创建数据库的库名跟标识符一样也是有要求的&…

实际项目集成分布式一致性协议 Raft

实际项目集成分布式一致性协议 Raft 文章目录 实际项目集成分布式一致性协议 Raft前言1.raft 是什么?2.SOFAJRaft2.1 功能特性 3.Nacos 分布式一致性设计3.1 nacos 分布式协议架构设计3.1 nacos 用 jraft 做什么3.2 Distro 协议 4.实际项目-Spring 工程4.1 旧版项目…

SA168 3BSE003389R1

SA168 3BSE003389R1 远程终端控制系统(RTU)可连接到其他设备。RTU可将设备上的电气信号转换为数字的值,例如一个开关或阀开/关的状态,或是仪器量测到的压力、流量、电压或电流。也可以借由信号转换及传送信号来控制设备&#xff0…

硬盘分区怎么分?新手该如何操作?

相信很多电脑用户都遇到过硬盘分区的情况。刚拿到手的新电脑,基本上都是一个或两个磁盘分区,这不满足我们的使用习惯,比如我们在不同的分区存放不同的东西,只有一个分区就很难做到,所以这时候需要进行磁盘分区。那么硬…

解读“SAP集成架构咨询方法论”

如果你是SAP ERP相关工作的,建议大家点开原文地址去看,会学习到其他很多与这个行业更多的资料。 原文地址:解读“SAP集成架构咨询方法论” | SAP Blogs 原文地址:解读“SAP集成架构咨询方法论” | SAP Blogs ——————————…

经验分享:如何有效应对Facebook广告数据波动问题?

Facebook广告作为一种重要的数字营销工具,可以帮助企业和品牌快速获得目标受众的关注和转化。然而,由于广告投放过程的不稳定性,Facebook广告数据波动问题也经常出现。 对于广告主而言,如何应对Facebook广告数据波动问题&#xf…

【JVM】JMM

一、JMM JVM 内存模型是用来屏蔽掉各种硬件和操作系统的内存访问差异,以实现让 Java 程序在各个平台下都能达到一致的内存访问效果。JVM 内存模型规定了所有的共享变量都是存储在主内存,每个线程还有自己的工作内存,线程的工作内存保存了该线…

【教学类-34-01】拼图(运动项目)3*4格子(中班主题《个别化拼图》健康偏艺术-美术)

背景需求: 一个月的Python纸类学具研究中,我发现个别男孩喜欢把作业中的数字、图案、单元格剪成小块(小卡片)进几周,剪条、剪块的孩子人数也慢慢递增。 幼儿需求:锻炼手指精细动作的需求、或者获得更多物…

Idea+maven+spring-cloud项目搭建系列--13 整合MyBatis-Plus多数据源dynamic-datasource

前言:对于同一个系统,不同的租户需要自己独立分隔的数据库(每个数据库的表结构可以是相同的),同时也要支持跨数据源的查询;并且支持分布式事务,如果这里不使用分库分表插件,需要怎样…

python-day4(字符串、列表、生成式和生成器、使用元组、集合、字典)

字符串和常用数据结构 简单用法 所谓字符串&#xff0c;就是由零个或多个字符组成的有限序列&#xff0c;一半记为sa1a2a3…an(0<n<∞)。在python中&#xff0c;如果我们把单个或多个字符用单引号或者双引号包围起来&#xff0c;就可以表示一个字符串。 s1 hello, wo…

【生物信息】用隐马尔可夫模型对生物序列进行建模

文章目录 Modeling biological sequences with HMMSParsing longer sequences. 举例子Our frst HMM: Detecting GC-rich regionsRunning the model: Probability of a sequence 维特比算法 Viterbi一个摸球例子回到课堂 求解参数 来自Manolis Kellis教授的课 教了隐马尔可夫在基…

FPGA开发之HDMI Transmitter接口设计

HDMI简介&#xff1a; High Definition Multimedia 高清多媒体接口&#xff0c;一种全数字化视频和声音发送接口&#xff0c;可以发送未压缩的音频及视频信号 物理接口&#xff1a; 电气介绍&#xff1a; TMDS&#xff08;Transition Minimized Differential Signaling&#x…

自定义类型——位段

什么是位段&#xff1f; 位段又叫做位域&#xff0c;具体是一种可以把数据以位的形式紧凑的存储&#xff0c;并允许程序员对此结构位进行操作的数据结构 当结构体的成员变量定义之后浪费了较大的空间 &#xff08;比如int a 2&#xff0c;则浪费了30个比特位的空间&#xff0…

Mail 服务器

Mail 服务器 1. 概念及协议2. 工具2.1 Postfix2.2 dovecot2.3 bind 3. 搭建3.1 DNS服务设置3.2 安装配置 postfix3.3 安装配置 dovecot 4. foxmail验证 1. 概念及协议 邮件服务器也采用的是C/S工作模式&#xff0c;通过SMTP,POP,IMAP协议来是实现邮件的发送和接收的。 SMTP 的…

Java入坑之IO操作

目录 一、IO流的概念 二、字节流 2.1InputStream的方法 2.2Outputstream的方法 2.3资源对象的关闭&#xff1a; 2.4transferTo()方法 2.5readAllBytes() 方法 2.6BufferedReader 和 InputStreamReader 2.7BufferedWriter 和 OutputStreamWriter 三、路径&#xff1a;…

Qt5 编译QtXlsx并添加为模块[Windows]

00.QtXlsx是什么&#xff1f;能干什么&#xff1f; QtXlsx是一个可以读写Excel文件的库。它不需要Microsoft Excel&#xff0c;可以在Qt5支持的任何平台上使用。 可以创建、读取、编辑.xlsx文件。 01.如何编译&#xff1f; 1.1编译环境&#xff1a; Windows10平台&#xff1b;…

es6笔记-let、const、var的区别

let、const、var的区别 变量提升 var 声明的变量存在变量提升,在声明前可以调用&#xff0c;直为undefindconsole.log(a); var a 1;相当于&#xff1a;var a; console.log(a); a 1;let和const不存在变量提升&#xff0c;变量要在声明前调用&#xff0c;否则报错console.log(a…

DNS服务器配置

一&#xff0c;正向解析 1>安装软件bind 提供DNS服务的软件叫bind&#xff0c;服务名是named [rootserver ~]# yum install bind -y 2>对三个配置文件进行修改 - /etc/named.conf : 主配置文件&#xff0c;共59行&#xff0c;去除注释和空行之和有效行数仅30行左右&…

Golang程序报错:fatal error: all goroutines are asleep - deadlock

文章目录 1.原始代码2.错误原因分析3. 解决方案4. 经验总结5. 练习 完整的报错信息如下&#xff1a; fatal error: all goroutines are asleep - deadlock!goroutine 1 [chan receive]: main.(*WorkerManager).KeepAlive(0xc000088f60)/root/go_workspace/studygoup/05.go:66 0…