Skip to content

Commit 81e40cd

Browse files
authored
Add functions to install script (#32)
* fix: sync port * feat: remove old docker images * docs: update README * docs: update README * feat: add ddns & traffic sync change * feat: change sync unit to minute * fix: auto remove old images * feat: update install script * feat: add fastgit mirror
1 parent e4df74e commit 81e40cd

File tree

2 files changed

+79
-23
lines changed

2 files changed

+79
-23
lines changed

README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -19,9 +19,9 @@
1919

2020
### 面板服务器与被控机说明
2121

22-
**面板建议安装在单独的一台服务器上,建议安装配置为不低于单核 1G 内存的 VPS 中**,可以直接部署到本地。**被控机端无需做任何特别配置,只需保证面板服务器能够通过 ssh 连接至被控机即可。**
22+
**面板建议安装在单独的一台服务器上,建议安装配置为不低于单核 512M 内存的 VPS 中**,可以直接部署到本地。**被控机端无需做任何特别配置,只需保证面板服务器能够通过 ssh 连接至被控机即可。**
2323

24-
面板服务器在连接被控机的时候会检测被控机是否已经安装好 python (python 为被控机必须依赖),如果被控机上没安装会自动在被控机上通过 apt / yum 执行 python 安装(优先安装python3),如果被控机没有自带 python 且自动安装失败会导致面板显示被控机连接失败(表现为被控机连接状态持续转圈)。从 0.16.5 版本开始,会加入对被控机 iptables 和 systemd 依赖的检测安装,以保证转发、流量统计等必需功能正常运行。
24+
面板服务器在连接被控机的时候会检测被控机是否已经安装好 python (python 为被控机必须依赖),如果被控机上没安装会自动在被控机上通过 apt / yum 执行 python 安装(优先安装python3),如果被控机没有自带 python 且自动安装失败会导致面板显示被控机连接失败(表现为被控机连接状态持续转圈)。从 0.16.4 版本开始,会加入对被控机 iptables 和 systemd 依赖的检测安装,以保证转发、流量统计等必需功能正常运行。
2525

2626
#### 面板(主控机)支持进度:
2727

@@ -44,6 +44,7 @@
4444
- [x] CentOS 7+
4545
- [x] Debian 8+
4646
- [x] Ubuntu 18+
47+
- [ ] Alpine Linux 3.15.0+ (正在开发中,目前仅支持添加到面板,不支持任何转发功能)
4748
- 虚拟平台
4849
- [x] KVM
4950
- [x] VMware
@@ -60,8 +61,12 @@
6061

6162
```shell
6263
bash <(curl -fsSL https://raw.githubusercontent.com/Aurora-Admin-Panel/deploy/main/install.sh)
64+
# 国内机器安装可以选择使用 fastgit 镜像
65+
# bash <(curl -fsSL https://raw.fastgit.org/Aurora-Admin-Panel/deploy/main/install.sh) --mirror
6366
```
6467

68+
一键脚本默认从 Github 拉取所需的配置文件,如果是在国内机器安装,请检查连接 Github 的网络是否正常。一键脚本也支持更新测试版本,只需要添加 `--dev` 参数执行脚本即可,但是测试版本并不稳定,可能会出现各种问题,不建议在生产环境中使用。
69+
6570
## 手动安装
6671

6772
如果一键脚本提示不支持当前系统版本时,可以尝试使用手动安装的方式。

install.sh

+72-21
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,36 @@ Info="${Green_font_prefix}[信息]${Font_color_suffix}"
55
Error="${Red_font_prefix}[错误]${Font_color_suffix}"
66
Tip="${Green_font_prefix}[注意]${Font_color_suffix}"
77

8+
while [[ $# -ge 1 ]]; do
9+
case $1 in
10+
--mirror)
11+
FASTGIT="镜像加速"
12+
shift
13+
;;
14+
--dev)
15+
AURORA_VERSION="DEV"
16+
shift
17+
;;
18+
*)
19+
exit 1
20+
esac
21+
done
22+
23+
[[ $EUID != 0 ]] && echo -e "${Error} 请使用 root 账号运行该脚本!" && exit 1
24+
825
AURORA_HOME="$HOME/aurora"
926
AURORA_DOCKER_YML=${AURORA_HOME}/docker-compose.yml
10-
GITHUB_URL="raw.githubusercontent.com"
27+
[[ -z $FASTGIT ]] && GITHUB_RAW_URL="raw.githubusercontent.com" || GITHUB_RAW_URL="raw.fastgit.org"
1128
AURORA_GITHUB="Aurora-Admin-Panel"
12-
AURORA_YML_URL="https://${GITHUB_URL}/${AURORA_GITHUB}/deploy/main/docker-compose.yml"
13-
AURORA_DEV_YML_URL="https://${GITHUB_URL}/${AURORA_GITHUB}/deploy/main/docker-compose-dev.yml"
29+
AURORA_YML_URL="https://${GITHUB_RAW_URL}/${AURORA_GITHUB}/deploy/main/docker-compose.yml"
30+
AURORA_DEV_YML_URL="https://${GITHUB_RAW_URL}/${AURORA_GITHUB}/deploy/main/docker-compose-dev.yml"
1431
DOCKER_INSTALL_URL="https://get.docker.com"
15-
DOCKER_COMPOSE_URL="https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)"
32+
[[ -z $FASTGIT ]] && GITHUB_URL="github.com" || GITHUB_URL="download.fastgit.org"
33+
DOCKER_COMPOSE_URL="https://${GITHUB_URL}/docker/compose/releases/download/v2.2.3/docker-compose-$(uname -s)-$(uname -m)"
1634

