openEuler-24.03 ARM64 源码编译 RedisInsight
- 一、编译环境
- 二、安装依赖
-
- 2.1、系统依赖
- [2.2、安装 node](#2.2、安装 node)
- [2.3、安装 yarn](#2.3、安装 yarn)
- 三、编译安装
-
- [3.1、下载 RedisInsight 源码](#3.1、下载 RedisInsight 源码)
- 3.2、编译源码构建
- [3.2、清理 yarn 缓存](#3.2、清理 yarn 缓存)
- [3.3、运行 RedisInsight](#3.3、运行 RedisInsight)
- [3.4、访问 RedisInsight](#3.4、访问 RedisInsight)
- [四、构建 docker 镜像](#四、构建 docker 镜像)
一、编译环境
QEMU 模拟 ARM64 命令
bash
qemu-system-aarch64 -m 8g -cpu neoverse-n2 -smp 8,cores=8,threads=1,sockets=1 -M virt -bios E:\VMware\openEuler-24.03-LTS-SP2-aarch64\QEMU_EFI.fd -net nic -net tap,ifname=tap1212 -device nec-usb-xhci -device usb-kbd -device usb-mouse -device VGA -drive if=none,file=E:\VMware\openEuler-24.03-LTS-SP2-aarch64\openEuler-24.03-LTS-SP2-aarch64.img,id=hd0 -device virtio-blk-device,drive=hd0
操作系统:openEuler-24.03-LTS-SP2-aarch64
node 版本:v24.12.0-linux-arm64
Python 版本:3.11.6
二、安装依赖
2.1、系统依赖
bash
dnf update -y
dnf install -y gcc gcc-c++ make cmake git wget vim tar xz zip unzip
dnf install -y rpm-build rpmdevtools dnf-plugins-core
2.2、安装 node
bash
mkdir -p /app
cd /app
wget -O node-v24.12.0-linux-arm64.tar.xz https://nodejs.org/dist/v24.12.0/node-v24.12.0-linux-arm64.tar.xz
xz -d node-v24.12.0-linux-arm64.tar.xz
tar -xvf node-v24.12.0-linux-arm64.tar
bash
vim /etc/profile
bash
#Node
export NODE_HOME=/app/node-v24.12.0-linux-arm64
export PATH=$NODE_HOME/bin:$PATH
bash
source /etc/profile
bash
node -v
npm -v

2.3、安装 yarn
bash
# 设置为国内源
npm config set registry https://registry.npmmirror.com
npm install -g yarn
yarn --version
yarn config set registry https://registry.npmmirror.com

三、编译安装
3.1、下载 RedisInsight 源码
bash
cd /app
# 方式1
git clone https://github.com/RedisInsight/RedisInsight.git
cd RedisInsight
# 方式2
wget -O RedisInsight.zip https://github.com/redis/RedisInsight/archive/refs/heads/main.zip
unzip RedisInsight.zip
cd RedisInsight
npm 国内源加速
bash
#切换到源码根目录下RedisInsight
touch .npmrc
vim .npmrc
输入以下内容
bash
electron_mirror=https://npmmirror.com/mirrors/electron/
registry=https://registry.npmmirror.com/
electron_builder_binaries_mirror=https://npmmirror.com/mirrors/electron-builder-binaries/
3.2、编译源码构建
bash
cd /app/RedisInsight
#安装依赖
yarn install
#安装api依赖
yarn --cwd redisinsight/api install
#构建web ui资源
yarn build:ui
yarn build:statics
yarn build:api
#构建生产
yarn --cwd redisinsight/api install --production

注意: 执行命令 build:statics 时,会实时下载github的文件,如果一直连不上github,建议下载到对象存储然后替换链接
链接在文件:redisinsight/api/config/default.ts


3.2、清理 yarn 缓存
bash
cp redisinsight/api/.yarnclean.prod redisinsight/api/.yarnclean
yarn --cwd redisinsight/api autoclean --force

3.3、运行 RedisInsight
bash
node redisinsight/api/dist/src/main


3.4、访问 RedisInsight
IP改为你自己的IP:http://192.168.137.157:5540




四、构建 docker 镜像
4.1、Dockerfile
bash
FROM openeuler/openeuler:24.03-lts-sp3
RUN mkdir -p /app
WORKDIR /app
USER root
#安装提供 groupadd、useradd等命令的软件包
RUN dnf update -y && \
dnf install -y libsecret && \
dnf install -y shadow-utils
RUN groupadd -r node -g 1000 && \
useradd -r -u 1000 -g node -d /home/node -m node
COPY ./node-v24.12.0-linux-arm64 ./node-v24.12.0-linux-arm64
COPY ./docker-entry.sh ./
RUN chmod +x docker-entry.sh
RUN chown -R node:node docker-entry.sh
COPY ./redisinsight/api/dist ./redisinsight/api/dist
COPY ./redisinsight/api/node_modules ./redisinsight/api/node_modules
COPY ./redisinsight/ui/dist ./redisinsight/ui/dist
RUN chown -R node:node ./redisinsight
RUN mkdir -p /data && chown -R node:node /data
EXPOSE 5540
USER node
ENTRYPOINT ["./docker-entry.sh", "/app/node-v24.12.0-linux-arm64/bin/node", "redisinsight/api/dist/src/main"]
4.2、构建命令
bash
cd ~
cp -rf /app/node-v24.12.0-linux-arm64 ~/
cp -rf /app/RedisInsight/redisinsight ~/
touch Dockerfile
docker build --platform linux/arm64 -f ~/Dockerfile -t redisinsight/openeuler-arm64:3.0.0 .

4.3、运行容器
bash
docker run -dit -p 5540:5540 --name redisinsight redisinsight/openeuler-arm64:3.0.0

