本地部署 RAGFlow - 修改默认端口
本地部署 RAGFlow - 修改默认端口
- 1. 前提条件
- 2. 部署 RAGFlow
1. 前提条件
确保 vm.max_map_count 不小于 262144:
如需确认 vm.max_map_count 的大小:
sysctl vm.max_map_count
如果 vm.max_map_count 的值小于 262144,可以进行重置:
# 这里我们设为 262144:
sudo sysctl -w vm.max_map_count=262144
你的改动会在下次系统重启时被重置。如果希望做永久改动,还需要在 /etc/sysctl.conf 文件里把 vm.max_map_count 的值再相应更新一遍:
vm.max_map_count=262144
2. 部署 RAGFlow
克隆仓库:
git clone https://github.com/infiniflow/ragflow.git
cd ragflow/docker
修改默认端口(为了不与Dify和Langfush冲突)和默认镜像地址(解决国内网络访问Docker镜像网站问题),这里使用git diff命令显示修改的地方。
git diff docker/.env
diff --git a/docker/.env b/docker/.env
index 2b0b5b8b..db206212 100644
--- a/docker/.env
+++ b/docker/.env
@@ -40,7 +40,7 @@ INFINITY_HOST=infinity# Port to expose Infinity API to the hostINFINITY_THRIFT_PORT=23817INFINITY_HTTP_PORT=23820
-INFINITY_PSQL_PORT=5432
+INFINITY_PSQL_PORT=5434# The password for MySQL.MYSQL_PASSWORD=infini_rag_flow
@@ -53,13 +53,13 @@ MYSQL_DBNAME=rag_flowMYSQL_PORT=5455# The hostname where the MinIO service is exposed
-MINIO_HOST=minio
+MINIO_HOST=minio_ragflow# The port used to expose the MinIO console interface to the host machine,# allowing EXTERNAL access to the web-based console running inside the Docker container.
-MINIO_CONSOLE_PORT=9001
+MINIO_CONSOLE_PORT=9003# The port used to expose the MinIO API service to the host machine,# allowing EXTERNAL access to the MinIO object storage service running inside the Docker container.
-MINIO_PORT=9000
+MINIO_PORT=9019# The username for MinIO.# When updated, you must revise the `minio.user` entry in service_conf.yaml accordingly.MINIO_USER=rag_flow
@@ -68,10 +68,10 @@ MINIO_USER=rag_flowMINIO_PASSWORD=infini_rag_flow# The hostname where the Redis service is exposed
-REDIS_HOST=redis
+REDIS_HOST=redis_ragflow# The port used to expose the Redis service to the host machine,# allowing EXTERNAL access to the Redis service running inside the Docker container.
-REDIS_PORT=6379
+REDIS_PORT=6381# The password for Redis.REDIS_PASSWORD=infini_rag_flow
git diff docker/docker-compose.yml
diff --git a/docker/.env b/docker/.env
index 2b0b5b8b..db206212 100644
--- a/docker/.env
+++ b/docker/.env
@@ -40,7 +40,7 @@ INFINITY_HOST=infinity# Port to expose Infinity API to the hostINFINITY_THRIFT_PORT=23817INFINITY_HTTP_PORT=23820
-INFINITY_PSQL_PORT=5432
+INFINITY_PSQL_PORT=5434# The password for MySQL.MYSQL_PASSWORD=infini_rag_flow
@@ -53,13 +53,13 @@ MYSQL_DBNAME=rag_flowMYSQL_PORT=5455# The hostname where the MinIO service is exposed
-MINIO_HOST=minio
+MINIO_HOST=minio_ragflow# The port used to expose the MinIO console interface to the host machine,# allowing EXTERNAL access to the web-based console running inside the Docker container.
-MINIO_CONSOLE_PORT=9001
+MINIO_CONSOLE_PORT=9003# The port used to expose the MinIO API service to the host machine,# allowing EXTERNAL access to the MinIO object storage service running inside the Docker container.
-MINIO_PORT=9000
+MINIO_PORT=9019# The username for MinIO.# When updated, you must revise the `minio.user` entry in service_conf.yaml accordingly.MINIO_USER=rag_flow
@@ -68,10 +68,10 @@ MINIO_USER=rag_flowMINIO_PASSWORD=infini_rag_flow# The hostname where the Redis service is exposed
-REDIS_HOST=redis
+REDIS_HOST=redis_ragflow# The port used to expose the Redis service to the host machine,# allowing EXTERNAL access to the Redis service running inside the Docker container.
-REDIS_PORT=6379
+REDIS_PORT=6381# The password for Redis.REDIS_PASSWORD=infini_rag_flow(base) root@DESKTOP-31CKLQ1:/u01/workspace/ragflow-main/docker# git diff docker-compose.yml
diff --git a/docker/docker-compose.yml b/docker/docker-compose.yml
index 676f167d..e7036643 100644
--- a/docker/docker-compose.yml
+++ b/docker/docker-compose.yml
@@ -6,12 +6,12 @@ services:depends_on:mysql:condition: service_healthy
- image: ${RAGFLOW_IMAGE}
+ image: docker.1ms.run/${RAGFLOW_IMAGE}container_name: ragflow-serverports:- ${SVR_HTTP_PORT}:9380
- - 80:80
- - 443:443
+ - 50080:80
+ - 50443:443volumes:- ./ragflow-logs:/ragflow/logs- ./nginx/ragflow.conf:/etc/nginx/conf.d/ragflow.conf
git diff docker/docker-compose-base.yml
diff --git a/docker/docker-compose-base.yml b/docker/docker-compose-base.yml
index 93804d5a..abf7e9e4 100644
--- a/docker/docker-compose-base.yml
+++ b/docker/docker-compose-base.yml
@@ -3,7 +3,7 @@ services:container_name: ragflow-es-01profiles:- elasticsearch
- image: elasticsearch:${STACK_VERSION}
+ image: docker.1ms.run/elasticsearch:${STACK_VERSION}volumes:- esdata01:/usr/share/elasticsearch/dataports:
@@ -39,7 +39,7 @@ services:container_name: ragflow-infinityprofiles:- infinity
- image: infiniflow/infinity:v0.6.0-dev3
+ image: docker.1ms.run/infiniflow/infinity:v0.6.0-dev3volumes:- infinity_data:/var/infinity- ./infinity_conf.toml:/infinity_conf.toml
@@ -68,7 +68,7 @@ services:mysql:# mysql:5.7 linux/arm64 image is unavailable.
- image: mysql:8.0.39
+ image: docker.1ms.run/mysql:8.0.39container_name: ragflow-mysqlenv_file: .envenvironment:
@@ -95,8 +95,8 @@ services:retries: 3restart: on-failure- minio:
- image: quay.io/minio/minio:RELEASE.2023-12-20T01-00-02Z
+ minio_ragflow:
+ image: docker.1ms.run/minio/minio:RELEASE.2023-12-20T01-00-02Zcontainer_name: ragflow-miniocommand: server --console-address ":9001" /dataports:
@@ -108,21 +108,21 @@ services:- MINIO_ROOT_PASSWORD=${MINIO_PASSWORD}- TZ=${TIMEZONE}volumes:
- - minio_data:/data
+ - minio_ragflow_data:/datanetworks:- ragflowrestart: on-failure- redis:
+ redis_ragflow:# swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/valkey/valkey:8
- image: valkey/valkey:8
+ image: docker.1ms.run/valkey/valkey:8container_name: ragflow-rediscommand: redis-server --requirepass ${REDIS_PASSWORD} --maxmemory 128mb --maxmemory-policy allkeys-lruenv_file: .envports:- ${REDIS_PORT}:6379volumes:
- - redis_data:/data
+ - redis_ragflow_data:/datanetworks:- ragflowrestart: on-failure
@@ -136,9 +136,9 @@ volumes:driver: localmysql_data:driver: local
- minio_data:
+ minio_ragflow_data:driver: local
- redis_data:
+ redis_ragflow_data:driver: local
启动,
docker compose -p ragflow -f docker-compose.yml up -d
一定要指定
-p ragflow,否则和Dify项目冲突,因为他们的docker-compose.yml文件都在docker目录下面。
打开 http://ip:50080 进行访问。
完结!
相关文章:
本地部署 RAGFlow - 修改默认端口
本地部署 RAGFlow - 修改默认端口 1. 前提条件2. 部署 RAGFlow 1. 前提条件 确保 vm.max_map_count 不小于 262144: 如需确认 vm.max_map_count 的大小: sysctl vm.max_map_count如果 vm.max_map_count 的值小于 262144,可以进行重置&…...
repo init 错误 Permission denied (publickey)
一、已经生成ssh-key并设置到gerrit上 二、已经设置.gitconfig (此步骤是公司要求,设置gerrit地址为一个别名之类的,有的公司不需要) 然后出现下面的错误,最后发现忘记设置git的用户名和邮箱 1. git config --globa…...
Django settings.py 文件全解析
本篇详细介绍 Django settings.py 文件各个配置项的教程,涵盖核心配置项的作用及最佳实践 一、基础配置 1. BASE_DIR BASE_DIR Path(__file__).resolve().parent.parent作用:项目根目录路径,用于构建其他路径(如模板、静态…...
TSB - AD 解读 — 迈向可靠、透明的 TSAD 任务
目录 一 文章动机 二 TSAD 领域内的两类缺陷 三 数据集的构建 四 实验结果及结论 项目宣传链接:TSB-AD 代码链接: TheDatumOrg/TSB-AD: TSB-AD: Towards A Reliable Time-Series Anomaly Detection Benchmark 原作者解读:NeurIPS 2…...
下载 CSS 文件阻塞,会阻塞构建 DOM 树吗?会阻塞页面的显示吗?
下载 CSS 文件会对页面的渲染过程产生影响,具体是否阻塞 DOM 树的构建和页面的显示,取决于浏览器的渲染机制。 1. CSS 文件下载是否会阻塞 DOM 树的构建? 一般情况下,CSS 文件下载不会阻塞 DOM 树的构建: DOM 树的构建…...
6个月的Go语言学习甘特图路线图 从零基础到项目实战
以下是为期6个月的Go语言学习甘特图(2025年4月-2025年10月),包含详细阶段划分、对应资源及项目产出文档说明: #mermaid-svg-yQbkZCpCAXv6iXKC {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fi…...
论文阅读:2023-arxiv Can AI-Generated Text be Reliably Detected?
总目录 大模型安全相关研究:https://blog.csdn.net/WhiffeYF/article/details/142132328 文章目录 Abstract(摘要)1 Introduction(引言)Conclusion(结论) Can AI-Generated Text be Reliably D…...
查看IP地址/Ping 命令
目录 Windows Linux macOS Ping 命令 Windows 使用终端: 按下 Win R 键,打开“运行”对话框,输入 cmd 并按 Enter。 在命令提示符中输入 ipconfig,按 Enter。系统会显示网络适配器的详细信息,包括 IPv4 地址、子…...
Language Models are Few-Shot Learners,GPT-3详细讲解
GPT的训练范式:预训练Fine-Tuning GPT2的训练范式:预训练Prompt predict (zero-shot learning) GPT3的训练范式:预训练Prompt predict (few-shot learning) GPT2的性能太差,新意高&…...
鸿蒙编译框架@ohos/hvigor FileUtil用法
ohos/hvigor FileUtil用法 在鸿蒙(HarmonyOS)开发中,ohos/hvigor 的 FileUtil 是用于文件操作的实用工具类,提供了跨平台的文件读写、路径处理等常用方法。以下是其核心用法和示例: 一、核心方法说明 方法名功能描…...
Hoppscotch 开源API 开发工具
Hoppscotch 是一个开源的 API 开发工具,旨在为开发者提供一个轻量级、快速且功能丰富的 API 开发和调试平台。以下是对其主要特性和功能的详细介绍: 1. 轻量级与高效 Hoppscotch 采用简约的 UI 设计,注重易用性和高效性。它支持实时发送请求…...
Infura 简介
文章目录 Infura 简介Infura 的主要功能Infura 的替代方案(类似服务)AlchemyQuickNodeAnkrMoralisPocket Network 什么时候选择 Infura? Infura 简介 Infura 是一个 区块链基础设施即服务(BaaS, Blockchain as a Service…...
【芯片验证】面试题·对深度为60的数组进行复杂约束的技巧
朋友发给我的芯片验证笔试题,觉得很有意思,和大家分享一下。 面试题目 class A中一个长度为60的随机数组rand int arr[60],如何写约束使得: 1.每个元素的值都在(0,100]之间,且互不相等; 2.最少有三个元素满足勾股数要求,比如数组中包含3,4,5三个点; 请以解约束最快…...
Manus “Less structure,More intelligence ”独行云端处理器
根据市场调研机构Statista数据显示,全球的AR/AR的市场规模预计目前将达到2500亿美元,Manus作为VR手套领域的领军企业,足以颠覆你的认知。本篇文章将带你解读Manus产品,针对用户提出的种种问题,Manus又将如何解决且让使…...
【再读】R1-Onevision通过跨模态形式化为复杂多模态推理任务提供了系统性解决方案
R1-Onevision:跨模态形式化驱动的多模态推理技术突破,R1-Onevision通过跨模态形式化、双阶段训练和教育级基准测试,为多模态推理树立了新标杆。其技术创新不仅提升了模型在复杂任务中的表现,更重要的是为行业提供了一种可解释、可迁移的多模态处理范式。随着形式化方法的不断…...
Mysql-经典实战案例(3): pt-archiver 实现 MySQL 千万级大表分库分表(上)
零基础实战:使用 pt-archiver 实现 MySQL 千万级大表的水平分表(Hash分片) 本文适合人群:MySQL新手、想低成本实践数据库分表的开发者 环境要求:MySQL 5.7、Linux系统(建议CentOS/Ubuntu) 你将学…...
使用JSON存储数据的场景
Json 作为一种通用的数据格式,由于其结构灵活、可拓展等特点,在某些场景下我们也会直接将数据以 Json 格式存储到数据库中。 本文将探讨在开发中使用 JSON 存储数据的常见场景,并通过具体的实例帮助大家更好地理解其应用。 1. 半结构化数据…...
文生图网站推荐(2025.3)
以下是2024-2025年期间值得推荐的文生图网站,综合了免费性、中文友好度、操作便捷性及功能特色,涵盖不同用户需求: 一、国内主流平台 通义万相(阿里云) 特点:每日免费50次生成,模型和风格多样&a…...
网页制作代码html制作一个网页模板
制作一个简单而实用的网页模板:HTML基础入门 在数字时代,网页已成为信息展示和交流的重要平台。HTML(HyperText Markup Language)作为网页制作的基础语言,为开发者提供了构建网页的基本框架。本文将带你了解如何使用H…...
AI视觉测试工具实战评测:以Applitools为例的技术解析与行业应用
在数字化转型的浪潮中,软件界面(UI/UX)的复杂性与迭代速度呈指数级增长。传统的人工视觉测试不仅耗时费力,且难以应对多平台、多分辨率下的界面一致性问题。AI视觉测试工具的出现,通过智能图像识别与自动化对比&#x…...
SSM框架——Spring面试题
Spring常见面试题 Spring框架中的单例bean是线程安全的吗 不是线程安全的 Spring框架中有一个Scope注解,默认的值就是singleton,单例的。 因为一般在spring的bean的中都是注入无状态的对象,没有线程安全问题,如果在bean中定义了可…...
华为OD机试 - 计算观看演唱会场次(Java 2023 B卷 200分)
题目描述 为了庆祝中国共产党成立100周年,某公园将举行多场文艺表演。由于演出分布在不同的场地,一个人只能同时观看一场演出,且不能迟到早退。连续观看的演出之间最少需要有15分钟的时间间隔。小明是一个狂热的文艺迷,想观看尽可…...
云原生大佬重生,记忆逐步复苏(十三:selinux模块)
目录 1:什么是selinux 1.1 SELinux 的作用 1.2. SELinux 的工作原理 1.3. SELinux 的运行模式 2:解析selinux文件上下文标签策略 3:selinux的布尔值 4:调查和解决selinux问题 1:什么是selinux SELinux(Security-Enhanced L…...
Redis hyperloglog学习
背景知识 【伯努利试验】: 【伯努利试验】是一个概率论中的概念,指在相同的条件下重复进行n次独立的试验,每次试验只有两种可能的结果,且这两种结果发生的概率是固定的 抛硬币作为伯努利试验:在抛硬币时,我…...
MySQL高频八股——事务过程中Undo log、Redo log、Binlog的写入顺序(涉及两阶段提交)
大家好,我是钢板兽! 在上一篇文章中,我分别介绍了 Undo Log、Redo Log 和 Binlog 在事务执行过程中的作用与写入机制。然而,实际应用中,这三种日志的写入是有先后顺序的。因此,本篇文章将深入探讨它们的写…...
二阶近似 是什么意思
二阶近似 是什么意思 一、二阶近似的概念与举例 二阶近似是数学分析中通过泰勒展开对函数进行近似的方法,保留到二阶项(即包含一阶导数和二阶导数)。在优化问题(如模型训练)中,常用于近似损失函数,帮助更精准地更新模型参数。 举例: 假设损失函数为 L ( θ ) \mathc…...
Oracle GoldenGate 全面解析
Oracle GoldenGate 全面解析 Oracle GoldenGate 是一种实时数据集成和复制解决方案,广泛应用于数据同步、数据库迁移、高可用性和灾难恢复等场景。以下将详细解答您提出的关于 Oracle GoldenGate 的一系列问题。 1. Oracle GoldenGate 的架构组成及其核心组件的作用 架构组成…...
C++进阶——AVL树的实现
1、AVL的概念 1.1 AVL 树的发明 AVL 树由 G.M. Adelson-Velsky 和 E.M. Landis 在 1962 年的论文《An algorithm for the organization of information》中提出。他们的设计目标是解决二叉搜索树在动态操作(插入、删除)中可能退化为链表的问题。 1.2 …...
S32K144入门笔记(十三):LPIT的API函数解读
目录 1. SDK中的函数 2. API函数的释义 2.1 获取默认参数 2.2 初始化 2.3 启动与停止 2.4 计数值的设置于读取 2.5 中断API 1. SDK中的函数 在使用SDK的非抽象驱动函数时,函数的定义与声明在文件lpit_driver.c和lpit_driver.h中,一共有19个函数&a…...
打包当前Ubuntu镜像 制作Ubuntu togo系统
我的系统的基本情况说明: 我原来的系统的具体型号如下: uname -rLinux Engine 5.15.0-134-generic #145~20.04.1-Ubuntu SMP Mon Feb 17 13:27:16 UTC 2025 x86_64 x86_64 x86_64 GNU/Linux我原来的硬盘以及分区策略如下: 可以看到我的分区…...