17-
function check_root() {
18-
[[ $EUID != 0 ]] && echo -e "${Error} 请使用 root 账号运行该脚本!" && exit 1
19-
}
35+
AURORA_DEF_PORT=8000
36+
AURORA_DEF_TRAFF_MIN=10
37+
AURORA_DEF_DDNS_MIN=2
2038

2139
function check_system() {
2240
source '/etc/os-release'
@@ -112,11 +130,10 @@ function read_port() {
112130
}
113131

114132
function set_port() {
115-
[[ -z $1 ]] && PORT=8000 || PORT=$1
133+
[[ -z $1 ]] && PORT=${AURORA_DEF_PORT} || PORT=$1
116134
NEW_PORT=$(echo $2 | grep -Eo "[[:digit:]]+")
117135
[[ -z $NEW_PORT ]] && echo -e "${Error} 未检测到新端口号!" && exit 1
118136
sed -i "s/- $PORT:80/- $NEW_PORT:80/" ${AURORA_DOCKER_YML}
119-
return 0
120137
}
121138

122139
function check_run() {
@@ -138,11 +155,23 @@ function change_port() {
138155
echo -e "${Info} 端口修改成功!" || echo -e "${Error} 端口修改失败!"
139156
}
140157

158+
function sec_to_min() {
159+
[[ -z $1 ]] || sec=$(echo $1 | grep -v "\." | grep -Eo "[[:digit:]]+")
160+
[[ -z $sec ]] || ((min=$sec/60))
161+
echo $min
162+
}
163+
164+
function min_to_sec() {
165+
[[ -z $1 ]] || min=$(echo $1 | grep -v "\." | grep -Eo "[[:digit:]]+")
166+
[[ -z $min ]] || ((sec=$min*60))
167+
echo $sec
168+
}
169+
141170
function echo_config() {
142171
[[ -z $PORT ]] || echo -e "${Info} 面板端口号: $PORT"
143172
[[ -z $ENABLE_SENTRY ]] || echo -e "${Info} 开启错误跟踪: $ENABLE_SENTRY"
144-
[[ -z $TRAFFIC_INTERVAL_SECONDS ]] || echo -e "${Info} 流量同步周期: $TRAFFIC_INTERVAL_SECONDS s"
145-
[[ -z $DDNS_INTERVAL_SECONDS ]] || echo -e "${Info} DDNS同步周期: $DDNS_INTERVAL_SECONDS s"
173+
[[ -z $TRAFFIC_INTERVAL_SECONDS ]] || echo -e "${Info} 流量同步周期: $(sec_to_min $TRAFFIC_INTERVAL_SECONDS) 分钟"
174+
[[ -z $DDNS_INTERVAL_SECONDS ]] || echo -e "${Info} DDNS同步周期: $(sec_to_min $DDNS_INTERVAL_SECONDS) 分钟"
146175
}
147176

148177
function install() {
@@ -172,9 +201,12 @@ function update() {
172201
echo "-----------------------------------"
173202
[[ $AURORA_VERSION = "DEV" ]] && get_dev_config || get_config
174203
set_config
175-
set_port $PORT $PORT
204+
set_port ${AURORA_DEF_PORT} $PORT
176205
echo -e "${Info} 同步新配置文件完成!"
177-
docker-compose pull && docker-compose down --remove-orphans && docker-compose up -d && \
206+
docker-compose pull && docker-compose down --remove-orphans
207+
OLD_IMG_IDS=$(docker images | grep aurora | grep -v latest | awk '{ print $3; }')
208+
[[ -z $OLD_IMG_IDS ]] || (docker image rm $OLD_IMG_IDS && echo -e "${Info} 旧版镜像清理完成!")
209+
docker-compose up -d && \
178210
(echo -e "${Info} 极光面板更新成功!" && exit 0) || (echo -e "${Error} 极光面板更新失败!" && exit 1)
179211
}
180212

@@ -252,21 +284,40 @@ function add_superu() {
252284
}
253285

254286
function set_traffic_interval() {
255-
echo -e "${Info} 该功能暂未实现,请等待下一版本更新!"
287+
check_install || exit 1
288+
check_run && exit 1
289+
read_config
290+
echo -e "${Info} 旧流量同步间隔: $(sec_to_min $TRAFFIC_INTERVAL_SECONDS) 分钟"
291+
read -r -e -p "请输入新同步间隔 [分钟]: " NEW_TRAFFIC_INTERVAL_MIN
292+
NEW_TRAFFIC_INTERVAL_SEC=$(min_to_sec $NEW_TRAFFIC_INTERVAL_MIN)
293+
[[ -z $NEW_TRAFFIC_INTERVAL_SEC ]] && echo -e "${Error} 请输入整数分钟!" && exit 1 || \
294+
sed -i "s/TRAFFIC_INTERVAL_SECONDS:.*$/TRAFFIC_INTERVAL_SECONDS: $NEW_TRAFFIC_INTERVAL_SEC/" ${AURORA_DOCKER_YML}
295+
read_config
296+
[[ $TRAFFIC_INTERVAL_SECONDS = $NEW_TRAFFIC_INTERVAL_SEC ]] && cd ${AURORA_HOME} && docker-compose up -d && \
297+
echo -e "${Info} 流量同步间隔修改成功!" || echo -e "${Error} 流量同步间隔修改失败!"
256298
}
257299

258300
function set_ddns_interval() {
259-
echo -e "${Info} 该功能暂未实现,请等待下一版本更新!"
301+
check_install || exit 1
302+
check_run && exit 1
303+
read_config
304+
echo -e "${Info} 旧DDNS同步间隔: $(sec_to_min $DDNS_INTERVAL_SECONDS) 分钟"
305+
read -r -e -p "请输入新同步间隔 [分钟]: " NEW_DDNS_INTERVAL_MIN
306+
NEW_DDNS_INTERVAL_SEC=$(min_to_sec $NEW_DDNS_INTERVAL_MIN)
307+
[[ -z $NEW_DDNS_INTERVAL_SEC ]] && echo -e "${Error} 请输入整数分钟!" && exit 1 || \
308+
sed -i "s/DDNS_INTERVAL_SECONDS:.*$/DDNS_INTERVAL_SECONDS: $NEW_DDNS_INTERVAL_SEC/" ${AURORA_DOCKER_YML}
309+
read_config
310+
[[ $DDNS_INTERVAL_SECONDS = $NEW_DDNS_INTERVAL_SEC ]] && cd ${AURORA_HOME} && docker-compose up -d && \
311+
echo -e "${Info} DDNS同步间隔修改成功!" || echo -e "${Error} DDNS同步间隔修改失败!"
260312
}
261313

262314
function welcome_aurora() {
263-
check_root
264315
check_system
265316
echo -e "${Green_font_prefix}
266317
极光面板 一键脚本
267318
--------------------------------
268-
1. 安装 极光面板
269-
2. 更新 极光面板
319+
1. 安装 极光面板 ${FASTGIT} ${AURORA_VERSION}
320+
2. 更新 极光面板 ${FASTGIT} ${AURORA_VERSION}
270321
3. 卸载 极光面板
271322
————————————
272323
4. 启动 极光面板
@@ -281,9 +332,9 @@ function welcome_aurora() {
281332
11. 备份 数据库
282333
12. 还原 数据库
283334
13. 添加 管理员用户
284-
14. 修改 面板访问端口(默认 8000
285-
15. 修改 面板流量同步间隔(默认 600s
286-
16. 修改 DDNS同步间隔(默认 120s
335+
14. 修改 面板访问端口(默认 ${AURORA_DEF_PORT}
336+
15. 修改 面板流量同步间隔(默认 ${AURORA_DEF_TRAFF_MIN} 分钟
337+
16. 修改 DDNS同步间隔(默认 ${AURORA_DEF_DDNS_MIN} 分钟
287338
————————————
288339
0. 退出脚本
289340
————————————

0 commit comments

Comments
 (0)