惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
D
Docker
H
Help Net Security
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
Microsoft Azure Blog
Microsoft Azure Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
T
Tailwind CSS Blog
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
月光博客
月光博客
C
Check Point Blog
S
SegmentFault 最新的问题
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
M
MIT News - Artificial intelligence
B
Blog RSS Feed
MyScale Blog
MyScale Blog
大猫的无限游戏
大猫的无限游戏
Hugging Face - Blog
Hugging Face - Blog
腾讯CDC
美团技术团队
I
InfoQ
Blog — PlanetScale
Blog — PlanetScale

博客园 - 小纸条

模型微调 反向传播 numpy的使用 B 和 B+树 红黑树 ruoyi-vue 梯度下降法 博弈论 离散化 AcWing 907. 区间覆盖 AcWing 906. 区间分组 AcWing 908 最大不相交区间数量 AcWing 905. 区间选点 AcWing 104. 货仓选址 动态规划经典题 窗口函数 1226. 哲学家进餐 1195. 交替打印字符串 1117. H2O 生成 1116. 打印零与奇偶数 关联子查询
ruoyiai 启动指南
小纸条 · 2026-05-16 · via 博客园 - 小纸条

第一步启动中间件

# RuoYi-AI 一键启动后端服务
# 使用方式: docker-compose up -d --build
#
# 包含服务:
#   - MySQL 8.0 (数据库)
#   - Redis 6.2 (缓存)
#   - Weaviate (向量数据库)
#   - MinIO (对象存储)
#   - RuoYi-Backend (后端服务,源码编译)

services:
  # MySQL 数据库
  mysql:
    image: mysql:8.0.33
    container_name: ruoyi-ai-mysql
    restart: always
    ports:
      - "3306:3306"
    environment:
      MYSQL_ROOT_PASSWORD: root
      MYSQL_DATABASE: ruoyi-ai
      TZ: Asia/Shanghai
    volumes:
      - ./docs/script/docker/mysql/init/init-db.sh:/docker-entrypoint-initdb.d/init-db.sh:ro
      - ./docs/script/docker/mysql/init/init-root.sql:/docker-entrypoint-initdb.d/init-root.sql:ro
      - ./docs/script/sql/ruoyi-ai-v3_mysql8.sql:/docker-entrypoint-initdb.d/ruoyi-ai-v3_mysql8.sql:ro
      - mysql-data:/var/lib/mysql
    command:
      --default-authentication-plugin=mysql_native_password
      --character-set-server=utf8mb4
      --collation-server=utf8mb4_general_ci
      --explicit_defaults_for_timestamp=true
      --lower_case_table_names=1
      --skip-ssl
    healthcheck:
      test: ["CMD", "mysqladmin", "ping", "-h", "localhost", "-u", "root", "-proot"]
      interval: 15s
      timeout: 10s
      retries: 10
      start_period: 60s
    networks:
      - ruoyi-net

  # Redis 缓存
  redis:
    image: redis:6.2
    container_name: ruoyi-ai-redis
    restart: always
    ports:
      - "6379:6379"
    volumes:
      - redis-data:/data
    command: redis-server --appendonly yes
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5
    networks:
      - ruoyi-net

  # Weaviate 向量数据库
  weaviate:
    image: semitechnologies/weaviate:1.30.0
    container_name: ruoyi-ai-weaviate
    restart: always
    ports:
      - "6038:8080"
    environment:
      QUERY_DEFAULTS_LIMIT: 25
      AUTHENTICATION_ANONYMOUS_ACCESS_ENABLED: true
      PERSISTENCE_DATA_PATH: /var/lib/weaviate
      DEFAULT_VECTORIZER_MODULE: none
      ENABLE_MODULES: text2vec-cohere,text2vec-huggingface,text2vec-palm,text2vec-openai,generative-openai,generative-cohere,generative-palm,ref2vec-centroid,reranker-cohere,qna-openai
      CLUSTER_HOSTNAME: node1
    volumes:
      - weaviate-data:/var/lib/weaviate
    networks:
      - ruoyi-net

  # MinIO 对象存储
  minio:
    image: minio/minio
    container_name: ruoyi-ai-minio
    restart: always
    ports:
      - "9000:9000"
      - "9090:9090"
    environment:
      MINIO_ROOT_USER: ruoyi
      MINIO_ROOT_PASSWORD: ruoyi123
    volumes:
      - minio-data:/data
    command: server /data --console-address ":9090"
    networks:
      - ruoyi-net

  # # RuoYi-AI 后端服务 (源码编译)
  # backend:
  #   build:
  #     context: .
  #     dockerfile: Dockerfile.backend
  #   container_name: ruoyi-ai-backend
  #   restart: always
  #   ports:
  #     - "26039:6039"
  #   environment:
  #     TZ: Asia/Shanghai
  #     # MySQL 配置
  #     SPRING_DATASOURCE_DYNAMIC_PRIMARY: master
  #     SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_DRIVERCLASSNAME: com.mysql.cj.jdbc.Driver
  #     SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_URL: jdbc:mysql://mysql:3306/ruoyi-ai-agent?useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&serverTimezone=GMT%2B8&autoReconnect=true&rewriteBatchedStatements=true
  #     SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_USERNAME: root
  #     SPRING_DATASOURCE_DYNAMIC_DATASOURCE_MASTER_PASSWORD: root
  #     # Redis 配置
  #     SPRING_DATA_REDIS_HOST: redis
  #     SPRING_DATA_REDIS_PORT: 6379
  #     SPRING_DATA_REDIS_DATABASE: 0
  #     # 日志配置
  #     LOGGING_LEVEL_ORG_RUOYI: info
  #     LOGGING_LEVEL_ORG_SPRINGFRAMEWORK: warn
  #     SYS_UPLOAD_PATH: /ruoyi/upload   # 新增:对应 sys.upload.path
  #   volumes:
  #     - logs-data:/ruoyi/server/logs
  #     - upload-data:/ruoyi/upload
  #   depends_on:
  #     mysql:
  #       condition: service_healthy
  #     redis:
  #       condition: service_started
  #   networks:
  #     - ruoyi-net

networks:
  ruoyi-net:
    driver: bridge

# 数据卷 支持手动指定 空为默认值
volumes:
  mysql-data:
  redis-data:
  weaviate-data:
  minio-data:
  logs-data:
  upload-data:

第二步

配置mysql数据,先安装mysql工具

docker run -d --name dbgate --network ruoyi-ai_ruoyi-net -p 3000:3000 -v dbgate_data:/root/.dbgate dbgate/dbgate

第三步

启用MinIO

docker exec ruoyi-ai-mysql mysql -uroot ruoyi-ai-agent -e "UPDATE sys_oss_config SET status=0 WHERE config_key='minio'; UPDATE sys_oss_config SET status=1 WHERE config_key='qcloud';"

创建桶

docker exec ruoyi-ai-minio sh -c "mc alias set local http://localhost:9000 ruoyi ruoyi123 && mc mb local/ruoyi --ignore-existing && mc anonymous set download local/ruoyi"

docker exec ruoyi-ai-minio mc mb local/image --ignore-existing && docker exec ruoyi-ai-minio mc anonymous set download local/image && docker exec ruoyi-ai-minio mc ls local/

第四步

启动java端侧