openEuler-24.03 ARM64 源码编译 RedisInsight

openEuler-24.03 ARM64 源码编译 RedisInsight

一、编译环境

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


相关推荐
金士顿3 天前
ASP.NET Core Native AOT + systemd 实战:把 Linux ARM64 程序变成可靠的设备服务
linux·嵌入式·asp.net core·arm64
金士顿4 天前
System.Text.Json Source Generator 深度解析:为什么 Native AOT 不喜欢反射
linux·asp.net core·arm64·net·native aot
liferecords5 天前
第 8 讲 · oeAware 与中断绑核:把手工调优自动化
openeuler·鲲鹏·oeaware·中断绑核·自动调优
芝麻糊765 天前
Ubuntu 26.04 ARM64 下 AIC8800 USB Wi-Fi 6 网卡驱动安装实战:从 make 缺失到驱动编译成功
网卡·arm64·aarch64·长城电脑
liferecords6 天前
第 5 讲 · 内存模型:复现一个“x86 能跑、ARM 挂掉“的 bug 并修好它
arm64·鲲鹏·内存模型·内存屏障·原子操作
金士顿7 天前
ASP.NET Core BackgroundService 深度解析:设备后台任务到底应该怎么设计
linux·嵌入式·asp.net core·arm64
openEuler社区16 天前
openEuler 社区 2026 年 1-2月运作报告
开源·操作系统·openeuler·openeuler社区运作报告
赵文宇(温玉)16 天前
OpenEuler24.03 SP4安装Rancher时遇到cgroupv2和iptables问题的经验
iptables·rancher·openeuler·cgroupv2
赵文宇(温玉)1 个月前
OpenEuler24.03 SP4 系统安装(欧拉/麒麟V10)
linux·openeuler·欧拉
神秘剑客_CN2 个月前
openEuler 22.03安装openGauss 6.0
linux·opengauss·openeuler