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

推荐订阅源

MongoDB | Blog
MongoDB | Blog
V
V2EX
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
有赞技术团队
有赞技术团队
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
罗磊的独立博客
月光博客
月光博客
爱范儿
爱范儿
D
Docker
U
Unit 42
P
Proofpoint News Feed
I
InfoQ
腾讯CDC
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
L
LangChain Blog
V
Visual Studio Blog
IT之家
IT之家
Vercel News
Vercel News
G
Google Developers Blog
M
MIT News - Artificial intelligence
美团技术团队
The GitHub Blog
The GitHub Blog
阮一峰的网络日志
阮一峰的网络日志
MyScale Blog
MyScale Blog

钟意博客

国家统计局数据查询 MCP 照见·硅·肆 涌现之前 照见·硅·叁 换行重启 照见·硅·贰 钢筋水泥 照见·硅·壹 你好世界 照见·硅·零 序言 大语言模型的不确定性 胶东半岛观察 海光 K100 DCU VLLM 推理环境构建 博客多平台负载均衡方案 浅谈RAG Web技术构建桌面应用方案 Spring WebSocket 错误 SpringBoot WebSocket 代理模式、客户端模式 Spring AOP 调用自身失效 window 端口占用但是查不到 Coze同插件不同工具之间代码复用 Pachelbel's Greatest Hit: The Ultimate Canon - 纪念帕海贝尔:终极卡农 圣诞快乐,劳伦斯先生 Merry Christmas Mr. Lawrence
科艺知识库 ARM64
钟意 · 2025-12-02 · via 钟意博客

前言

因某些需求需要一款文档管理与索引工具, 遂相中了科艺知识库, 并且构建了一份科艺知识库 arm64 架构版的, 记录构建过程.

部署

部署先放前面, 防止未来有急切的看客.

  1. 克隆源码:

  2. Docker 编排:

    1
    2
    3
    4
    5
    6
    7
    8
    # 克隆代码
    git clone https://git.thatcdn.cn/open/kykms.git

    # 工作目录
    cd ./kykms/deploy

    # 启动编排: 镜像已经适配 amd64/arm64 双版本 根据平台自动拉取
    docker compose up -d

构建

若看客系统架构非 amd64/arm64, 可参考构建过程.

elasticsearch

  1. 在 kykms/deploy/ES 目录下 Dockerfile 文件可知, arm64 架构没有 elasticsearch:7.6.1 版本, 遂换成 7.8.1
  2. 相应的 ES 目录下 elasticsearch.tar 打包的 analysis-ik 这个插件也需要换成对应的版本, 这个网址有存档 analysis-ik 全版本 => analysis-ik-all
  3. 下载对应的 analysis-ik.zip 解压再压缩为 analysis-ik.tar 替换原来的, 注意压缩包展开就是全部文件, 不要封一层目录.
  4. 至此修改 Dockerfile 并且构建得到 kykms-es
    es-build
    1
    2
    3
    4
    5
    6
    # 更新对应镜像
    FROM elasticsearch:7.8.1
    # 利用 ADD 自动解压到目标目录
    ADD elasticsearch.tar /usr/share/elasticsearch/plugins/analysis-ik
    # 默认工作目录,以免影响 ES 启动
    WORKDIR /usr/share/elasticsearch

mysql

在 kykms/deploy/DB 目录下 Dockerfile, 检查 mysql:5.7 是否有对应架构版本. 直接构建得到 kykms-mysql

redis

随便用一个版本为6就行, 构建得到 kykms-redis

web

  1. 在 kykms/ant-design-vue-jeecg 目录下用node构建前端项目得到 dist
  2. 构建镜像得到 kykms-web

api

  1. 在 kykms/jeecg-boot 目录下用maven/java构建后端项目得到 jar, 用 java8 的基础镜像安装libreoffice库 (WORD转PDF的). 我的建议是随便一个amd设备运行 registry.cn-guangzhou.aliyuncs.com/kyxxjs/kykms:comm 取得对应的 jar 和 字体, 省去构建过程.
  2. 构建镜像得到 kykms-api
    api-build
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    FROM docker.io/eclipse-temurin:8u472-b08-jdk
    LABEL maintainer="Joney K."
    # 因为是 ARM64 架构,apt 源必须指向 ports.ubuntu.com
    # 显式替换为对应架构加速源
    RUN sed -i 's/archive.ubuntu.com/ports.ubuntu.com/g' /etc/apt/sources.list && \
    sed -i 's/security.ubuntu.com/ports.ubuntu.com/g' /etc/apt/sources.list && \
    apt-get update && \
    apt-get install -y --no-install-recommends libreoffice fontconfig && \
    apt-get clean && \
    rm -rf /var/lib/apt/lists/*
    COPY ./simsun.ttc /usr/share/fonts/simsun.ttc
    RUN fc-cache -fv
    WORKDIR /kykms
    COPY ./jeecg-boot-module-system-2.4.5.jar ./app.jar
    EXPOSE 8080
    CMD ["java", "-Dfile.encoding=utf-8", "-jar", "app.jar"]

编排

替换 kykms/deploy/docker-compose.yml 里面的 image, 都换成新构建的即可