fastgpt本地运行起来的 服务配置

复制代码
# 数据库的默认账号和密码仅首次运行时设置有效
# 如果修改了账号密码,记得改数据库和项目连接参数,别只改一处~
# 该配置文件只是给快速启动,测试使用。正式使用,记得务必修改账号密码,以及调整合适的知识库参数,共享内存等。
# 如何无法访问 dockerhub 和 git,可以用阿里云(阿里云没有arm包)

version: '3.3'
services:
  # GPT-Vis 图表渲染API(离线图表生成核心)
  gpt-vis-api:
    image: apconw/gpt-vis-api:0.0.1
    container_name: gpt-vis-api
    restart: unless-stopped
    networks:
      - fastgpt  # 加入fastgpt网络,确保与其他服务通信
    ports:
      - "3100:3000"  # 宿主机端口:容器端口(可自定义)
    environment:
      # MinIO配置(需与fastgpt-minio保持一致)
      - MINIO_ENDPOINT=fastgpt-minio  # 同一网络下用服务名访问,替代host.docker.internal
      - MINIO_PORT=9000  # 对应fastgpt-minio的9000端口
      - MINIO_USE_SSL="false"
      - MINIO_ACCESS_KEY=minioadmin  # 与fastgpt-minio的MINIO_ROOT_USER一致
      - MINIO_SECRET_KEY=minioadmin  # 与fastgpt-minio的MINIO_ROOT_PASSWORD一致
      - MINIO_BUCKET=chart-images  # 需提前在MinIO控制台创建此桶
      - MINIO_PUBLIC_DOMAIN="http://192.16.140.163:9000"  # 宿主机IP:MinIO端口(前端可访问)
      - AUTH_TOKEN=xxxxxx  # 可选:设置认证令牌,不设置则禁用
    depends_on:
      fastgpt-minio:
        condition: service_healthy  # 确保MinIO启动正常后再启动
    volumes:
      - ./src/index.js:/usr/src/app/index.js  # 本地代码挂载(调试用)
  # mcp-server-echart
  mcp-server-chart:
    image: mcp-server-chart:latest  # 使用本地构建的镜像
    ports:
      - "1122:1122"
    environment:
      # 覆盖默认的 VIS_REQUEST_SERVER,指向 GPT-VIS-API 内部地址
      - VIS_REQUEST_SERVER=http://gpt-vis-api:3000/generate
    depends_on:
      - gpt-vis-api
    networks:
      - fastgpt
  # mcphub
  mcphub:
    image: samanhappy/mcphub:latest
    container_name: mcphub
    restart: always
    networks:
      - fastgpt
    ports:
      - "3003:3000"
    volumes:
      - /home/wangmin/fastgpt/mcpapp/mcp_settings.json:/mcpapp/mcp_settings.json
  # one-api
  one-api:
    image: justsong/one-api
    container_name: oneapi
    restart: always
    networks:
      - fastgpt
    ports:
      - "3001:3000"    #设置端口映射,可自定义
    environment:
      - TZ=Asia/Shanghai
    volumes:
      - /data/oneapi/data:/data
  # Vector DB
  pg:
    image: pgvector/pgvector:0.8.0-pg15 # docker hub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.8.0-pg15 # 阿里云
    container_name: pg
    restart: always
    ports: # 生产环境建议不要暴露
      - 5432:5432
    networks:
      - fastgpt
    environment:
      # 这里的配置只有首次运行生效。修改后,重启镜像是不会生效的。需要把持久化数据删除再重启,才有效果
      - POSTGRES_USER=username
      - POSTGRES_PASSWORD=password
      - POSTGRES_DB=postgres
    volumes:
      - ./pg/data:/var/lib/postgresql/data
    healthcheck:
      test: ['CMD', 'pg_isready', '-U', 'username', '-d', 'postgres']
      interval: 5s
      timeout: 5s
      retries: 10

  # DB
  mongo:
    image: mongo:5.0.18 # dockerhub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/mongo:5.0.18 # 阿里云
    # image: mongo:4.4.29 # cpu不支持AVX时候使用
    container_name: mongo
    restart: always
    ports:
      - 27017:27017
    networks:
      - fastgpt
    command: mongod --keyFile /data/mongodb.key --replSet rs0
    environment:
      - MONGO_INITDB_ROOT_USERNAME=myusername
      - MONGO_INITDB_ROOT_PASSWORD=mypassword
    volumes:
      - ./mongo/data:/data/db
    entrypoint:
      - bash
      - -c
      - |
        openssl rand -base64 128 > /data/mongodb.key
        chmod 400 /data/mongodb.key
        chown 999:999 /data/mongodb.key
        echo 'const isInited = rs.status().ok === 1
        if(!isInited){
          rs.initiate({
              _id: "rs0",
              members: [
                  { _id: 0, host: "mongo:27017" }
              ]
          })
        }' > /data/initReplicaSet.js
        # 启动MongoDB服务
        exec docker-entrypoint.sh "$$@" &

        # 等待MongoDB服务启动
        until mongo -u myusername -p mypassword --authenticationDatabase admin --eval "print('waited for connection')"; do
          echo "Waiting for MongoDB to start..."
          sleep 2
        done

        # 执行初始化副本集的脚本
        mongo -u myusername -p mypassword --authenticationDatabase admin /data/initReplicaSet.js

        # 等待docker-entrypoint.sh脚本执行的MongoDB服务进程
        wait $$!
  redis:
    image: redis:7.2-alpine
    container_name: redis
    networks:
      - fastgpt
    restart: always
    ports:
      - 6379:6379
    command: |
      redis-server --requirepass mypassword --loglevel warning --maxclients 10000 --appendonly yes --save 60 10 --maxmemory 4gb --maxmemory-policy noeviction
    healthcheck:
      test: ['CMD', 'redis-cli', '-a', 'mypassword', 'ping']
      interval: 10s
      timeout: 3s
      retries: 3
      start_period: 30s
    volumes:
      - ./redis/data:/data
  fastgpt-minio:
    image: minio/minio:RELEASE.2025-04-22T22-12-26Z
    container_name: fastgpt-minio
    restart: always
    networks:
      - fastgpt
    ports: # comment out if you do not need to expose the port (in production environment, you should not expose the port)
      - '9000:9000'
      - '9001:9001'
    environment:
      - MINIO_ROOT_USER=minioadmin
      - MINIO_ROOT_PASSWORD=minioadmin
    volumes:
      - ./fastgpt-minio:/data
    command: server /data --console-address ":9001"
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:9000/minio/health/live']
      interval: 30s
      timeout: 20s
      retries: 3

  sandbox:
    container_name: sandbox
    image: ghcr.io/labring/fastgpt-sandbox:v4.10.1 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-sandbox:v4.10.1 # 阿里云
    networks:
      - fastgpt
    restart: always
  fastgpt-mcp-server:
    container_name: fastgpt-mcp-server
    image: ghcr.io/labring/fastgpt-mcp_server:v4.10.1 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-mcp_server:v4.10.1 # 阿里云
    ports:
      - 3005:3000
    networks:
      - fastgpt
    restart: always
    environment:
      - FASTGPT_ENDPOINT=http://192.16.140.163:3000
  fastgpt-plugin:
    image: ghcr.io/labring/fastgpt-plugin:v0.1.3 # git
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/fastgpt-plugin:v0.1.3 # 阿里云
    container_name: fastgpt-plugin
    restart: always
    ports:
      - 3006:3000
    networks:
      - fastgpt
    environment:
      - AUTH_TOKEN=xxxxxx # disable authentication token if you do not set this variable
      # 改成 minio 可访问地址,例如 https://192.168.2.2:9000
      - MINIO_CUSTOM_ENDPOINT=http://192.16.140.163:9000
      - MINIO_ENDPOINT=fastgpt-minio
      - MINIO_PORT=9000
      - MINIO_USE_SSL=false
      - MINIO_ACCESS_KEY=minioadmin
      - MINIO_SECRET_KEY=minioadmin
      - MINIO_BUCKET=fastgpt-plugins
    depends_on:
      fastgpt-minio:
        condition: service_healthy

  # AI Proxy
  aiproxy:
    image: ghcr.io/labring/aiproxy:v0.2.2
    # image: registry.cn-hangzhou.aliyuncs.com/labring/aiproxy:v0.2.2 # 阿里云
    container_name: aiproxy
    restart: unless-stopped
    depends_on:
      aiproxy_pg:
        condition: service_healthy
    networks:
      - fastgpt
    environment:
      # 对应 fastgpt 里的AIPROXY_API_TOKEN
      - ADMIN_KEY=aiproxy
      # 错误日志详情保存时间(小时)
      - LOG_DETAIL_STORAGE_HOURS=1
      # 数据库连接地址
      - SQL_DSN=postgres://postgres:aiproxy@aiproxy_pg:5432/aiproxy
      # 最大重试次数
      - RETRY_TIMES=3
      # 不需要计费
      - BILLING_ENABLED=false
      # 不需要严格检测模型
      - DISABLE_MODEL_CONFIG=true
    healthcheck:
      test: ['CMD', 'curl', '-f', 'http://localhost:3000/api/status']
      interval: 5s
      timeout: 5s
      retries: 10
  aiproxy_pg:
    image: pgvector/pgvector:0.8.0-pg15 # docker hub
    # image: registry.cn-hangzhou.aliyuncs.com/fastgpt/pgvector:v0.8.0-pg15 # 阿里云
    restart: unless-stopped
    container_name: aiproxy_pg
    volumes:
      - ./aiproxy_pg:/var/lib/postgresql/data
    networks:
      - fastgpt
    environment:
      TZ: Asia/Shanghai
      POSTGRES_USER: postgres
      POSTGRES_DB: aiproxy
      POSTGRES_PASSWORD: aiproxy
    healthcheck:
      test: ['CMD', 'pg_isready', '-U', 'postgres', '-d', 'aiproxy']
      interval: 5s
      timeout: 5s
      retries: 10
