FastGPT学习(2)- 本地开发通过Navicat管理MongoDB、PostgreSQL数据库

ops/2024/10/25 16:47:59/

1. 背景

前期已经完成FastGPT的本地化部署工作,通过Docker启动FastGPT的相关容器即可运行。(共6个容器)
在这里插入图片描述

2.本地化开发

2.1 前置依赖

在这里插入图片描述

2.2 源码拉取

git clone git@github.com:labring/FastGPT.git

2.3 数据库管理

本地化运行的FastGPT使用的MongoDB、PostgreSQL数据库
在这里插入图片描述
在这里插入图片描述
两个数据库的配置信息在docker-compose.yml文件中查看
在这里插入图片描述
在这里插入图片描述
通过Navicat连接即可
在这里插入图片描述
若在连接MongoDB数据库无法成功,可尝试进入到容器进行相关设置

docker exec -it mongo bash # 进入mongo容器
mongo -u myusername -p password --authenticationDatabase admin # 登录mongoDB数据库(用户名myusername密码mypassword)
# 初始化配置
rs.initiate({
_id: "rs0",
members: [
{ _id: 0, host: "mongo:27017" }
]
})

在这里插入图片描述

2.4 源码运行

源码运行前需要先修改相关配置文件:
复制.env.template文件,在同级目录下生成一个.env.local 文件。复制 data/config.json 文件,生成一个 data/config.local.json 配置文件。

修改.env.local 文件内容:

# mongo 数据库连接参数,本地开发连接远程数据库时,可能需要增加 directConnection=true 参数,才能连接上。
MONGODB_URI=mongodb://myusername:mypassword@127.0.0.1:27017/fastgpt?authSource=admin&directConnection=true# PG 向量库连接参数
PG_URL=postgresql://username:password@127.0.0.1:5432/postgres

(注意:mongodb和PG数据库的用户名和密码需要和docker容器下载时docker-compose.yml文件中的用户名和密码一致)

# 给自动化脚本代码执行权限(非 linux 系统, 可以手动执行里面的 postinstall.sh 文件内容)
chmod -R +x ./scripts/
# 代码根目录下执行,会安装根 package、projects 和 packages 内所有依赖
# 如果提示 isolate-vm 安装失败,可以参考:https://github.com/laverdet/isolated-vm?tab=readme-ov-file#requirements
pnpm i# 非 Make 运行
cd projects/app
pnpm dev# Make 运行
make dev name=app

目录简要说明:
在这里插入图片描述


http://www.ppmy.cn/ops/128391.html

相关文章

深入拆解TomcatJetty——Tomcat生命周期与多层容器

深入拆解Tomcat&Jetty(三) 专栏地址:https://time.geekbang.org/column/intro/100027701 1 Tomcat组件生命周期 Tomcat如何如何实现一键式启停 Tomcat 架构图和请求处理流程如图所示: 对组件之间的关系进行分析,…

150+Premiere剪辑视频制作视频3D空间转场特效

特征: 11类视频无缝转场风格。 超轻:仅3MB。 混搭,为你的过渡打造无限造型 .PrProj格式文件,兼容Premiere Pro 2023及以上版本。 无需预渲染。 快速渲染时间。 易于使用的拖放。 包含的样式: 3D旋转投影仪过渡。 3D旋转…

Kafka高可用性原理深度解析

在分布式系统中,高可用(High Availability, HA)是指系统在面对硬件故障、网络分区、软件崩溃等异常情况时,仍能继续提供服务的能力。对于消息队列系统而言,高可用性尤为重要,因为它通常作为数据流通的中枢&…

docker 部署单节点的etcd以及 常用使用命令

docker部署etcd $ docker run -d --name etcd-server -p 2379:2379 -p 2380:2380 quay.io/coreos/etcd:v3.5.0 /usr/local/bin/etcd -name my-etcd-1 -advertise-client-urls http://0.0.0.0:2379 -listen-client-urls http://0.0.0.0:2379 -initial-advertise-peer-urls http…

数据分析-31-时间序列分析的卡尔曼滤波器平滑方法

1 卡尔曼滤波器估计系统状态 Kalman Filter(卡尔曼滤波器)算法是一种线性最小方差估计器,用于在存在噪声的情况下对随机过程或系统进行估计。它的基本思想是通过一系列的迭代步骤,不断优化对系统状态的估计。算法主要包含两个步骤:预测和更新。 1.1 卡尔曼滤波器的原理 …

【Linux】创建设备属性节点

在Linux驱动调试时,常常需要添加属性文件,sysfs属性节点可以实现用户空间与硬件或者驱动交互。 DEVICE_ATTR介绍 /* 路径:linux/device.h */ #define DEVICE_ATTR(_name, _mode, _show, _store) \struct device_attribute dev_attr_##_name…

JVM成神之路

目录 JVM入门关: 一:JVM的内存布局是咋样的? 二:方法区,永久代,元空间有什么区别? 三:常量池和字符串常量池有什么区别? 四:什么是堆溢出,什…

Github + 自定义域名搭建个人静态站点

Github 自定义域名搭建个人静态站点 使用 Github 部署一个自己的免费站点给你的站点添加上自定义域名 本文基于腾讯云基于二级域名, 作用于 Github 实现自定义域名站点 使用 Github 部署一个自己的免费站点 首先你得有一个 Github 账号, 没有就去注册一个,网上有教程,本文跳…