mirror of
https://github.com/tgbot-collection/YYeTsBot.git
synced 2025-11-25 03:15:05 +08:00
99 lines
2.4 KiB
Bash
99 lines
2.4 KiB
Bash
#!/bin/bash
|
||
|
||
function splash() {
|
||
echo "本脚本会在 ${HOME}/YYeTs 部署人人影视web"
|
||
echo "并且监听 0.0.0.0,你确定要继续吗?输入YES确认"
|
||
read confirm
|
||
|
||
if [ "$confirm" = "YES" ]; then
|
||
echo "继续安装"
|
||
else
|
||
echo "取消安装"
|
||
exit 1
|
||
fi
|
||
|
||
}
|
||
|
||
function prepare() {
|
||
echo "[1/5] 准备中……"
|
||
mkdir -p ${HOME}/YYeTs
|
||
cd ${HOME}/YYeTs
|
||
}
|
||
|
||
function prepare_compose() {
|
||
echo "[2/5] 下载docker-compose.yaml"
|
||
curl -o docker-compose.yaml https://raw.githubusercontent.com/tgbot-collection/YYeTsBot/master/docker-compose.yml
|
||
sed -i '18,47d' docker-compose.yaml
|
||
sed -i 's/127.0.0.1/0.0.0.0/' docker-compose.yaml
|
||
}
|
||
|
||
function import_db() {
|
||
echo "[3/5] 正在准备MongoDB"
|
||
docker-compose up -d mongo
|
||
|
||
echo "[4/5] 正在下载并导入数据库"
|
||
curl -o /tmp/yyets_mongo.gz https://yyets.dmesg.app/data/yyets_mongo.gz
|
||
docker cp /tmp/yyets_mongo.gz yyets_mongo_1:/tmp
|
||
# special for windows
|
||
result=$(uname -a | grep "Msys")
|
||
if [[ "$result" != "" ]]; then
|
||
echo "docker exec yyets_mongo_1 mongorestore --gzip --archive=/tmp/yyets_mongo.gz" >windows.bat
|
||
echo "docker exec yyets_mongo_1 rm /tmp/yyets_mongo.gz" >>windows.bat
|
||
cmd "/C windows.bat"
|
||
rm windows.bat
|
||
else
|
||
docker exec yyets_mongo_1 mongorestore --gzip --archive=/tmp/yyets_mongo.gz
|
||
docker exec yyets_mongo_1 rm /tmp/yyets_mongo.gz
|
||
fi
|
||
|
||
rm /tmp/yyets_mongo.gz
|
||
}
|
||
|
||
function up() {
|
||
echo "[5/5] 启动中……"
|
||
docker-compose up -d
|
||
echo "部署成功。您可以访问 http://IP:8888 查看"
|
||
}
|
||
|
||
function deploy() {
|
||
splash
|
||
prepare
|
||
prepare_compose
|
||
import_db
|
||
up
|
||
}
|
||
|
||
function cleanup() {
|
||
echo "您确认要进行清理吗?项目运行将会被删除,所有的docker image也将会被清除。输入YES确认"
|
||
read confirm
|
||
|
||
if [ "$confirm" = "YES" ]; then
|
||
echo "继续清理,可能会要求您进行sudo鉴权"
|
||
docker-compose -f ${HOME}/YYeTs/docker-compose.yaml down
|
||
sudo rm -rf ${HOME}/YYeTs
|
||
docker system prune -a --volumes -f
|
||
echo "清理完成。"
|
||
else
|
||
echo "取消清理"
|
||
exit 1
|
||
fi
|
||
|
||
}
|
||
|
||
function upgrade() {
|
||
docker pull bennythink/yyetsbot
|
||
docker-compose -f ${HOME}/YYeTs/docker-compose.yaml up -d
|
||
echo "更新成功"
|
||
}
|
||
|
||
select MENU_ITEM in "部署YYeTs" "清理YYeTs" "更新YYeTs"; do
|
||
echo "准备$MENU_ITEM YYeTsWeb..."
|
||
case $MENU_ITEM in
|
||
"部署YYeTs") deploy ;;
|
||
"清理YYeTs") cleanup ;;
|
||
"更新YYeTs") upgrade ;;
|
||
*) echo "无效的操作" ;;
|
||
esac
|
||
break
|
||
done
|