networks:
  fastgpt:

.env.local

复制代码
LOG_DEPTH=3
# 默认用户密码,用户名为 root,每次重启时会自动更新。
DEFAULT_ROOT_PSW=123456
# 数据库最大连接数
DB_MAX_LINK=5
# 文件阅读时的密钥
FILE_TOKEN_KEY=filetokenkey
# 密钥加密key
AES256_SECRET_KEY=fastgptsecret
# root key, 最高权限
ROOT_KEY=fdafasd
# 强制将图片转成 base64 传递给模型
MULTIPLE_DATA_TO_BASE64=true

# Service url
# 商业版地址
PRO_URL=
# Plugin
PLUGIN_BASE_URL=http://localhost:3006
PLUGIN_TOKEN=xxxxxx
# code sandbox url
SANDBOX_URL=http://localhost:3001
# ai proxy api
AIPROXY_API_ENDPOINT=http://localhost:3000
AIPROXY_API_TOKEN=aiproxy
# OpenAI Base URL
OPENAI_BASE_URL=http://localhost:3001/v1
CHAT_API_KEY=sk-TJUZ1Ho6fLrdR3Cz1eA6A44966964036903fF945Db865390  

# Redis URL
REDIS_URL=redis://default:mypassword@localhost:6379
# mongo 数据库连接参数,本地开发连接远程数据库时,可能需要增加 directConnection=true 参数,才能连接上。
MONGODB_URI=mongodb://myusername:mypassword@localhost:27017/fastgpt?authSource=admin&directConnection=true
# 日志库
MONGODB_LOG_URI=mongodb://myusername:mypassword@localhost:27017/fastgpt?authSource=admin&directConnection=true
# 向量库优先级: pg > oceanbase > milvus
# PG 向量库连接参数
PG_URL=postgresql://username:password@localhost:5432/postgres
# OceanBase 向量库连接参数
OCEANBASE_URL=
# milvus 向量库连接参数
MILVUS_ADDRESS=
MILVUS_TOKEN=


