2026-03-26 17:54:22 +08:00
2026-03-26 17:48:20 +08:00
2026-03-26 17:53:55 +08:00
2026-02-04 13:58:18 +08:00
2025-11-10 18:09:34 +08:00
2026-03-26 17:54:22 +08:00
2026-02-04 14:03:51 +08:00
2026-02-04 14:03:51 +08:00

主干AI实验室

一、技术栈

  • 前端

    • VueVben Admin作为框架
      • 开发语言:TypeScript/JavaScript
  • 后端

    • Ktor:业务后端
      • 开发语言:Java/Kotlin
    • FastAPI:实验室AI模块后端程序
      • 开发语言:Python
    • RabbitMQ:消息队列
  • 中间件

    • 牧安云哨IoT中间件
      • 开发语言:Go
  • 人工智能

    • LangChain:自定义LLM流程核心
    • LangGraphAgent构建核心
    • YOLO:目标检测模型
    • DeepStream:视频流分析框架
      • 开发语言:C++/Python
  • 数据库

    • Redis:内存数据库
    • PostgreSQL:实验室业务数据库
    • Milvus:实验室向量数据库
    • SQLServerF8业务数据库
  • 对象存储服务器

    • MinIO:实验室对象存储服务器
  • 运维

    • Docker:项目部署
    • Nginx:前端项目(AI实验室、机器人测试)部署
    • Kong: 网关
    • Prometheus:服务监控
    • Grafana:数据可视化
    • EMQXMQTT服务
  • 硬件

    • 树莓派Raspberry Pi 5 16G
    • JetsonNVIDIA Jetson Nano 8G

二、端口使用

公网域名 ai.ronsunny.cn
公网IP 171.212.101.200
内网地址 10.10.12.101
虚拟机管理地址root: 10.10.12.100
协议 公网端口 内网端口 docker端口 docker服务/Host 技术栈 功能作用
https 13011 13011 13011 Harbor Harbor Harbor管理界面admin:Bbit000000
8091 ce_vue Vue Vue前端服务-AI实验室
8089 Ktor 实验室业务后端,使用systemctl启动
13011 ce_pybackend FastAPI 实验室AI后端
5432 5432 ce_postgres PostgreSQL PostgreSQL数据库,postgres:123456
6379 6379 ce_redis Redis Radis数据库,无验证
2379 ce_etcd Etcd EtcdKey-Value 存储,给ce_milvus使用
https 9000 9000 9000 ce_minio MinIO MinIO数据访问
9001 9001 ce_minio MinIO MinIO管理界面minioadmin:minioadmin
19530 19530 ce_milvus Milvus Minvus数据访问
9091 9091 ce_milvus Milvus Minvus管理界面,需要加/webui,无需登录
3000 3000 ce_attu Attu Minvus Attu管理界面,无需密码
https 8090 8090 8090 ce_kong Kong Kong网关
8001 8001 ce_kong Kong Kong Admin API
8002 8002 ce_kong Kong Kong管理界面,无需登录
8444 8444 ce_kong Kong Kong Admin API 的 HTTPS 端口
8088 ws-scrcpy Android远程框架
5672 5672 ce_rabbitmq RabbitMQ RabbitMQ 客户端连接端口
15672 15672 ce_rabbitmq RabbitMQ RabbitMQ管理界面admin:123456
9323 9323 Docker Docker debug端口
3001 3001 ce_grafana Grafana Grafana管理界面admin:123456
9090 9090 ce_prometheus Prometheus Prometheus监控/管理界面,无需登录
9121 ce_redis_exporter Prometheus Prometheus监控Radis的工具
9187 ce_postgres_exporter Prometheus Prometheus监控PostgreSQL的工具
9100 host ce_node_exporter Prometheus Prometheus监控主机的工具
8000 8000 ce_bot_server xiaozhi-esp32-server 小智AI服务ws端口
8003 8003 ce_bot_server xiaozhi-esp32-server 小智AI服务http端口
8005 8002 ce_bot_web xiaozhi-esp32-server 小智管理界面admin:Bbit000000
8092 8092 ce_bot_test xiaozhi-esp32-server 小智服务器测试页面
8004 8004 ce_bot_mcp mcp-endpoint-server 小智MCP接入点
https 8094 8094 8080 CVAT CVAT CVAT管理界面bbit:bbit
18083 18083 ce_emqx EMQX EMQX管理界面admin:Bbit000000
8093 1883 ce_emqx EMQX MQTT TCP 端口
https 8093 8883 8883 ce_emqx EMQX MQTT TCP TLS 端口
8083 8083 ce_emqx EMQX MQTT WS 端口
8084 8084 ce_emqx EMQX MQTT WS TLS 端口

三、新部署

3.1 ktor

  1. 将Ktor程序运行installDist打包程序。

  2. 将程序覆盖于服务器/opt/final/ktor文件夹

  3. 重启服务

    sudo systemctl restart ktor.service
    
    sudo systemctl status ktor.service
    

3.2 FastAPI

  1. 打包镜像:运行Dockerfile

    docker build -t ce_pybackend .
    
  2. 打标签

    docker tag ce_pybackend:latest s1.ronsunny.cn:13011/bbit_ai/ce_pybackend:latest
    docker tag ce_pybackend:latest s1.ronsunny.cn:13011/bbit_ai/ce_pybackend:1.5
    
  3. 推送镜像

    docker push s1.ronsunny.cn:13011/bbit_ai/ce_pybackend:1.5
    docker push s1.ronsunny.cn:13011/bbit_ai/ce_pybackend:latest
    
  4. (服务器)重启Compose

    docker-compose pull backend
    
    docker compose up -d
    

