From 43f477a0cc32c7aa64aa6cbb04899ae6c8dd33aa Mon Sep 17 00:00:00 2001 From: chaos-zhu Date: Mon, 29 Jul 2024 14:33:40 +0800 Subject: [PATCH] =?UTF-8?q?:construction=5Fworker:=20=E6=9B=B4=E6=96=B0doc?= =?UTF-8?q?ker=E9=95=9C=E5=83=8F=E6=9E=84=E5=BB=BA&=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .dockerignore | 15 ++++++- Dockerfile | 1 + README.md | 29 +++++-------- easynode-server-install.sh | 83 ++++++++++++++++++++++++++++++++++++++ 4 files changed, 107 insertions(+), 21 deletions(-) create mode 100644 easynode-server-install.sh diff --git a/.dockerignore b/.dockerignore index a4c101d..e33a3cb 100644 --- a/.dockerignore +++ b/.dockerignore @@ -1,2 +1,15 @@ node_modules -doc_images +!.gitkeep +dist +easynode-server.zip +server/app/static/* +server/app/socket/sftp-cache/* +!server/app/socket/sftp-cache/.gitkeep +server/app/logs/* +server/app/db/* +!server/app/db/README.md +plan.md +.env +.env.local +.git +doc_images \ No newline at end of file diff --git a/Dockerfile b/Dockerfile index 62fca29..d062a23 100644 --- a/Dockerfile +++ b/Dockerfile @@ -5,6 +5,7 @@ RUN yarn WORKDIR /easynode/web RUN yarn build +RUN find ../server/app/static -type f ! -name '.gitkeep' -exec rm -f {} + RUN mv dist/* ../server/app/static WORKDIR /easynode/server diff --git a/README.md b/README.md index dd3b90c..2f9caaf 100644 --- a/README.md +++ b/README.md @@ -12,15 +12,8 @@ - [功能简介](#功能简介) - [安装指南](#安装指南) - [服务端安装](#服务端安装) - - [Docker镜像](#docker镜像) - - [一键脚本](#一键脚本[暂未编写]) - [客户端安装](#客户端安装) - - [X86架构](#x86架构) - - [ARM架构](#arm架构) - - [升级指南](#升级指南) - - [服务端](#服务端) - - [客户端](#客户端) - - [版本日志](#版本日志) + - [版本日志](#版本日志) - [安全与说明](#安全与说明) - [开发](#开发) - [Q&A](#qa) @@ -41,9 +34,7 @@ ### 服务端安装 -- 依赖Node.js环境 - -- 占用端口:8082(http端口)、22022(客户端端口) +- 占用端口:8082 推荐使用docker镜像安装 #### Docker镜像 @@ -52,7 +43,7 @@ docker run -d --net=host --name=easynode-server -v $PWD/easynode/db:/easynode/se ``` 访问:http://yourip:8082 - +- 删除服务:`pm2 delete easynode-server` --- ### 客户端安装 -- 占用端口:22022 +- 客户端用于实时向服务端推送**系统、公网IP、CPU、内存、硬盘、网卡**等基础信息,不安装不影响使用面板,但是无法实时同步基础信息。 + +- 占用端口:**22022** #### X86架构 @@ -105,11 +98,7 @@ wget -qO- --no-check-certificate https://mirror.ghproxy.com/https://raw.githubus --- -## 升级指南 - -2.0版本无论前后端均作了大量的重构工作,1.0版本**不支持**升级到2.0版本 - -### 版本日志 +## 版本日志 - [CHANGELOG](./CHANGELOG.md) diff --git a/easynode-server-install.sh b/easynode-server-install.sh new file mode 100644 index 0000000..b370fb3 --- /dev/null +++ b/easynode-server-install.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +if [ "$(id -u)" != "0" ] ; then + echo "***********************请切换到root再尝试执行***********************" + exit 1 +fi + +echo "***********************检测node环境***********************" +node -v +if [ $? != 0 ] +then + echo "未安装node运行环境" + exit 1 +fi +echo "已安装" + +echo "***********************检测node版本***********************" +NODE_VERSION=$(node -v) +NODE_VERSION=${NODE_VERSION//v} +VERSION_MAJOR=${NODE_VERSION%%.*} +if [ $VERSION_MAJOR -lt 20 ] +then + echo "Node版本低于20,退出安装,推荐使用nvm安装nodejs: https://github.com/nvm-sh/nvm#installing-and-updating" + exit 1 +fi +echo "已安装(nodejs - $NODE_VERSION)" + +echo "***********************检测pm2守护进程***********************" +pm2 list +if [ $? != 0 ] +then + echo "未安装pm2,正在安装..." + npm i -g pm2 +fi +echo "已安装" + +echo "***********************开始下载EasyNode***********************" + +DOWNLOAD_FILE_URL="https://mirror.ghproxy.com/https://github.com/chaos-zhu/easynode/releases/download/v2.0.0/easynode-server.zip" +SERVER_NAME=easynode-server +SERVER_ZIP=easynode-server.zip +FILE_PATH=/root +wget -O ${FILE_PATH}/${SERVER_ZIP} --no-check-certificate --no-cache ${DOWNLOAD_FILE_URL} + +if [ $? != 0 ] +then + echo "下载EasyNode.zip失败,请检查网络环境或稍后再试" + exit 1 +fi +echo "下载成功" + +echo '***********************开始解压***********************' + +unzip -o -d ${FILE_PATH}/${SERVER_NAME} ${SERVER_ZIP} +if [ $? != 0 ] +then + echo "解压失败, 请确保已安装zip、tar基础工具" + exit 1 +fi +echo "解压成功" + +cd ${FILE_PATH}/${SERVER_NAME} || exit + +# echo '***********************开始安装依赖***********************' +# yarn -v +# if [ $? != 0 ] +# then +# echo "未安装yarn管理工具,正在安装..." +# npm i -g yarn +# fi +# yarn +# if [ $? != 0 ] +# then +# echo "yarn安装失败,请检测网络环境. 使用大陆vps请执行以下命令设置镜像源,再重新运行该脚本:npm config set registry https://registry.npm.taobao.org +# " +# fi +# echo "依赖安装成功" + +echo '启动服务' + +pm2 start ${FILE_PATH}/${SERVER_NAME}/index.js --name easynode-server + +echo '查看日志请输入: pm2 log easynode-server'