# 页面的地址,用于自动补全相对路径资源的 domain,注意后面不要跟 /
FE_DOMAIN=http://localhost:3000
# 文件域名,也是指向 FastGPT 服务,但是如果希望内容足够安全,可以独立分配一个域名,避免高危文件读取到主域名的内容。
FILE_DOMAIN=http://localhost:3000
# 二级路由,需要打包时候就确定
# NEXT_PUBLIC_BASE_URL=/fastai

# 日志等级: debug, info, warn, error
LOG_LEVEL=debug
STORE_LOG_LEVEL=warn

# 安全配置
# 对话文件 n 天过期
CHAT_FILE_EXPIRE_TIME=7
# 启动 IP 限流(true),部分接口增加了 ip 限流策略,防止非正常请求操作。
USE_IP_LIMIT=false
# 工作流最大运行次数,避免极端的死循环情况
WORKFLOW_MAX_RUN_TIMES=500
# 循环最大运行次数,避免极端的死循环情况
WORKFLOW_MAX_LOOP_TIMES=50
# 启用内网 IP 检查
CHECK_INTERNAL_IP=false
# 密码错误锁时长:s
PASSWORD_LOGIN_LOCK_SECONDS=
# 密码过期月份,不设置则不会过期
PASSWORD_EXPIRED_MONTH=
# 最大登录客户端数量,默认为 10
MAX_LOGIN_SESSION=

# 特殊配置
# 自定义跨域,不配置时,默认都允许跨域(逗号分割)
ALLOWED_ORIGINS=
# 是否展示兑换码功能
SHOW_COUPON=false
# 自定义 config.json 路径
CONFIG_JSON_PATH=

# 对话日志推送服务
# # 日志服务地址
# CHAT_LOG_URL=http://localhost:8080
# # 日志推送间隔
# CHAT_LOG_INTERVAL=10000
# # 日志来源ID前缀
# CHAT_LOG_SOURCE_ID_PREFIX=fastgpt-

# Signoz
SIGNOZ_BASE_URL=
SIGNOZ_SERVICE_NAME=
相关推荐
云村小威12 天前
FastGPT本地构建工作流高级编排(最新4.11.0)
语言模型·agent·知识库·fastgpt
mzak3 个月前
Linux系统(OpenEuler22.03-LTS)部署FastGPT
linux·人工智能·fastgpt
q_q王3 个月前
本地知识库工具FASTGPT的安装与搭建
python·大模型·llm·知识库·fastgpt
追光天使4 个月前
FastGPT安装前,系统环境准备工作?
fastgpt·win 系统准备工作
哈哈,柳暗花明4 个月前
【AI工具】FastGPT:开启高效智能问答新征程
人工智能·ai编程·fastgpt·ai工具
慕斯策划一场流浪4 个月前
fastGPT—前端开发获取api密钥调用机器人对话接口(HTML实现)
前端·html·fastgpt·fastgpt创建工作流·fastgpt创建密钥调用接口
太空眼睛5 个月前
【FastGPT】利用知识库创建AI智能助手
知识库·fastgpt·智能助手·智能体·deepseek·r1·满血版
sp42a6 个月前
Windows 上源码安装 FastGPT
ai·fastgpt·rag
伪装成塔的小兵6 个月前
Windows使用docker部署fastgpt出现的一些问题
windows·docker·容器·oneapi·fastgpt