v1.2.3
This commit is contained in:
parent
bad71f9cd0
commit
b4f2424b24
|
@ -0,0 +1,20 @@
|
|||
services:
|
||||
alist:
|
||||
image: ghcr.io/monlor/xiaoya-alist:latest
|
||||
volumes:
|
||||
- xiaoya:/data
|
||||
ports:
|
||||
- "5678:5678"
|
||||
- "2345:2345"
|
||||
- "2346:2346"
|
||||
env_file:
|
||||
- env
|
||||
restart: unless-stopped
|
||||
networks:
|
||||
- default
|
||||
|
||||
networks:
|
||||
default:
|
||||
|
||||
volumes:
|
||||
xiaoya:
|
|
@ -24,6 +24,7 @@ services:
|
|||
- media:/media/xiaoya
|
||||
- config:/media/config
|
||||
- cache:/media/config/cache
|
||||
- jf_media:/media/jf_xiaoya
|
||||
- jf_config:/media/jf_config
|
||||
- jf_cache:/media/jf_config/cache
|
||||
- meta:/media/temp
|
||||
|
@ -57,7 +58,7 @@ services:
|
|||
- metadata
|
||||
- alist
|
||||
volumes:
|
||||
- media:/media
|
||||
- jf_media:/media
|
||||
- jf_config:/config
|
||||
- jf_cache:/cache
|
||||
ports:
|
||||
|
@ -74,6 +75,7 @@ volumes:
|
|||
media:
|
||||
config:
|
||||
cache:
|
||||
jf_media:
|
||||
jf_config:
|
||||
jf_cache:
|
||||
meta:
|
||||
|
|
|
@ -21,7 +21,7 @@ services:
|
|||
- env
|
||||
volumes:
|
||||
- xiaoya:/etc/xiaoya
|
||||
- media:/media/xiaoya
|
||||
- jf_media:/media/jf_xiaoya
|
||||
- jf_config:/media/jf_config
|
||||
- jf_cache:/media/jf_config/cache
|
||||
- meta:/media/temp
|
||||
|
@ -39,7 +39,7 @@ services:
|
|||
- metadata
|
||||
- alist
|
||||
volumes:
|
||||
- media:/media
|
||||
- jf_media:/media
|
||||
- jf_config:/config
|
||||
- jf_cache:/cache
|
||||
ports:
|
||||
|
@ -53,7 +53,7 @@ networks:
|
|||
|
||||
volumes:
|
||||
xiaoya:
|
||||
media:
|
||||
jf_media:
|
||||
jf_config:
|
||||
jf_cache:
|
||||
meta:
|
|
@ -0,0 +1,41 @@
|
|||
TZ=Asia/Shanghai
|
||||
# 阿里云盘token
|
||||
ALIYUN_TOKEN=
|
||||
# 阿里云盘open token
|
||||
ALIYUN_OPEN_TOKEN=
|
||||
# 阿里云盘文件夹ID
|
||||
ALIYUN_FOLDER_ID=
|
||||
# 自动更新小雅alist文件
|
||||
AUTO_UPDATE_ENABLED=true
|
||||
# 自动清理阿里云盘
|
||||
AUTO_CLEAR_ENABLED=true
|
||||
# 阿里云盘自动清理间隔,单位分钟,默认1分钟
|
||||
AUTO_CLEAR_INTERVAL=
|
||||
# pikpak 账号,用来观看小雅中pikpak分享给你的资源,格式:`qqq@qq.com:aaadds`
|
||||
PIKPAK_USER=
|
||||
# 开启tvbox随机订阅地址,true/false,默认false
|
||||
TVBOX_SECURITY=
|
||||
# 开启登陆功能,true/false,默认false
|
||||
FORCE_LOGIN=
|
||||
# webdav用户名为dav,设置密码。默认用户密码:guest/guest_Api789
|
||||
WEBDAV_PASSWORD=
|
||||
|
||||
# emby 地址,容器内部使用地址,一般不用改
|
||||
EMBY_ADDR=http://emby:6908
|
||||
# jellyfin 地址,容器内部使用地址,一般不用改
|
||||
JELLYFIN_ADDR=http://jellyfin:8096
|
||||
# alist 地址,容器内部使用地址,一般不用改
|
||||
ALIST_ADDR=http://alist:5678
|
||||
|
||||
# 是否启用emby
|
||||
EMBY_ENABLED=true
|
||||
# 是否启用jellyfin
|
||||
JELLYFIN_ENABLED=false
|
||||
# 自动更新emby的配置,依赖EMBY_APIKEY
|
||||
AUTO_UPDATE_EMBY_CONFIG_ENABLED=true
|
||||
# 自动更新emby配置,config.mp4间隔,单位天,默认7天
|
||||
AUTO_UPDATE_EMBY_INTERVAL=
|
||||
# 自动更新元数据
|
||||
AUTO_UPDATE_METADATA_ENABLED=true
|
||||
# emby的apikey
|
||||
EMBY_APIKEY=
|
|
@ -12,37 +12,100 @@ sedsh() {
|
|||
fi
|
||||
}
|
||||
|
||||
|
||||
# 格式https://xxx.com/
|
||||
GH_PROXY="${GH_PROXY:=}"
|
||||
# 格式xxx.com
|
||||
IMAGE_PROXY="${IMAGE_PROXY:=}"
|
||||
|
||||
# 服务镜像
|
||||
IMAGE_TAG="${VERSION:-latest}"
|
||||
|
||||
# 服务下载地址
|
||||
DOWNLOAD_URL="https://cafe.cpolar.cn/wkdaily/zero3/raw/branch/main/xiaoya"
|
||||
|
||||
# 欢迎信息
|
||||
echo "欢迎使用xiaoya服务部署脚本"
|
||||
echo "项目地址:https://github.com/monlor/docker-xiaoya"
|
||||
echo "原作者:monlor (https://link.monlor.com)"
|
||||
echo "作者:monlor (https://link.monlor.com)"
|
||||
echo
|
||||
|
||||
# 检查docker服务是否存在,不存在则询问用户是否安装,不安装退出脚本
|
||||
if ! command -v docker &> /dev/null; then
|
||||
if [ "$(uname -o)" = "Darwin" ]; then
|
||||
echo "Docker 未安装,请安装docker后再运行脚本,推荐OrbStack:https://orbstack.dev/"
|
||||
exit 1
|
||||
fi
|
||||
read -rp "Docker 未安装,是否安装?(y/n): " install
|
||||
if [ "$install" = "y" ]; then
|
||||
echo "安装docker..."
|
||||
curl -fsSL https://get.docker.com | bash -s docker --mirror Aliyun
|
||||
systemctl enable docker
|
||||
systemctl start docker
|
||||
else
|
||||
echo "退出安装"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
DOCKER_COMPOSE="docker compose"
|
||||
|
||||
# 检查是否安装了compose插件,docker compose 命令
|
||||
if ! docker compose &> /dev/null && ! which docker-compose &> /dev/null; then
|
||||
read -rp "Docker Compose 未安装,是否安装?(y/n): " install
|
||||
if [ "$install" = "y" ]; then
|
||||
echo "安装docker compose..."
|
||||
# 判断系统是x86还是arm,arm有很多种类,都要判断
|
||||
if [ "$(uname -m)" = "aarch64" ]; then
|
||||
file=docker-compose-linux-aarch64
|
||||
elif [ "$(uname -m)" = "x86_64" ]; then
|
||||
file=docker-compose-linux-x86_64
|
||||
else
|
||||
echo "不支持的系统架构$(uname -m), 请自行安装docker compose(https://docs.docker.com/compose/install/linux/#install-using-the-repository)"
|
||||
exit 1
|
||||
fi
|
||||
curl -SL "${GH_PROXY}https://github.com/docker/compose/releases/download/v2.27.1/$file" -o /usr/local/bin/docker-compose
|
||||
chmod +x /usr/local/bin/docker-compose
|
||||
else
|
||||
echo "退出安装"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
if ! docker compose &> /dev/null; then
|
||||
DOCKER_COMPOSE="docker-compose"
|
||||
fi
|
||||
|
||||
# 让用户输入服务部署目录,默认/opt/xiaoya
|
||||
read -rp "请输入服务部署目录(默认/opt/xiaoya): " install_path
|
||||
install_path=${install_path:=/opt/xiaoya}
|
||||
|
||||
# 检查服务是否已经运行
|
||||
echo "检查服务是否已经存在..."
|
||||
if [ -f "$install_path/docker-compose.yml" ]; then
|
||||
# 询问用户是否要更新服务
|
||||
read -rp "检查到服务已存在,是否更新服务?(y/n): " update
|
||||
echo
|
||||
echo "检查到服务已存在,更新会覆盖docker-compose.yml文件,不会覆盖env文件"
|
||||
read -rp "是否更新服务?(y/n): " update
|
||||
if [ "${update}" != "y" ]; then
|
||||
echo "退出安装"
|
||||
exit 1
|
||||
fi
|
||||
fi
|
||||
|
||||
DOCKER_HOME="$(docker info | grep "Docker Root Dir" | awk -F ':' '{print$2}')"
|
||||
|
||||
# 选择数据保存位置
|
||||
data_location=1
|
||||
if [ -d "$install_path/data" ]; then
|
||||
data_location=2
|
||||
fi
|
||||
cat <<-EOF
|
||||
|
||||
请选择数据保存位置:
|
||||
1. Docker卷(数据保存在: ${DOCKER_HOME}/volumes)
|
||||
2. 服务部署目录(数据保存在: ${install_path})
|
||||
EOF
|
||||
read -rp "请选择数据保存位置(默认为${data_location}): " res
|
||||
data_location=${res:-${data_location}}
|
||||
|
||||
token=""
|
||||
open_token=""
|
||||
folder_id=""
|
||||
|
@ -76,7 +139,7 @@ fi
|
|||
|
||||
# 让用户输入阿里云盘转存目录folder_id,folder_id获取方式教程:https://www.aliyundrive.com/s/rP9gP3h9asE
|
||||
echo
|
||||
echo "进入阿里云盘网页版,创建一个文件夹,点击文件夹,复制浏览器阿里云盘地址末尾的文件夹ID(最后一个斜杠/后面的一串字符串)"
|
||||
echo "进入阿里云盘网页版,资源盘里面创建一个文件夹,点击文件夹,复制浏览器阿里云盘地址末尾的文件夹ID(最后一个斜杠/后面的一串字符串)"
|
||||
read -rp "请输入阿里云盘缓存目录ID(默认为$folder_id): " res
|
||||
folder_id=${res:=$folder_id}
|
||||
if [ ${#folder_id} -ne 40 ]; then
|
||||
|
@ -88,17 +151,21 @@ fi
|
|||
echo
|
||||
echo "部署类型:"
|
||||
echo "1. alist + emby (默认)"
|
||||
echo "2. alist + jellyfin"
|
||||
echo "3. alist + emby + jellyfin"
|
||||
echo "2. alist"
|
||||
echo "3. alist + jellyfin"
|
||||
echo "4. alist + emby + jellyfin"
|
||||
read -rp "请选择部署服务类型: " service_type
|
||||
case $service_type in
|
||||
1)
|
||||
service_type=""
|
||||
;;
|
||||
2)
|
||||
service_type="-jellyfin"
|
||||
service_type="-alist"
|
||||
;;
|
||||
3)
|
||||
service_type="-jellyfin"
|
||||
;;
|
||||
4)
|
||||
service_type="-all"
|
||||
;;
|
||||
*)
|
||||
|
@ -115,7 +182,7 @@ fi
|
|||
cd "$install_path"
|
||||
|
||||
echo "开始生成配置文件docker-compose${service_type}.yml..."
|
||||
curl -#Lo "$install_path/docker-compose.yml" "https://cafe.cpolar.cn/wkdaily/zero3/raw/branch/main/xiaoya/docker-compose${service_type}.yml"
|
||||
curl -#Lo "$install_path/docker-compose.yml" "${DOWNLOAD_URL}/docker-compose${service_type}.yml"
|
||||
if [ ! -f "$install_path/env" ]; then
|
||||
curl -#Lo "$install_path/env" "${DOWNLOAD_URL}/env"
|
||||
fi
|
||||
|
@ -130,8 +197,21 @@ fi
|
|||
# 修改镜像版本
|
||||
sedsh "s#:latest#:$IMAGE_TAG#g" docker-compose.yml
|
||||
|
||||
# 修改数据保存位置
|
||||
if [ "$data_location" = "2" ]; then
|
||||
sed -n '/^volumes/,$p' ./docker-compose.yml | sed -e 's/://g' | grep -v volumes | while read -r volume; do
|
||||
if [ -z "${volume}" ]; then
|
||||
continue
|
||||
fi
|
||||
if [ ! -d "$install_path/data/$volume" ]; then
|
||||
mkdir -p "$install_path/data/$volume"
|
||||
fi
|
||||
sedsh "s#- $volume:#- $install_path/data/$volume:#g" docker-compose.yml
|
||||
done
|
||||
sedsh "/^volumes/,\$d" docker-compose.yml
|
||||
fi
|
||||
|
||||
echo "开始部署服务..."
|
||||
DOCKER_COMPOSE="docker compose"
|
||||
$DOCKER_COMPOSE -f docker-compose.yml up --remove-orphans --pull=always -d
|
||||
|
||||
echo "服务开始部署,如果部署emby/jellyfin,下载并解压60G元数据需要一段时间,请耐心等待..."
|
||||
|
@ -149,8 +229,7 @@ echo "加载配置:$install_path/manage.sh reload"
|
|||
echo "高级用户自定义配置:$install_path/env"
|
||||
echo "修改env或者compose配置后,需要执行上面的加载配置reload命令生效!"
|
||||
|
||||
# 获取当前服务器ip
|
||||
ip=$(curl -s ip.3322.net 2> /dev/null)
|
||||
|
||||
# 内网ip
|
||||
local_ip=""
|
||||
if [[ "$(uname -o)" = "Darwin" ]]; then
|
||||
|
@ -163,11 +242,11 @@ fi
|
|||
|
||||
echo
|
||||
echo "> 服务正在部署,请查看日志等待部署成功后,尝试访问下面的地址"
|
||||
echo "alist:https://api.linkopenai.com/topup地址: http://$local_ip:5678"
|
||||
echo "alist: http://$local_ip:5678"
|
||||
echo "webdav: http://$local_ip:5678/dav, 默认用户密码: guest/guest_Api789"
|
||||
echo "tvbox: http://$local_ip:5678/tvbox/my_ext.json"
|
||||
echo "emby: http://$local_ip:6908, 默认用户密码: xiaoya/1234"
|
||||
echo "jellyfin: http://$local_ip:8096,默认用户密码:ailg/5678"
|
||||
echo "emby: http://$local_ip:2345, 默认用户密码: xiaoya/1234"
|
||||
echo "jellyfin: http://$local_ip:2346, 默认用户密码:ailg/5678"
|
||||
|
||||
echo
|
||||
echo "还没有部署完,执行这个命令查看日志:$install_path/manage.sh logs"
|
||||
|
@ -200,4 +279,4 @@ case \$1 in
|
|||
esac
|
||||
EOF
|
||||
|
||||
chmod +x "$install_path/manage.sh"
|
||||
chmod +x "$install_path/manage.sh"
|
Loading…
Reference in New Issue