@@ -15,6 +15,37 @@ NC='\033[0m' # No Color
1515echo -e " ${BLUE} 🚀 NexusGate 一键部署脚本${NC} "
1616echo " ===================================="
1717
18+ # 选择下载源
19+ select_download_source () {
20+ echo -e " ${BLUE} 🌐 请选择下载源${NC} "
21+ echo " ===================================="
22+ echo " 1) GitHub 官方源 (推荐海外用户)"
23+ echo " 2) 国内镜像源 (推荐国内用户,更快更稳定)"
24+ echo " ===================================="
25+
26+ while true ; do
27+ read -p " 请选择 (1/2): " choice
28+ case $choice in
29+ 1)
30+ DOWNLOAD_SOURCE=" github"
31+ COMPOSE_URL=" https://raw.githubusercontent.com/EM-GeekLab/NexusGate/main/docker-compose.yaml"
32+ echo -e " ${GREEN} ✅ 已选择 GitHub 官方源${NC} "
33+ break
34+ ;;
35+ 2)
36+ DOWNLOAD_SOURCE=" china"
37+ COMPOSE_URL=" https://cnb.cool/EM-GeekLab/NexusGate/-/git/raw/main/docker-compose.cn.yaml"
38+ echo -e " ${GREEN} ✅ 已选择国内镜像源${NC} "
39+ break
40+ ;;
41+ * )
42+ echo -e " ${RED} ❌ 请输入有效选项 (1 或 2)${NC} "
43+ ;;
44+ esac
45+ done
46+ echo " "
47+ }
48+
1849# 检查 Docker 是否安装和权限
1950check_docker () {
2051 if ! command -v docker & > /dev/null; then
@@ -52,11 +83,16 @@ generate_password() {
5283download_configs () {
5384 echo -e " ${BLUE} 📥 下载配置文件...${NC} "
5485
55- if [ ! -f " docker-compose.yaml" ]; then
56- curl -fsSL https://raw.githubusercontent.com/EM-GeekLab/NexusGate/main/docker-compose.yaml -o docker-compose.yaml
57- echo -e " ${GREEN} ✅ docker-compose.yaml 下载完成${NC} "
86+ local compose_file=" docker-compose.yaml"
87+ if [ " $DOWNLOAD_SOURCE " = " china" ]; then
88+ compose_file=" docker-compose.cn.yaml"
89+ fi
90+
91+ if [ ! -f " $compose_file " ]; then
92+ curl -fsSL " $COMPOSE_URL " -o " $compose_file "
93+ echo -e " ${GREEN} ✅ $compose_file 下载完成${NC} "
5894 else
59- echo -e " ${YELLOW} ⚠️ docker-compose.yaml 已存在,跳过下载${NC} "
95+ echo -e " ${YELLOW} ⚠️ $compose_file 已存在,跳过下载${NC} "
6096 fi
6197}
6298
@@ -203,11 +239,16 @@ EOF
203239start_services () {
204240 echo -e " ${BLUE} 🚀 启动 NexusGate 服务...${NC} "
205241
242+ local compose_file=" docker-compose.yaml"
243+ if [ " $DOWNLOAD_SOURCE " = " china" ]; then
244+ compose_file=" docker-compose.cn.yaml"
245+ fi
246+
206247 # 检查是否使用新版 docker compose 命令
207248 if docker compose version & > /dev/null; then
208- docker compose up -d
249+ docker compose -f " $compose_file " up -d
209250 else
210- docker-compose up -d
251+ docker-compose -f " $compose_file " up -d
211252 fi
212253
213254 echo -e " ${GREEN} ✅ 服务启动完成!${NC} "
@@ -242,6 +283,7 @@ show_access_info() {
242283
243284# 主函数
244285main () {
286+ select_download_source
245287 check_docker
246288 download_configs
247289 create_env_file
0 commit comments