环境

我的内网服务器:Linux 且有docker 和 docker-compose
我本机Windows有docker 有外网

准备

Windows拉取需要的镜像

docker pull redis:7.2-alpine
docker pull mongo:5.0.18
docker pull pgvector/pgvector:0.8.0-pg15
docker pull minio/minio:RELEASE.2025-09-07T16-13-09Z
docker pull ghcr.io/labring/fastgpt-sandbox:v4.13.2
docker pull ghcr.io/labring/fastgpt-mcp_server:v4.13.2
docker pull ghcr.io/labring/fastgpt-plugin:v0.2.4
docker pull ghcr.io/labring/aiproxy:v0.3.2
docker pull ghcr.io/labring/fastgpt:v4.13.2

在这里插入图片描述

把所有镜像打包成单个 tar 包

docker save -o fastgpt-all.tar \
redis:7.2-alpine \
mongo:5.0.18 \
pgvector/pgvector:0.8.0-pg15 \
minio/minio:RELEASE.2025-09-07T16-13-09Z \
ghcr.io/labring/fastgpt-sandbox:v4.13.2 \
ghcr.io/labring/fastgpt-mcp_server:v4.13.2 \
ghcr.io/labring/fastgpt-plugin:v0.2.4 \
ghcr.io/labring/aiproxy:v0.3.2 \
ghcr.io/labring/fastgpt:v4.13.2

(备用)Windows下可直接复制的一行命令格式(与上面的名区别只有换行)

docker save -o fastgpt-all.tar redis:7.2-alpine mongo:5.0.18 pgvector/pgvector:0.8.0-pg15 minio/minio:RELEASE.2025-09-07T16-13-09Z  ghcr.io/labring/fastgpt-sandbox:v4.13.2  ghcr.io/labring/fastgpt-mcp_server:v4.13.2 ghcr.io/labring/fastgpt-plugin:v0.2.4 ghcr.io/labring/aiproxy:v0.3.2 ghcr.io/labring/fastgpt:v4.13.2

在这里插入图片描述

部署

上传

把fastgpt-all.tar文件传到Linux服务器
在这里插入图片描述

导入

docker load -i fastgpt-all.tar

在这里插入图片描述

创建 docker-compose.yml

