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


相关推荐
peng_YuJun5 天前
openEuler 虚拟机从零到一:完整部署指南
linux·运维·服务器·vmware·openeuler
Re_Virtual11 天前
OpenEuler 20.03构建zabbix7.0 rpm包
linux·zabbix·openeuler
virtualzzf16 天前
OpenEuler 20.03构建zabbix8.0 rpm包
zabbix·openeuler·rpm·linxu
程序员一点16 天前
第9章:软件包管理(DNF 与 RPM)
linux·运维·openeuler
懒神降世17 天前
基于iVentoy的PXE服务器的部署实战指南
运维·服务器·开发语言·云原生·vmware·openeuler·iventoy
小草cys24 天前
鲲鹏920服务器安装openEuler后无法联网,但物理网线已连接
运维·服务器·openeuler
lightningyang1 个月前
OpenEuler环境部署面向汽车场景的操作系统AGL
openeuler·天枢一体化虚拟仿真平台·agl·汽车操作系统
程序员一点1 个月前
第3章:首次启动与基础配置
操作系统·openeuler
lightningyang1 个月前
DVWA 在 openEuler 系统的安装部署
docker·渗透测试·openeuler·dvwa·天枢一体化虚拟仿真靶场平台
lightningyang1 个月前
vulhub 在 openEuler 系统的安装部署
openeuler·vulhub·天枢一体化虚拟仿真平台