2 changed files with 121 additions and 0 deletions
@ -0,0 +1,7 @@ |
|||||
|
FROM scratch |
||||
|
|
||||
|
|
||||
|
LABEL maintainer="GilbN" |
||||
|
LABEL app="VueTorrent" |
||||
|
#copy local files. |
||||
|
COPY root/ / |
@ -0,0 +1,114 @@ |
|||||
|
#!/usr/bin/with-contenv bash |
||||
|
APP_FILEPATH='/config/qBittorrent/qBittorrent.conf' |
||||
|
if [ "${TP_HOTIO}" = true ]; then |
||||
|
echo 'Changing to Hotio file path!' |
||||
|
APP_FILEPATH='/config/config/qBittorrent.conf' |
||||
|
fi |
||||
|
# Display variables for troubleshooting |
||||
|
echo -e "Variables set:\\n\ |
||||
|
'TP_DOMAIN'=${TP_DOMAIN}\\n\ |
||||
|
'TP_THEME'=${TP_THEME}\\n" |
||||
|
|
||||
|
# Set default |
||||
|
if [[ -z ${TP_DOMAIN} ]]; then |
||||
|
echo 'No domain set, defaulting to theme-park.dev' |
||||
|
TP_DOMAIN='theme-park.dev' |
||||
|
fi |
||||
|
|
||||
|
case ${TP_DOMAIN} in |
||||
|
*"github.io"*) |
||||
|
echo "Switching to github.io URL style" |
||||
|
TP_DOMAIN="${TP_DOMAIN}\/theme.park" |
||||
|
;; |
||||
|
esac |
||||
|
|
||||
|
if [[ -z ${TP_THEME} ]]; then |
||||
|
echo 'No theme set, defaulting to organizr-dark' |
||||
|
TP_THEME='organizr-dark' |
||||
|
fi |
||||
|
RELEASE_FILEPATH='/vuetorrent/release.json' |
||||
|
NEEDS_UPDATE=false |
||||
|
CURRENT_RELEASE=$(curl -s https://api.github.com/repos/WDaan/VueTorrent/releases/latest | jq -r ".assets[]") |
||||
|
|
||||
|
# =============================================== |
||||
|
install_deps() { |
||||
|
if ! [[ -x "$(command -v jq)" ]]; then |
||||
|
echo '-------------------------' |
||||
|
echo '| Installing jq package |' |
||||
|
echo '-------------------------' |
||||
|
apt-get update && |
||||
|
apt-get install -y jq |
||||
|
fi |
||||
|
} |
||||
|
check_updates() { |
||||
|
if [[ ! -d ./vuetorrent ]]; then |
||||
|
NEEDS_UPDATE=true |
||||
|
elif [[ ! -f $RELEASE_FILEPATH ]]; then |
||||
|
NEEDS_UPDATE=true |
||||
|
else |
||||
|
old_date=$(date -d $(cat "${RELEASE_FILEPATH}" | jq -r ".updated_at") +%s) |
||||
|
new_date=$(date -d $(echo $CURRENT_RELEASE | jq -r ".updated_at") +%s) |
||||
|
if [ $new_date -gt $old_date ]; then |
||||
|
NEEDS_UPDATE=true |
||||
|
fi |
||||
|
fi |
||||
|
} |
||||
|
update_ui() { |
||||
|
printf '\nDownloading qBittorrent webui to "/vuetorrent"..please wait\n' |
||||
|
curl -L $(echo $CURRENT_RELEASE | jq -r ".browser_download_url") --output /tmp/vuetorrent.zip |
||||
|
printf '\nDownload finished\n\n' |
||||
|
if [[ -d /vuetorrent ]]; then |
||||
|
rm -rf /vuetorrent |
||||
|
fi |
||||
|
# mkdir -p /vuetorrent |
||||
|
unzip -q /tmp/vuetorrent.zip -d / |
||||
|
echo $CURRENT_RELEASE >"${RELEASE_FILEPATH}" |
||||
|
} |
||||
|
# =============================================== |
||||
|
|
||||
|
echo '-----------------------------------------' |
||||
|
echo '| qBittorrent vuetorrent theme.park Mod |' |
||||
|
echo '-----------------------------------------' |
||||
|
|
||||
|
install_deps |
||||
|
check_updates |
||||
|
|
||||
|
if [ "$NEEDS_UPDATE" = true ]; then |
||||
|
echo '---------------------------------------' |
||||
|
echo '| Downloading WebUI files from github |' |
||||
|
echo '---------------------------------------' |
||||
|
update_ui |
||||
|
else |
||||
|
echo ' WebUI files are up-to-date!' |
||||
|
fi |
||||
|
|
||||
|
# Adding stylesheets |
||||
|
if ! grep -q "${TP_DOMAIN}" /vuetorrent/public/index.html; then |
||||
|
echo '---------------------------------------------------------' |
||||
|
echo '| Adding the stylesheet to /vuetorrent/public/index.html |' |
||||
|
echo '---------------------------------------------------------' |
||||
|
sed -i "s/<\/body>/<link rel='stylesheet' href='https:\/\/${TP_DOMAIN}\/CSS\/themes\/vuetorrent\/${TP_THEME}.css'><\/body> /g" /vuetorrent/public/index.html |
||||
|
printf 'Stylesheet set to %s on public index.html\n' "${TP_THEME}" |
||||
|
fi |
||||
|
|
||||
|
if ! grep -q "WebUI\\\RootFolder" "${APP_FILEPATH}"; then |
||||
|
echo '--------------------------------------' |
||||
|
echo '| Adding WebUI\RootFolder=/vuetorrent |' |
||||
|
echo '--------------------------------------' |
||||
|
sed -i -e '$aWebUI\\RootFolder=/vuetorrent' "${APP_FILEPATH}" |
||||
|
fi |
||||
|
|
||||
|
if ! grep -q "WebUI\\\AlternativeUIEnabled" "${APP_FILEPATH}"; then |
||||
|
echo '------------------------------------------' |
||||
|
echo '| Adding WebUI\AlternativeUIEnabled=true |' |
||||
|
echo '------------------------------------------' |
||||
|
sed -i -e '$aWebUI\\AlternativeUIEnabled=true' "${APP_FILEPATH}" |
||||
|
fi |
||||
|
|
||||
|
if ! grep -q "WebUI\\\RootFolder=/vuetorrent" "${APP_FILEPATH}" || ! grep -q "WebUI\\\AlternativeUIEnabled=true" "${APP_FILEPATH}"; then |
||||
|
echo '-------------------------------------------------------' |
||||
|
echo '| Updating RootFolder and AlternativeUIEnabled values |' |
||||
|
echo '-------------------------------------------------------' |
||||
|
sed -i "s/WebUI\\\AlternativeUIEnabled=.*$/WebUI\\\AlternativeUIEnabled=true/g" "${APP_FILEPATH}" |
||||
|
sed -i "s/WebUI\\\RootFolder=.*$/WebUI\\\RootFolder=\/vuetorrent/g" "${APP_FILEPATH}" |
||||
|
fi |
Loading…
Reference in new issue