services:
  pg:
    image: pgvector/pgvector:0.8.0-pg15
    container_name: pg
    restart: always
    ports:
      - "5432:5432"
    networks:
      - fastgpt
    environment:
      POSTGRES_USER: root
      POSTGRES_PASSWORD: FastGPT2025
      POSTGRES_DB: postgres
    volumes:
      - ./data/pg:/var/lib/postgresql/data
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "root", "-d", "postgres"]
      interval: 5s
      timeout: 5s
      retries: 10

  mongo:
    image: mongo:5.0.18
    container_name: mongo
    restart: always
    ports:
      - "27017:27017"
    networks:
      - fastgpt
    command: mongod --keyFile /data/mongodb.key --replSet rs0
    environment:
      MONGO_INITDB_ROOT_USERNAME: root
      MONGO_INITDB_ROOT_PASSWORD: FastGPT2025
    volumes:
      - ./data/mongo:/data/db
    healthcheck:
      test: |
        mongo -u root -p FastGPT2025 --authenticationDatabase admin --eval "db.adminCommand('ping')"
      interval: 10s
      timeout: 5s
      retries: 5
      start_period: 30s
    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
        exec docker-entrypoint.sh "$$@" &
        until mongo -u root -p FastGPT2025 --authenticationDatabase admin --eval "print('waited for connection')"; do
          echo "Waiting for MongoDB to start..."
          sleep 2
        done
        mongo -u root -p FastGPT2025 --authenticationDatabase admin /data/initReplicaSet.js
        wait $$!

  redis:
    image: redis:7.2-alpine
    container_name: redis
    ports:
      - "6380:6379"
    networks:
      - fastgpt
    restart: always
    command: redis-server --loglevel warning --maxclients 10000 --appendonly yes --save 60 10 --maxmemory 4gb --maxmemory-policy noeviction
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 3s
      retries: 3
      start_period: 30s
    volumes:
      - ./data/redis:/data

  fastgpt-minio:
    image: minio/minio:RELEASE.2025-09-07T16-13-09Z
    container_name: fastgpt-minio
    restart: always
    networks:
      - fastgpt
    ports:
      - "9002:9000"
      - "9003:9001"
    environment:
      MINIO_ROOT_USER: admin
      MINIO_ROOT_PASSWORD: FastGPT2025
    volumes:
      - ./data/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.13.2
    ports:
      - "3002:3000"
    networks:
      - fastgpt
    restart: always

  fastgpt-mcp-server:
    container_name: fastgpt-mcp-server
    image: ghcr.io/labring/fastgpt-mcp_server:v4.13.2
    ports:
      - "3005:3000"
    networks:
      - fastgpt
    restart: always
    environment:
      FASTGPT_ENDPOINT: http://fastgpt-app:3000
    depends_on:
      - fastgpt-app

  fastgpt-plugin:
    image: ghcr.io/labring/fastgpt-plugin:v0.2.4
    container_name: fastgpt-plugin
    restart: always
    ports:
      - "3003:3000"
    networks:
      - fastgpt
    environment:
      AUTH_TOKEN: token
      S3_ENDPOINT: fastgpt-minio
      S3_PORT: 9000
      S3_USE_SSL: "false"
      S3_ACCESS_KEY: admin
      S3_SECRET_KEY: FastGPT2025
      S3_BUCKET: fastgpt-plugins
      S3_PUBLIC_BUCKET: fastgpt-public
      S3_PRIVATE_BUCKET: fastgpt-private
      MONGODB_URI: mongodb://root:FastGPT2025@mongo:27017/fastgpt?authSource=admin&directConnection=true
      REDIS_URL: redis://default:@redis:6379
    depends_on:
      fastgpt-minio:
        condition: service_healthy

  aiproxy:
    image: ghcr.io/labring/aiproxy:v0.3.2
    container_name: aiproxy
    restart: unless-stopped
    ports:
      - "3010:3000"
    depends_on:
      aiproxy_pg:
        condition: service_healthy
    networks:
      - fastgpt
      - aiproxy
    environment:
      ADMIN_KEY: aiproxy
      LOG_DETAIL_STORAGE_HOURS: 1
      SQL_DSN: postgres://root:FastGPT2025@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
    restart: unless-stopped
    container_name: aiproxy_pg
    volumes:
      - ./data/aiproxy_pg:/var/lib/postgresql/data
    networks:
      - aiproxy
    environment:
      TZ: Asia/Shanghai
      POSTGRES_USER: root
      POSTGRES_DB: aiproxy
      POSTGRES_PASSWORD: FastGPT2025
    healthcheck:
      test: ["CMD", "pg_isready", "-U", "root", "-d", "aiproxy"]
      interval: 5s
      timeout: 5s
      retries: 10

  fastgpt-app:
    image: ghcr.io/labring/fastgpt:v4.13.2
    container_name: fastgpt-app
    restart: always
    ports:
      - "3000:3000"
    networks:
      - fastgpt
    environment:
      LOG_DEPTH: 3
      DEFAULT_ROOT_PSW: 123456
      DB_MAX_LINK: 5
      TOKEN_KEY: fastgpt
      FILE_TOKEN_KEY: filetokenkey
      AES256_SECRET_KEY: fastgptsecret
      ROOT_KEY: fdafasd
      MULTIPLE_DATA_TO_BASE64: "true"
      EMBEDDING_CHUNK_SIZE: 10
      PLUGIN_BASE_URL: http://fastgpt-plugin:3000
      PLUGIN_TOKEN: token
      SANDBOX_URL: http://sandbox:3000
      AIPROXY_API_ENDPOINT: http://aiproxy:3000
      AIPROXY_API_TOKEN: aiproxy
      OPENAI_BASE_URL: ""
      CHAT_API_KEY: ""
      S3_ENDPOINT: fastgpt-minio
      S3_PORT: 9000
      S3_USE_SSL: "false"
      S3_ACCESS_KEY_ID: admin
      S3_SECRET_ACCESS_KEY: FastGPT2025
      S3_BUCKET_PRIVATE: fastgpt-private
      S3_BUCKET_PUBLIC: fastgpt-public
      REDIS_URL: redis://default:@redis:6379
      MONGODB_URI: mongodb://root:FastGPT2025@mongo:27017/fastgpt?authSource=admin&directConnection=true
      MONGODB_LOG_URI: mongodb://root:FastGPT2025@mongo:27017/fastgpt?authSource=admin&directConnection=true
      PG_URL: postgresql://root:FastGPT2025@pg:5432/postgres
      FE_DOMAIN: http://localhost:3000
      FILE_DOMAIN: http://localhost:3000
      LOG_LEVEL: info
      STORE_LOG_LEVEL: warn
      CHAT_FILE_EXPIRE_TIME: 7
      USE_IP_LIMIT: "false"
      WORKFLOW_MAX_RUN_TIMES: 500
      WORKFLOW_MAX_LOOP_TIMES: 50
      SERVICE_REQUEST_MAX_CONTENT_LENGTH: 10
      CHECK_INTERNAL_IP: "false"
      SHOW_COUPON: "false"
    volumes:
      - ./data/files:/app/data/files
    depends_on:
      mongo: { condition: service_healthy }
      pg: { condition: service_healthy }
      redis: { condition: service_healthy }
      fastgpt-minio: { condition: service_healthy }
    healthcheck:
      test: ["CMD", "curl", "-f", "http://localhost:3000/api/health"]
      interval: 30s
      timeout: 10s
      retries: 3
      start_period: 60s