3.3 Vue

  1. 打包项目

    pnpm build:antd
    
  2. 打包镜像:运行Dockerfile

    docker build -t ce_vue .
    
  3. 打标签

    docker tag ce_vue:latest s1.ronsunny.cn:13011/bbit_ai/ce_vue:latest
    docker tag ce_vue:latest s1.ronsunny.cn:13011/bbit_ai/ce_vue:1.1.0
    
  4. 推送镜像

    docker push s1.ronsunny.cn:13011/bbit_ai/ce_vue:1.1.0
    docker push s1.ronsunny.cn:13011/bbit_ai/ce_vue:latest
    
  5. (服务器)重启Compose

    docker-compose pull vue
    docker compose up -d
    

3.4 更新并重启Compose

docker compose down
docker compose pull vue backend
docker compose up -d

docker image prune -f

四、配置

  • 安装顺序

    1. 安装docker
    2. 运行基本环境infra-compose.yaml
    3. 安装Harbor
    4. 推送镜像
    5. 运行前后端程序docker-compose.yaml
  • Harbor

    1. 添加用户

    2. 添加仓库

    3. 添加仓库用户使用权限

    4. (2x客户端)登录

      docker login ai.ronsunny.cn:13011
      
  • Prometheus

    1. 设置docker metrics配置文件

      {
        "registry-mirrors": [
          "https://docker.m.daocloud.io",
          "https://mirror.baidubce.com",
          "https://docker.nju.edu.cn"
        ],
        "metrics-addr": "10.10.10.9:9323",
        "experimental": true,
        "insecure-registries": ["s1.ronsunny.cn:13011"]
      }
      
    2. 重启docker

      sudo systemctl restart docker
      
  • RabbitMQ

    1. 添加用户
    2. 添加Vhost
  • [Grafana][https://grafana.com/grafana/dashboards/]

    1. 创建Prometheus数据源

    2. 增加配置

      项目 代码 描述
      MinIO 13502
      Docker 9621
      PostgreSQL 9628
      主机 1860
      RabbitMQ 10991
      Redis 11835
      Prometheus 19268
      主机 中文版 8919
      Kong 7424
  • MinIO

    Minio 交换机路由配置
    交换机video_exchange 
    路由/sca
    队列/sca_queue
    

五、其他

docker 权限

sudo groupadd docker

sudo usermod -aG docker kaijihar

newgrp docker

旧部署

后端

ktor

  1. 将Ktor程序运行installDist打包程序。

  2. 将程序覆盖于服务器/opt/final/ktor文件夹

  3. 将项目目录server/service的ktor.service文件置于服务器/etc/systemd/system/目录

  4. 输入命令使服务开机自启

    sudo systemctl enable ktor.service
    sudo systemctl status ktor.service
    
    
    sudo systemctl restart ktor.service
    

python

  1. 打包Docker

    docker build -t ce_pybackend .
    
  2. 保存Image为文件

    docker save -o ce-pybackend.tar ce_pybackend
    
  3. 将保存好的Imagece-pybackend.tar上传到服务器

  4. 删除服务器的旧版镜像

    docker rmi  ce_pybackend:latest
    
  5. 读取上传的新镜像

    docker load -i ce_pybackend.tar
    

其他命令:

  • 测试运行docker

    docker run -d -p 13011:13011 ce_pybackend
    
  • 调试运行项目

    uvicorn app:app --reload --host 0.0.0.0 --port 13011
    
  • docker日志查看

    docker logs -f ce_pybackend
    

前端

直接在wsl中build,不要install

  1. 在vue目录运行docker打包命令

    pnpm build:docker
    
  2. 将Image保存为文件

    docker save -o vue.tar ce_vue
    
  3. 将保存好的Imagevue.tar上传到服务器

  4. 停掉之前的docker compose

    docker-compose down
    
  5. 删除之前的Image

    docker rmi  ce_vue:latest
    
  6. 在服务器读取Image

    docker load -i vue.tar
    
  7. 重新运行

    docker compose up -d
    

docker

内网地址

windowshost.docker.internal

Linuxip addr show docker0 查看

相关命令

查看所有镜像

docker images

删除镜像

docker rm 

删除容器

docker rmi 镜像名:Tag

删除无用镜像

docker image prune

Vue项目使用

  • 本地运行dist文件夹
npm install -g http-server
cd dist
http-server -p 8080
  • VBen项目运行方法
  1. 下载最新node

  2. 开发

    # 进入项目目录
    cd vue-vben-admin
    
    # 使用项目指定的pnpm版本进行依赖安装
    npm i -g corepack
    
    # 安装依赖
    pnpm install
    # 启动项目
    pnpm dev
    
  3. 本地部署

    构建
    pnpm build
    
    预览
    pnpm preview
    

[https://grafana.com/grafana/dashboards/]:

S
Description
主干AI实验室
Readme 133 MiB
Languages
Vue 39.2%
Python 30%
TypeScript 21.8%
Kotlin 5.4%
CSS 1.2%
Other 2.2%