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


相关推荐
淼淼爱喝水11 天前
OpenEuler 操作系统期末复习:核心命令汇总
linux·考试·openeuler
淼淼爱喝水11 天前
OpenEuler 系统下 Ansible 环境部署与连通性测试完整步骤
linux·开发语言·php·openeuler
淼淼爱喝水12 天前
openEuler 下 Ansible 模块缺失 / 损坏后重装完整教程
linux·openeuler·技术实操
向上的车轮12 天前
初始安装openEuler后,openEuler如何启用网卡?
openeuler
淼淼爱喝水13 天前
openEuler 系统下 Ansible 一键安装教程(保姆级)
运维·ansible·openeuler
PascalMing16 天前
openEuler 25.09 安装 .NET 10(二进制 tar.gz 包)教程
.net·openeuler
时空未宇19 天前
Hi3403开发板 + openEuler Embedded 部署 openClaw + 飞书
人工智能·openeuler·openclaw·hi3403
程序员一点20 天前
第24章:openEuler 内核与模块管理
arm开发·openeuler
程序员一点1 个月前
第23章:备份与灾难恢复策略
linux·运维·网络·数据库·openeuler
江湖有缘1 个月前
基于华为openEuler系统部署MicroBin粘贴板工具
华为·docker·华为云·openeuler