增加了宿主机文件映射 方便1panel管理文件
This commit is contained in:
parent
beeb24f05e
commit
b6f2f39745
|
@ -0,0 +1,118 @@
|
||||||
|
#!/bin/sh
|
||||||
|
# base on Author Xiaobao(xiaobao@linkease.com)
|
||||||
|
# 增加了宿主机文件映射 方便1panel管理文件
|
||||||
|
|
||||||
|
ACTION=${1}
|
||||||
|
shift 1
|
||||||
|
|
||||||
|
do_install() {
|
||||||
|
local port=$(uci get istorepanel.@main[0].port 2>/dev/null)
|
||||||
|
local image_name=$(uci get istorepanel.@main[0].image_name 2>/dev/null)
|
||||||
|
local config=$(uci get istorepanel.@main[0].config_path 2>/dev/null)
|
||||||
|
local entrance=$(uci get istorepanel.@main[0].entrance 2>/dev/null)
|
||||||
|
local username=$(uci get istorepanel.@main[0].username 2>/dev/null)
|
||||||
|
local password=$(uci get istorepanel.@main[0].password 2>/dev/null)
|
||||||
|
local ver=$(uci get istorepanel.@main[0].ver 2>/dev/null)
|
||||||
|
|
||||||
|
if [ -z "$config" ]; then
|
||||||
|
echo "config path is empty!"
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
[ -z "$port" ] && port=10086
|
||||||
|
[ -z "$ver" ] && ver='v1.10.10-lts'
|
||||||
|
[ -z "$username" ] && username='1panel'
|
||||||
|
[ -z "$password" ] && password='password'
|
||||||
|
[ -z "$entrance" ] && entrance='entrance'
|
||||||
|
|
||||||
|
mkdir -p $config
|
||||||
|
|
||||||
|
cat >$config/env <<EOF
|
||||||
|
export PANEL_BASE_DIR=${config}
|
||||||
|
export PANEL_PORT=${port}
|
||||||
|
export DEFAULT_ENTRANCE=${entrance}
|
||||||
|
export DEFAULT_USERNAME=${username}
|
||||||
|
export DEFAULT_PASSWORD=${password}
|
||||||
|
export PANELVER=${ver}
|
||||||
|
EOF
|
||||||
|
|
||||||
|
[ -z "$image_name" ] && image_name="linkease/istorepanel:latest"
|
||||||
|
echo "docker pull ${image_name}"
|
||||||
|
docker pull ${image_name}
|
||||||
|
docker rm -f istorepanel
|
||||||
|
|
||||||
|
if [ ! -f "/tmp/localtime" ]; then
|
||||||
|
/etc/init.d/system reload
|
||||||
|
fi
|
||||||
|
|
||||||
|
#增加本地根目录文件映射
|
||||||
|
local cmd="docker run --restart=unless-stopped -d -h 1PanelServer \
|
||||||
|
--cgroupns=host \
|
||||||
|
--cap-add SYS_ADMIN \
|
||||||
|
--tmpfs /tmp \
|
||||||
|
--network host \
|
||||||
|
-v /sys/fs/cgroup:/sys/fs/cgroup \
|
||||||
|
-v /var/run:/var2/run \
|
||||||
|
-v /:/ahost \
|
||||||
|
-v \"$config:/iStorePanel\" "
|
||||||
|
|
||||||
|
cmd="$cmd --dns=172.17.0.1 \
|
||||||
|
--dns=223.5.5.5 "
|
||||||
|
|
||||||
|
local tz="$(uci get system.@system[0].zonename | sed 's/ /_/g')"
|
||||||
|
[ -z "$tz" ] || cmd="$cmd -e TZ=$tz"
|
||||||
|
|
||||||
|
cmd="$cmd -v /mnt:/mnt"
|
||||||
|
mountpoint -q /mnt && cmd="$cmd:rslave"
|
||||||
|
cmd="$cmd --name istorepanel \"$image_name\""
|
||||||
|
|
||||||
|
echo "$cmd"
|
||||||
|
eval "$cmd"
|
||||||
|
|
||||||
|
echo "Installing 1panel"
|
||||||
|
for b in {1..30}; do
|
||||||
|
sleep 3
|
||||||
|
docker_status=$(docker ps --all -f 'name=istorepanel' --format '{{.State}}')
|
||||||
|
if [[ $docker_status == *running* ]]; then
|
||||||
|
docker exec istorepanel /app/reinstall.sh
|
||||||
|
break
|
||||||
|
else
|
||||||
|
echo "istorepanel is not running, wait..."
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
}
|
||||||
|
|
||||||
|
usage() {
|
||||||
|
echo "usage: $0 sub-command"
|
||||||
|
echo "where sub-command is one of:"
|
||||||
|
echo " install Install the istorepanel"
|
||||||
|
echo " upgrade Upgrade the istorepanel"
|
||||||
|
echo " rm/start/stop/restart Remove/Start/Stop/Restart the istorepanel"
|
||||||
|
echo " status 1Panel status"
|
||||||
|
echo " port 1Panel port"
|
||||||
|
}
|
||||||
|
|
||||||
|
case ${ACTION} in
|
||||||
|
"install")
|
||||||
|
do_install
|
||||||
|
;;
|
||||||
|
"upgrade")
|
||||||
|
do_install
|
||||||
|
;;
|
||||||
|
"rm")
|
||||||
|
docker rm -f istorepanel
|
||||||
|
;;
|
||||||
|
"start" | "stop" | "restart")
|
||||||
|
docker ${ACTION} istorepanel
|
||||||
|
;;
|
||||||
|
"status")
|
||||||
|
docker ps --all -f 'name=istorepanel' --format '{{.State}}'
|
||||||
|
;;
|
||||||
|
"port")
|
||||||
|
echo $(uci get istorepanel.@main[0].port 2>/dev/null)
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
usage
|
||||||
|
exit 1
|
||||||
|
;;
|
||||||
|
esac
|
Loading…
Reference in New Issue