mirror of
https://github.com/kiddin9/op-packages.git
synced 2026-11-02 19:03:56 +08:00
⛅ Sync 2026-10-06 21:11:19
This commit is contained in:
1 parent
fa160a7a5e
commit
bcd6b07350
430 files changed
+1035
-48585
No files matched your search
@@ -0,0 +1,6 @@
|
||||
config clouddrive2
|
||||
option 'port' '19798'
|
||||
option 'image' 'default'
|
||||
# option 'config_path' ''
|
||||
# option 'cache_path' ''
|
||||
option 'share_mnt' '0'
|
||||
+13
@@ -0,0 +1,13 @@
|
||||
#!/bin/sh /etc/rc.common
|
||||
|
||||
START=98
|
||||
|
||||
boot() {
|
||||
# /usr/bin/mountpoint -q /CloudNAS || /usr/bin/mount --make-shared -t tmpfs -o size=4M tmpfs /CloudNAS
|
||||
[ -d /mnt/CloudNAS ] || mkdir -p /mnt/CloudNAS
|
||||
if /usr/bin/mountpoint -q /mnt; then
|
||||
/usr/bin/mount --make-shared /mnt
|
||||
else
|
||||
/usr/bin/mount --make-shared -t tmpfs -o size=4M tmpfs /mnt/CloudNAS
|
||||
fi
|
||||
}
|
||||
@@ -1,24 +0,0 @@
|
||||
#!/bin/sh
|
||||
[ ! -f "/usr/share/ucitrack/luci-app-clouddrive2.json" ] && {
|
||||
cat > /usr/share/ucitrack/luci-app-clouddrive2.json << EEOF
|
||||
{
|
||||
"config": "clouddrive2",
|
||||
"init": "clouddrive2"
|
||||
}
|
||||
EEOF
|
||||
}
|
||||
|
||||
uci -q batch <<-EOF >/dev/null
|
||||
delete ucitrack.@clouddrive2[-1]
|
||||
add ucitrack clouddrive2
|
||||
set ucitrack.@clouddrive2[-1].init=clouddrive2
|
||||
commit ucitrack
|
||||
EOF
|
||||
|
||||
mkdir -p /lib/upgrade/keep.d
|
||||
cat > "/lib/upgrade/keep.d/luci-clouddrive2" <<-EOF
|
||||
/Waytech/CloudDrive2/
|
||||
EOF
|
||||
|
||||
rm -f /tmp/luci-indexcache
|
||||
exit 0
|
||||
@@ -0,0 +1,105 @@
|
||||
#!/bin/sh
|
||||
# Author jjm2473@gmail.com
|
||||
|
||||
ACTION=${1}
|
||||
shift 1
|
||||
|
||||
IMAGE_NAME='default'
|
||||
|
||||
get_image() {
|
||||
IMAGE_NAME=`uci -q get clouddrive2.@clouddrive2[0].image 2>/dev/null`
|
||||
if [ -z "$IMAGE_NAME" -o "$IMAGE_NAME" == "default" ]; then
|
||||
IMAGE_NAME="cloudnas/clouddrive2"
|
||||
fi
|
||||
}
|
||||
|
||||
do_install() {
|
||||
get_image
|
||||
echo "docker pull ${IMAGE_NAME}"
|
||||
docker pull ${IMAGE_NAME}
|
||||
docker stop clouddrive2
|
||||
docker rm -f clouddrive2
|
||||
|
||||
do_install_detail
|
||||
}
|
||||
|
||||
do_install_detail() {
|
||||
local config=`uci -q get clouddrive2.@clouddrive2[0].config_path 2>/dev/null`
|
||||
local cache=`uci -q get clouddrive2.@clouddrive2[0].cache_path 2>/dev/null`
|
||||
local port=`uci -q get clouddrive2.@clouddrive2[0].port 2>/dev/null`
|
||||
local share_mnt=`uci -q get clouddrive2.@clouddrive2[0].share_mnt 2>/dev/null`
|
||||
|
||||
if [ -z "$config" ]; then
|
||||
echo "config path is empty!"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
[ -z "$port" ] && port=19798
|
||||
|
||||
local cmd="docker run --restart=unless-stopped -d -e CLOUDDRIVE_HOME=/Config -v \"$config:/Config\" "
|
||||
[ -z "$cache" ] || cmd="$cmd -v \"$cache:/Config/temp\" "
|
||||
|
||||
cmd="$cmd\
|
||||
--dns=172.17.0.1 \
|
||||
-p $port:19798"
|
||||
|
||||
local tz="`uci -q get system.@system[0].zonename | sed 's/ /_/g'`"
|
||||
[ -z "$tz" ] || cmd="$cmd -e TZ=$tz"
|
||||
|
||||
# make sure shared mount point existed
|
||||
/etc/init.d/clouddrive2 boot
|
||||
|
||||
if [ "$share_mnt" = 1 ]; then
|
||||
cmd="$cmd -v /mnt:/mnt"
|
||||
mountpoint -q /mnt && cmd="$cmd:rslave"
|
||||
fi
|
||||
cmd="$cmd -v /mnt/CloudNAS:/mnt/CloudNAS:shared"
|
||||
|
||||
# fuse
|
||||
cmd="$cmd\
|
||||
--cap-add SYS_ADMIN \
|
||||
--security-opt apparmor:unconfined \
|
||||
--device /dev/fuse:/dev/fuse"
|
||||
|
||||
cmd="$cmd --name clouddrive2 \"$IMAGE_NAME\""
|
||||
|
||||
echo "$cmd"
|
||||
eval "$cmd"
|
||||
|
||||
}
|
||||
|
||||
usage() {
|
||||
echo "usage: $0 sub-command"
|
||||
echo "where sub-command is one of:"
|
||||
echo " install Install the CloudDrive2"
|
||||
echo " upgrade Upgrade the CloudDrive2"
|
||||
echo " rm/start/stop/restart Remove/Start/Stop/Restart the CloudDrive2"
|
||||
echo " status CloudDrive2 status"
|
||||
echo " port CloudDrive2 port"
|
||||
}
|
||||
|
||||
case ${ACTION} in
|
||||
"install")
|
||||
do_install
|
||||
;;
|
||||
"upgrade")
|
||||
do_install
|
||||
;;
|
||||
"rm")
|
||||
docker stop clouddrive2
|
||||
docker rm -f clouddrive2
|
||||
;;
|
||||
"start" | "stop" | "restart")
|
||||
docker ${ACTION} clouddrive2
|
||||
;;
|
||||
"status")
|
||||
docker ps --all -f 'name=^/clouddrive2$' --format '{{.State}}'
|
||||
;;
|
||||
"port")
|
||||
docker ps --all -f 'name=^/clouddrive2$' --format '{{.Ports}}' | grep -om1 '0.0.0.0:[0-9]*->19798/tcp' | sed 's/0.0.0.0:\([0-9]*\)->.*/\1/'
|
||||
;;
|
||||
*)
|
||||
usage
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
@@ -8,4 +8,4 @@
|
||||
"uci": [ "clouddrive2" ]
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,4 @@
|
||||
{
|
||||
"config": "clouddrive2",
|
||||
"init": "clouddrive2"
|
||||
}
|
||||
Reference in new issue
Block a user