手动安装部署示例(ARM版)
本文档以 CentOS/RedHat 系统为示例进行部署,麒麟V10 和华为欧拉系统也可参照使用;Debian 系列系统的区别将单独注明。
一、环境准备
-
准备一台 Linux 服务器,最低配置要求:8核、32G内存、40G数据盘(系统盘除外),更多推荐 ,确保
8880
、38880
、38881
端口不被占用 -
使用 root 用户登录服务器
-
如果服务器有数据盘,请在部署前将数据盘挂载到 /data 目录,或在安装时修改数据的默认存储路径为你的数据盘所挂载路径
-
关闭 Firewalld
systemctl stop firewalld && systemctl disable firewalld
-
关闭 SELinux
setenforce 0
sed -i s/"^SELINUX=.*$"/"SELINUX=disabled"/g /etc/selinux/config
-
调整 MaxMapCount
sysctl -w vm.max_map_count=262144
grep -q '^vm.max_map_count' /etc/sysctl.conf && sed -i 's/^vm.max_map_count.*/vm.max_map_count=262144/' /etc/sysctl.conf || echo 'vm.max_map_count=262144' >> /etc/sysctl.conf
-
调整 SysFileNr
sysctl -w fs.file-max=2048000
grep -q '^fs.file-max' /etc/sysctl.conf && sed -i 's/^fs.file-max.*/fs.file-max=2048000/' /etc/sysctl.conf || echo 'fs.file-max=2048000' >> /etc/sysctl.conf
-
调整 IPv4Forward
sysctl -w net.ipv4.ip_forward=1
grep -q '^net.ipv4.ip_forward' /etc/sysctl.conf && sed -i 's/^net.ipv4.ip_forward.*/net.ipv4.ip_forward=1/' /etc/sysctl.conf || echo 'net.ipv4.ip_forward=1' >> /etc/sysctl.conf
-
如果操作系统是 Debian 10 以上版本,请先通过
iptables --version
命令检查是否有 iptables;如果没有 iptables 则需要安装,参考命令如下(需服务器能访问互联网):
apt-get update
apt install -y iptables
二、Docker 安装
-
下载 docker 安装包
- 服务器支持访问互联网
- 服务器不支持访问互联网
wget https://pdpublic.nocoly.com/offline/common/arm64/docker-24.0.9.tgz
# docker 安装包文件下载链接,下载完成后上传到部署服务器
https://pdpublic.nocoly.com/offline/common/arm64/docker-24.0.9.tgz -
解压,并将文件移动到二进制文件目录
tar -zxvf docker-24.0.9.tgz
mv -f docker/* /usr/local/bin/
-
创建 docker 配置文件
默认 docker 数据目录在 /data/docker,如果需要修改默认数据目录,请修改配置文件中的 data-root 值
mkdir -p /etc/docker/
cat > /etc/docker/daemon.json <<EOF
{
"registry-mirrors": ["https://uvlkeb6d.mirror.aliyuncs.com"],
"data-root": "/data/docker",
"max-concurrent-downloads": 10,
"exec-opts": ["native.cgroupdriver=cgroupfs"],
"storage-driver": "overlay2",
"default-address-pools":[{"base":"172.80.0.0/16","size":24}]
}
EOF -
配置 systemd 管理 docker
cat > /etc/systemd/system/docker.service <<EOF
[Unit]
Description=Docker
After=network-online.target
Wants=network-online.target
[Service]
Type=notify
ExecStart=/usr/local/bin/dockerd
ExecReload=/bin/kill -s HUP \$MAINPID
LimitNOFILE=102400
LimitNPROC=infinity
LimitCORE=0
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s
[Install]
WantedBy=multi-user.target
EOF -
启动 docker
systemctl daemon-reload && systemctl start docker && systemctl enable docker
三、单机版本安装
-
下载镜像(离线包下载)
docker pull nocoly/hap-community-arm64:5.8.0
docker pull nocoly/hap-sc-arm64:3.0.0
docker pull nocoly/hap-command-arm64:node2011-python312
docker pull nocoly/hap-doc-arm64:1.2.0
-
下载管理器
wget https://pdpublic.nocoly.com/5.8.0/hap_captain_linux_arm64.tar.gz
-
创建目录,并解压管理器到新创建的目录下
mkdir /usr/local/MDPrivateDeployment/
tar -zxvf hap_captain_linux_arm64.tar.gz -C /usr/local/MDPrivateDeployment/
-
进入管理器所在目录,启动管理器
cd /usr/local/MDPrivateDeployment/
bash ./service.sh start
-
启动成功后在浏览器中通过
http://{服务器IP}:38881
进行访问,完成系统访问地址设置及初始化(初始化过程持续约 5 分钟左右)