networks:
  fastgpt:
  aiproxy:

创建data文件夹

mkdir -p data/{pg,mongo,redis,fastgpt-minio,aiproxy_pg,files}

在这里插入图片描述

启动

docker compose up -d

访问

地址:http://服务器IP:3000
账号:root
密码:123456

在这里插入图片描述

配置ollama模型

Linux安装docker+ollama+deepseekhttps://blog.csdn.net/YXWik/article/details/149497501

在这里插入图片描述
新增语言模型
在这里插入图片描述

在这里插入图片描述

http://ollama:11434

在这里插入图片描述

如果网络不通就查询ollama所在的网络
在这里插入图片描述

docker inspect ollama | grep -A 10 "Networks"

在这里插入图片描述
然后将fastgpt-appaiproxy 都加上ollama对应的网络
在这里插入图片描述
最底部声明下
在这里插入图片描述
重启

docker compose up -d aiproxy
docker compose up -d fastgpt-app

在这里插入图片描述
发现还没生效,给 Ollama 多 “插一根网线” 到 FastGPT 网络!

docker network connect fastgpt_fastgpt ollama

再次测试发现成功了
在这里插入图片描述

ollama拉取模型部署内容

在Windows上拉取索引embeddings模型

ollama pull all-minilm

在Linux上找到ollma模型的位置

docker inspect ollama | grep Mounts -A 10

在这里插入图片描述
在这里插入图片描述
把Windows上这两个文件夹中的内容上传到Linux上
在这里插入图片描述
然后重启ollama

docker restart ollama

验证

docker exec -it ollama ollama list

在这里插入图片描述
FastGpt中配置
这里不需要配置地址在这里插入图片描述在这里插入图片描述

Logo

欢迎加入DeepSeek 技术社区。在这里,你可以找到志同道合的朋友,共同探索AI技术的奥秘。

更多推荐