diff --git a/.github/workflows/renovate-app-version.sh b/.github/workflows/renovate-app-version.sh index faa8c719..b5b2f955 100644 --- a/.github/workflows/renovate-app-version.sh +++ b/.github/workflows/renovate-app-version.sh @@ -1,49 +1,26 @@ #!/bin/bash -# 此脚本将docker-compose.yml文件中的版本号复制到config.json文件中。 +# This script copies the version from docker-compose.yml to config.json. app_name=$1 old_version=$2 -# 查找/$app_name目录下的所有docker-compose文件(应该只有一个) -docker_compose_files=$(find $app_name/$old_version -name docker-compose.yml) +# find all docker-compose files under apps/$app_name (there should be only one) +docker_compose_files=$(find apps/$app_name/$old_version -name docker-compose.yml) -# 声明一个关联数组,用于存储每个app_name对应的排除版本号 -declare -A excluded_versions -excluded_versions["qBittorrent"]="4.3.5" -excluded_versions["php-unofficial"]="all" -# 如果需要,可以添加更多的排除版本号 - -# 遍历每个docker-compose文件 for docker_compose_file in $docker_compose_files do - # 如果app_name和版本号匹配了排除版本号,跳过处理 - if [[ "${excluded_versions[$app_name]}" == "all" ]]; then - continue - fi + # Assuming that the app version will be from the first docker image + first_service=$(yq '.services | keys | .[0]' $docker_compose_file) - # 假设应用的版本号位于第一个docker镜像的标签中 - first_service=$(yq '.services | keys | .[0]' $docker_compose_file) + image=$(yq .services.$first_service.image $docker_compose_file) - # 获取镜像名称 - image=$(yq .services.$first_service.image $docker_compose_file) + # Only apply changes if the format is : + if [[ "$image" == *":"* ]]; then + version=$(cut -d ":" -f2- <<< "$image") - # 只有当镜像名称的格式为:时才应用更改 - if [[ "$image" == *":"* ]]; then - # 提取版本号 - version=$(cut -d ":" -f2- <<< "$image") + # Trim the "v" prefix + trimmed_version=${version/#"v"} - # 去掉版本号开头的"v"前缀 - trimmed_version=${version/#"v"} - - # 如果app_name和版本号匹配了排除版本号,跳过处理 - if [[ "${excluded_versions[$app_name]}" == "$trimmed_version" ]]; then - continue + mv apps/$app_name/$old_version apps/$app_name/$trimmed_version fi - - # 获取当前docker-compose文件所在的目录路径 - current_directory=$(dirname "$docker_compose_file") - - # 修改当前目录名为提取的版本号 - mv "$current_directory" "$app_name/$trimmed_version" - fi -done +done \ No newline at end of file diff --git a/.github/workflows/renovate-app-version.yml b/.github/workflows/renovate-app-version.yml index 92112556..fcb8651e 100644 --- a/.github/workflows/renovate-app-version.yml +++ b/.github/workflows/renovate-app-version.yml @@ -43,6 +43,6 @@ jobs: for file in "${files[@]}"; do if [[ $file == *"docker-compose.yml"* ]]; then app_name=$(echo $file | cut -d'/' -f 2) - git add "$app_name/*" && git commit -m "Update app version" --no-verify && git push || true + git add "apps/$app_name/*" && git commit -m "Update app version" --no-verify && git push || true fi done diff --git a/README.md b/README.md index ee7fd838..5c65eac4 100644 --- a/README.md +++ b/README.md @@ -8,15 +8,24 @@ ### 2.1 -- 当`/opt/1panel/resource/apps/local`文件夹下没有任何内容,则可以 +- 方式一:使用`git` 方式获取应用到`/opt/1panel/resource/apps/local`文件夹下 ```shell -git clone -b localApps https://github.com/okxlin/appstore /opt/1panel/resource/apps/local +# 克隆名为 localApps 的分支的仓库到 /opt/1panel/resource/apps/local 目录下 +git clone -b localApps https://github.com/okxlin/appstore /opt/1panel/resource/apps/local + +# 将 /opt/1panel/resource/apps/local/apps 目录下的所有文件移动到 /opt/1panel/resource/apps/local/ 目录下 +mv /opt/1panel/resource/apps/local/apps/* /opt/1panel/resource/apps/local/ + +# 删除 /opt/1panel/resource/apps/local/apps 目录及其内容 +rm -r /opt/1panel/resource/apps/local/apps + ``` + 然后应用商店刷新本地应用即可。 ### 2.2 -- 当`/opt/1panel/resource/apps/local`文件夹下已经存在文件内容, +- 方式二:使用压缩包方式获取应用到`/opt/1panel/resource/apps/local`文件夹下 ```shell cd /opt/1panel/resource/apps/local # 进入目标目录 @@ -25,9 +34,9 @@ wget https://github.com/okxlin/appstore/archive/refs/heads/localApps.zip # 从G unzip localApps.zip # 解压下载的ZIP文件 -cd appstore-localApps # 进入解压后的目录 +cd ./appstore-localApps/apps # 进入解压后的目录 -mv ./* .. # 将所有文件和目录移动到父目录中 +mv ./* /opt/1panel/resource/apps/local/ # 将所有文件和目录移动到指定目录中 cd /opt/1panel/resource/apps/local # 进入目标目录 @@ -37,7 +46,6 @@ rm /opt/1panel/resource/apps/local/localApps.zip # 删除下载的ZIP文件 ``` - 然后应用商店刷新本地应用即可。 diff --git a/aaPanel/README.md b/apps/aaPanel/README.md similarity index 100% rename from aaPanel/README.md rename to apps/aaPanel/README.md diff --git a/aaPanel/data.yml b/apps/aaPanel/data.yml similarity index 100% rename from aaPanel/data.yml rename to apps/aaPanel/data.yml diff --git a/aaPanel/latest/.env.sample b/apps/aaPanel/latest/.env.sample similarity index 100% rename from aaPanel/latest/.env.sample rename to apps/aaPanel/latest/.env.sample diff --git a/aaPanel/latest/data.yml b/apps/aaPanel/latest/data.yml similarity index 100% rename from aaPanel/latest/data.yml rename to apps/aaPanel/latest/data.yml diff --git a/aaPanel/latest/docker-compose.yml b/apps/aaPanel/latest/docker-compose.yml similarity index 100% rename from aaPanel/latest/docker-compose.yml rename to apps/aaPanel/latest/docker-compose.yml diff --git a/aaPanel/logo.png b/apps/aaPanel/logo.png similarity index 100% rename from aaPanel/logo.png rename to apps/aaPanel/logo.png diff --git a/alist/3.18.0/.env.sample b/apps/alist/3.18.0/.env.sample similarity index 100% rename from alist/3.18.0/.env.sample rename to apps/alist/3.18.0/.env.sample diff --git a/alist/3.18.0/data.yml b/apps/alist/3.18.0/data.yml similarity index 100% rename from alist/3.18.0/data.yml rename to apps/alist/3.18.0/data.yml diff --git a/alist/3.18.0/data/data/.gitkeep b/apps/alist/3.18.0/data/data/.gitkeep similarity index 100% rename from alist/3.18.0/data/data/.gitkeep rename to apps/alist/3.18.0/data/data/.gitkeep diff --git a/alist/3.18.0/data/mnt/.gitkeep b/apps/alist/3.18.0/data/mnt/.gitkeep similarity index 100% rename from alist/3.18.0/data/mnt/.gitkeep rename to apps/alist/3.18.0/data/mnt/.gitkeep diff --git a/alist/3.18.0/docker-compose.yml b/apps/alist/3.18.0/docker-compose.yml similarity index 100% rename from alist/3.18.0/docker-compose.yml rename to apps/alist/3.18.0/docker-compose.yml diff --git a/alist/README.md b/apps/alist/README.md similarity index 100% rename from alist/README.md rename to apps/alist/README.md diff --git a/alist/data.yml b/apps/alist/data.yml similarity index 100% rename from alist/data.yml rename to apps/alist/data.yml diff --git a/alist/latest/.env.sample b/apps/alist/latest/.env.sample similarity index 100% rename from alist/latest/.env.sample rename to apps/alist/latest/.env.sample diff --git a/alist/latest/data.yml b/apps/alist/latest/data.yml similarity index 100% rename from alist/latest/data.yml rename to apps/alist/latest/data.yml diff --git a/alist/latest/data/data/.gitkeep b/apps/alist/latest/data/data/.gitkeep similarity index 100% rename from alist/latest/data/data/.gitkeep rename to apps/alist/latest/data/data/.gitkeep diff --git a/alist/latest/data/mnt/.gitkeep b/apps/alist/latest/data/mnt/.gitkeep similarity index 100% rename from alist/latest/data/mnt/.gitkeep rename to apps/alist/latest/data/mnt/.gitkeep diff --git a/alist/latest/docker-compose.yml b/apps/alist/latest/docker-compose.yml similarity index 100% rename from alist/latest/docker-compose.yml rename to apps/alist/latest/docker-compose.yml diff --git a/alist/logo.png b/apps/alist/logo.png similarity index 100% rename from alist/logo.png rename to apps/alist/logo.png diff --git a/als/README.md b/apps/als/README.md similarity index 100% rename from als/README.md rename to apps/als/README.md diff --git a/als/data.yml b/apps/als/data.yml similarity index 100% rename from als/data.yml rename to apps/als/data.yml diff --git a/als/latest/.env.sample b/apps/als/latest/.env.sample similarity index 100% rename from als/latest/.env.sample rename to apps/als/latest/.env.sample diff --git a/als/latest/data.yml b/apps/als/latest/data.yml similarity index 100% rename from als/latest/data.yml rename to apps/als/latest/data.yml diff --git a/als/latest/docker-compose.yml b/apps/als/latest/docker-compose.yml similarity index 100% rename from als/latest/docker-compose.yml rename to apps/als/latest/docker-compose.yml diff --git a/als/logo.png b/apps/als/logo.png similarity index 100% rename from als/logo.png rename to apps/als/logo.png diff --git a/baidunetdisk/4.14.6_arm64v8/.env.sample b/apps/baidunetdisk/4.14.6_arm64v8/.env.sample similarity index 100% rename from baidunetdisk/4.14.6_arm64v8/.env.sample rename to apps/baidunetdisk/4.14.6_arm64v8/.env.sample diff --git a/baidunetdisk/4.14.6_arm64v8/data.yml b/apps/baidunetdisk/4.14.6_arm64v8/data.yml similarity index 100% rename from baidunetdisk/4.14.6_arm64v8/data.yml rename to apps/baidunetdisk/4.14.6_arm64v8/data.yml diff --git a/baidunetdisk/4.14.6_arm64v8/data/config/.gitkeep b/apps/baidunetdisk/4.14.6_arm64v8/data/config/.gitkeep similarity index 100% rename from baidunetdisk/4.14.6_arm64v8/data/config/.gitkeep rename to apps/baidunetdisk/4.14.6_arm64v8/data/config/.gitkeep diff --git a/baidunetdisk/4.14.6_arm64v8/data/downloads/.gitkeep b/apps/baidunetdisk/4.14.6_arm64v8/data/downloads/.gitkeep similarity index 100% rename from baidunetdisk/4.14.6_arm64v8/data/downloads/.gitkeep rename to apps/baidunetdisk/4.14.6_arm64v8/data/downloads/.gitkeep diff --git a/baidunetdisk/4.14.6_arm64v8/docker-compose.yml b/apps/baidunetdisk/4.14.6_arm64v8/docker-compose.yml similarity index 100% rename from baidunetdisk/4.14.6_arm64v8/docker-compose.yml rename to apps/baidunetdisk/4.14.6_arm64v8/docker-compose.yml diff --git a/baidunetdisk/4.17.7/.env.sample b/apps/baidunetdisk/4.17.7/.env.sample similarity index 100% rename from baidunetdisk/4.17.7/.env.sample rename to apps/baidunetdisk/4.17.7/.env.sample diff --git a/baidunetdisk/4.17.7/data.yml b/apps/baidunetdisk/4.17.7/data.yml similarity index 100% rename from baidunetdisk/4.17.7/data.yml rename to apps/baidunetdisk/4.17.7/data.yml diff --git a/baidunetdisk/4.17.7/data/config/.gitkeep b/apps/baidunetdisk/4.17.7/data/config/.gitkeep similarity index 100% rename from baidunetdisk/4.17.7/data/config/.gitkeep rename to apps/baidunetdisk/4.17.7/data/config/.gitkeep diff --git a/baidunetdisk/4.17.7/data/downloads/.gitkeep b/apps/baidunetdisk/4.17.7/data/downloads/.gitkeep similarity index 100% rename from baidunetdisk/4.17.7/data/downloads/.gitkeep rename to apps/baidunetdisk/4.17.7/data/downloads/.gitkeep diff --git a/baidunetdisk/4.17.7/docker-compose.yml b/apps/baidunetdisk/4.17.7/docker-compose.yml similarity index 100% rename from baidunetdisk/4.17.7/docker-compose.yml rename to apps/baidunetdisk/4.17.7/docker-compose.yml diff --git a/baidunetdisk/README.md b/apps/baidunetdisk/README.md similarity index 100% rename from baidunetdisk/README.md rename to apps/baidunetdisk/README.md diff --git a/baidunetdisk/data.yml b/apps/baidunetdisk/data.yml similarity index 100% rename from baidunetdisk/data.yml rename to apps/baidunetdisk/data.yml diff --git a/baidunetdisk/latest/.env.sample b/apps/baidunetdisk/latest/.env.sample similarity index 100% rename from baidunetdisk/latest/.env.sample rename to apps/baidunetdisk/latest/.env.sample diff --git a/baidunetdisk/latest/data.yml b/apps/baidunetdisk/latest/data.yml similarity index 100% rename from baidunetdisk/latest/data.yml rename to apps/baidunetdisk/latest/data.yml diff --git a/baidunetdisk/latest/data/config/.gitkeep b/apps/baidunetdisk/latest/data/config/.gitkeep similarity index 100% rename from baidunetdisk/latest/data/config/.gitkeep rename to apps/baidunetdisk/latest/data/config/.gitkeep diff --git a/baidunetdisk/latest/data/downloads/.gitkeep b/apps/baidunetdisk/latest/data/downloads/.gitkeep similarity index 100% rename from baidunetdisk/latest/data/downloads/.gitkeep rename to apps/baidunetdisk/latest/data/downloads/.gitkeep diff --git a/baidunetdisk/latest/docker-compose.yml b/apps/baidunetdisk/latest/docker-compose.yml similarity index 100% rename from baidunetdisk/latest/docker-compose.yml rename to apps/baidunetdisk/latest/docker-compose.yml diff --git a/baidunetdisk/logo.png b/apps/baidunetdisk/logo.png similarity index 100% rename from baidunetdisk/logo.png rename to apps/baidunetdisk/logo.png diff --git a/chatgpt-web/README.md b/apps/chatgpt-web/README.md similarity index 100% rename from chatgpt-web/README.md rename to apps/chatgpt-web/README.md diff --git a/chatgpt-web/data.yml b/apps/chatgpt-web/data.yml similarity index 100% rename from chatgpt-web/data.yml rename to apps/chatgpt-web/data.yml diff --git a/chatgpt-web/latest/.env.sample b/apps/chatgpt-web/latest/.env.sample similarity index 100% rename from chatgpt-web/latest/.env.sample rename to apps/chatgpt-web/latest/.env.sample diff --git a/chatgpt-web/latest/data.yml b/apps/chatgpt-web/latest/data.yml similarity index 100% rename from chatgpt-web/latest/data.yml rename to apps/chatgpt-web/latest/data.yml diff --git a/chatgpt-web/latest/docker-compose.yml b/apps/chatgpt-web/latest/docker-compose.yml similarity index 100% rename from chatgpt-web/latest/docker-compose.yml rename to apps/chatgpt-web/latest/docker-compose.yml diff --git a/chatgpt-web/logo.png b/apps/chatgpt-web/logo.png similarity index 100% rename from chatgpt-web/logo.png rename to apps/chatgpt-web/logo.png diff --git a/ddns-go/5.3.2/data.yml b/apps/ddns-go/5.3.2/data.yml similarity index 100% rename from ddns-go/5.3.2/data.yml rename to apps/ddns-go/5.3.2/data.yml diff --git a/ddns-go/5.3.2/docker-compose.yml b/apps/ddns-go/5.3.2/docker-compose.yml similarity index 100% rename from ddns-go/5.3.2/docker-compose.yml rename to apps/ddns-go/5.3.2/docker-compose.yml diff --git a/ddns-go/README.md b/apps/ddns-go/README.md similarity index 100% rename from ddns-go/README.md rename to apps/ddns-go/README.md diff --git a/ddns-go/data.yml b/apps/ddns-go/data.yml similarity index 100% rename from ddns-go/data.yml rename to apps/ddns-go/data.yml diff --git a/ddns-go/latest/data.yml b/apps/ddns-go/latest/data.yml similarity index 100% rename from ddns-go/latest/data.yml rename to apps/ddns-go/latest/data.yml diff --git a/ddns-go/latest/docker-compose.yml b/apps/ddns-go/latest/docker-compose.yml similarity index 100% rename from ddns-go/latest/docker-compose.yml rename to apps/ddns-go/latest/docker-compose.yml diff --git a/ddns-go/logo.png b/apps/ddns-go/logo.png similarity index 100% rename from ddns-go/logo.png rename to apps/ddns-go/logo.png diff --git a/flarum/1.7.1/.env.sample b/apps/flarum/1.7.1/.env.sample similarity index 100% rename from flarum/1.7.1/.env.sample rename to apps/flarum/1.7.1/.env.sample diff --git a/flarum/1.7.1/data.yml b/apps/flarum/1.7.1/data.yml similarity index 100% rename from flarum/1.7.1/data.yml rename to apps/flarum/1.7.1/data.yml diff --git a/flarum/1.7.1/data/.gitkeep b/apps/flarum/1.7.1/data/.gitkeep similarity index 100% rename from flarum/1.7.1/data/.gitkeep rename to apps/flarum/1.7.1/data/.gitkeep diff --git a/flarum/1.7.1/docker-compose.yml b/apps/flarum/1.7.1/docker-compose.yml similarity index 100% rename from flarum/1.7.1/docker-compose.yml rename to apps/flarum/1.7.1/docker-compose.yml diff --git a/flarum/README.md b/apps/flarum/README.md similarity index 100% rename from flarum/README.md rename to apps/flarum/README.md diff --git a/flarum/data.yml b/apps/flarum/data.yml similarity index 100% rename from flarum/data.yml rename to apps/flarum/data.yml diff --git a/flarum/latest/.env.sample b/apps/flarum/latest/.env.sample similarity index 100% rename from flarum/latest/.env.sample rename to apps/flarum/latest/.env.sample diff --git a/flarum/latest/data.yml b/apps/flarum/latest/data.yml similarity index 100% rename from flarum/latest/data.yml rename to apps/flarum/latest/data.yml diff --git a/flarum/latest/data/.gitkeep b/apps/flarum/latest/data/.gitkeep similarity index 100% rename from flarum/latest/data/.gitkeep rename to apps/flarum/latest/data/.gitkeep diff --git a/flarum/latest/docker-compose.yml b/apps/flarum/latest/docker-compose.yml similarity index 100% rename from flarum/latest/docker-compose.yml rename to apps/flarum/latest/docker-compose.yml diff --git a/flarum/logo.png b/apps/flarum/logo.png similarity index 100% rename from flarum/logo.png rename to apps/flarum/logo.png diff --git a/frps/0.49.0/.env.sample b/apps/frps/0.49.0/.env.sample similarity index 100% rename from frps/0.49.0/.env.sample rename to apps/frps/0.49.0/.env.sample diff --git a/frps/0.49.0/data.yml b/apps/frps/0.49.0/data.yml similarity index 100% rename from frps/0.49.0/data.yml rename to apps/frps/0.49.0/data.yml diff --git a/frps/0.49.0/data/frpc.ini b/apps/frps/0.49.0/data/frpc.ini similarity index 100% rename from frps/0.49.0/data/frpc.ini rename to apps/frps/0.49.0/data/frpc.ini diff --git a/frps/0.49.0/data/frpc_full.ini b/apps/frps/0.49.0/data/frpc_full.ini similarity index 100% rename from frps/0.49.0/data/frpc_full.ini rename to apps/frps/0.49.0/data/frpc_full.ini diff --git a/frps/0.49.0/data/frps.ini b/apps/frps/0.49.0/data/frps.ini similarity index 100% rename from frps/0.49.0/data/frps.ini rename to apps/frps/0.49.0/data/frps.ini diff --git a/frps/0.49.0/data/frps_full.ini b/apps/frps/0.49.0/data/frps_full.ini similarity index 100% rename from frps/0.49.0/data/frps_full.ini rename to apps/frps/0.49.0/data/frps_full.ini diff --git a/frps/0.49.0/docker-compose.yml b/apps/frps/0.49.0/docker-compose.yml similarity index 100% rename from frps/0.49.0/docker-compose.yml rename to apps/frps/0.49.0/docker-compose.yml diff --git a/frps/README.md b/apps/frps/README.md similarity index 100% rename from frps/README.md rename to apps/frps/README.md diff --git a/frps/data.yml b/apps/frps/data.yml similarity index 100% rename from frps/data.yml rename to apps/frps/data.yml diff --git a/frps/latest/.env.sample b/apps/frps/latest/.env.sample similarity index 100% rename from frps/latest/.env.sample rename to apps/frps/latest/.env.sample diff --git a/frps/latest/data.yml b/apps/frps/latest/data.yml similarity index 100% rename from frps/latest/data.yml rename to apps/frps/latest/data.yml diff --git a/frps/latest/data/frpc.ini b/apps/frps/latest/data/frpc.ini similarity index 100% rename from frps/latest/data/frpc.ini rename to apps/frps/latest/data/frpc.ini diff --git a/frps/latest/data/frpc_full.ini b/apps/frps/latest/data/frpc_full.ini similarity index 100% rename from frps/latest/data/frpc_full.ini rename to apps/frps/latest/data/frpc_full.ini diff --git a/frps/latest/data/frps.ini b/apps/frps/latest/data/frps.ini similarity index 100% rename from frps/latest/data/frps.ini rename to apps/frps/latest/data/frps.ini diff --git a/frps/latest/data/frps_full.ini b/apps/frps/latest/data/frps_full.ini similarity index 100% rename from frps/latest/data/frps_full.ini rename to apps/frps/latest/data/frps_full.ini diff --git a/frps/latest/docker-compose.yml b/apps/frps/latest/docker-compose.yml similarity index 100% rename from frps/latest/docker-compose.yml rename to apps/frps/latest/docker-compose.yml diff --git a/frps/logo.png b/apps/frps/logo.png similarity index 100% rename from frps/logo.png rename to apps/frps/logo.png diff --git a/jellyfin/10.8.10/.env.sample b/apps/jellyfin/10.8.10/.env.sample similarity index 100% rename from jellyfin/10.8.10/.env.sample rename to apps/jellyfin/10.8.10/.env.sample diff --git a/jellyfin/10.8.10/data.yml b/apps/jellyfin/10.8.10/data.yml similarity index 100% rename from jellyfin/10.8.10/data.yml rename to apps/jellyfin/10.8.10/data.yml diff --git a/jellyfin/10.8.10/data/cache/.gitkeep b/apps/jellyfin/10.8.10/data/cache/.gitkeep similarity index 100% rename from jellyfin/10.8.10/data/cache/.gitkeep rename to apps/jellyfin/10.8.10/data/cache/.gitkeep diff --git a/jellyfin/10.8.10/data/config/.gitkeep b/apps/jellyfin/10.8.10/data/config/.gitkeep similarity index 100% rename from jellyfin/10.8.10/data/config/.gitkeep rename to apps/jellyfin/10.8.10/data/config/.gitkeep diff --git a/jellyfin/10.8.10/data/media/.gitkeep b/apps/jellyfin/10.8.10/data/media/.gitkeep similarity index 100% rename from jellyfin/10.8.10/data/media/.gitkeep rename to apps/jellyfin/10.8.10/data/media/.gitkeep diff --git a/jellyfin/10.8.10/docker-compose.yml b/apps/jellyfin/10.8.10/docker-compose.yml similarity index 100% rename from jellyfin/10.8.10/docker-compose.yml rename to apps/jellyfin/10.8.10/docker-compose.yml diff --git a/jellyfin/README.md b/apps/jellyfin/README.md similarity index 100% rename from jellyfin/README.md rename to apps/jellyfin/README.md diff --git a/jellyfin/data.yml b/apps/jellyfin/data.yml similarity index 100% rename from jellyfin/data.yml rename to apps/jellyfin/data.yml diff --git a/jellyfin/logo.png b/apps/jellyfin/logo.png similarity index 100% rename from jellyfin/logo.png rename to apps/jellyfin/logo.png diff --git a/jellyfin/unstable/.env.sample b/apps/jellyfin/unstable/.env.sample similarity index 100% rename from jellyfin/unstable/.env.sample rename to apps/jellyfin/unstable/.env.sample diff --git a/jellyfin/unstable/data.yml b/apps/jellyfin/unstable/data.yml similarity index 100% rename from jellyfin/unstable/data.yml rename to apps/jellyfin/unstable/data.yml diff --git a/jellyfin/unstable/data/cache/.gitkeep b/apps/jellyfin/unstable/data/cache/.gitkeep similarity index 100% rename from jellyfin/unstable/data/cache/.gitkeep rename to apps/jellyfin/unstable/data/cache/.gitkeep diff --git a/jellyfin/unstable/data/config/.gitkeep b/apps/jellyfin/unstable/data/config/.gitkeep similarity index 100% rename from jellyfin/unstable/data/config/.gitkeep rename to apps/jellyfin/unstable/data/config/.gitkeep diff --git a/jellyfin/unstable/data/media/.gitkeep b/apps/jellyfin/unstable/data/media/.gitkeep similarity index 100% rename from jellyfin/unstable/data/media/.gitkeep rename to apps/jellyfin/unstable/data/media/.gitkeep diff --git a/jellyfin/unstable/docker-compose.yml b/apps/jellyfin/unstable/docker-compose.yml similarity index 100% rename from jellyfin/unstable/docker-compose.yml rename to apps/jellyfin/unstable/docker-compose.yml diff --git a/mdserver-web/README.md b/apps/mdserver-web/README.md similarity index 100% rename from mdserver-web/README.md rename to apps/mdserver-web/README.md diff --git a/mdserver-web/data.yml b/apps/mdserver-web/data.yml similarity index 100% rename from mdserver-web/data.yml rename to apps/mdserver-web/data.yml diff --git a/mdserver-web/latest/data.yml b/apps/mdserver-web/latest/data.yml similarity index 100% rename from mdserver-web/latest/data.yml rename to apps/mdserver-web/latest/data.yml diff --git a/mdserver-web/latest/docker-compose.yml b/apps/mdserver-web/latest/docker-compose.yml similarity index 100% rename from mdserver-web/latest/docker-compose.yml rename to apps/mdserver-web/latest/docker-compose.yml diff --git a/mdserver-web/logo.png b/apps/mdserver-web/logo.png similarity index 100% rename from mdserver-web/logo.png rename to apps/mdserver-web/logo.png diff --git a/memcached/1.6.19/.env.sample b/apps/memcached/1.6.19/.env.sample similarity index 100% rename from memcached/1.6.19/.env.sample rename to apps/memcached/1.6.19/.env.sample diff --git a/memcached/1.6.19/data.yml b/apps/memcached/1.6.19/data.yml similarity index 100% rename from memcached/1.6.19/data.yml rename to apps/memcached/1.6.19/data.yml diff --git a/memcached/1.6.19/docker-compose.yml b/apps/memcached/1.6.19/docker-compose.yml similarity index 100% rename from memcached/1.6.19/docker-compose.yml rename to apps/memcached/1.6.19/docker-compose.yml diff --git a/memcached/README.md b/apps/memcached/README.md similarity index 100% rename from memcached/README.md rename to apps/memcached/README.md diff --git a/memcached/data.yml b/apps/memcached/data.yml similarity index 100% rename from memcached/data.yml rename to apps/memcached/data.yml diff --git a/memcached/latest/.env.sample b/apps/memcached/latest/.env.sample similarity index 100% rename from memcached/latest/.env.sample rename to apps/memcached/latest/.env.sample diff --git a/memcached/latest/data.yml b/apps/memcached/latest/data.yml similarity index 100% rename from memcached/latest/data.yml rename to apps/memcached/latest/data.yml diff --git a/memcached/latest/docker-compose.yml b/apps/memcached/latest/docker-compose.yml similarity index 100% rename from memcached/latest/docker-compose.yml rename to apps/memcached/latest/docker-compose.yml diff --git a/memcached/logo.png b/apps/memcached/logo.png similarity index 100% rename from memcached/logo.png rename to apps/memcached/logo.png diff --git a/php-unofficial/7.4.33-alpine/.env.sample b/apps/php-unofficial/7.4.33-alpine/.env.sample similarity index 100% rename from php-unofficial/7.4.33-alpine/.env.sample rename to apps/php-unofficial/7.4.33-alpine/.env.sample diff --git a/php-unofficial/7.4.33-alpine/Dockerfile b/apps/php-unofficial/7.4.33-alpine/Dockerfile similarity index 100% rename from php-unofficial/7.4.33-alpine/Dockerfile rename to apps/php-unofficial/7.4.33-alpine/Dockerfile diff --git a/php-unofficial/7.4.33-alpine/data.yml b/apps/php-unofficial/7.4.33-alpine/data.yml similarity index 100% rename from php-unofficial/7.4.33-alpine/data.yml rename to apps/php-unofficial/7.4.33-alpine/data.yml diff --git a/php-unofficial/7.4.33-alpine/data/php-fpm.conf b/apps/php-unofficial/7.4.33-alpine/data/php-fpm.conf similarity index 100% rename from php-unofficial/7.4.33-alpine/data/php-fpm.conf rename to apps/php-unofficial/7.4.33-alpine/data/php-fpm.conf diff --git a/php-unofficial/7.4.33-alpine/data/php.ini b/apps/php-unofficial/7.4.33-alpine/data/php.ini similarity index 100% rename from php-unofficial/7.4.33-alpine/data/php.ini rename to apps/php-unofficial/7.4.33-alpine/data/php.ini diff --git a/php-unofficial/7.4.33-alpine/docker-compose.yml b/apps/php-unofficial/7.4.33-alpine/docker-compose.yml similarity index 100% rename from php-unofficial/7.4.33-alpine/docker-compose.yml rename to apps/php-unofficial/7.4.33-alpine/docker-compose.yml diff --git a/php-unofficial/7.4.33/.env.sample b/apps/php-unofficial/7.4.33/.env.sample similarity index 100% rename from php-unofficial/7.4.33/.env.sample rename to apps/php-unofficial/7.4.33/.env.sample diff --git a/php-unofficial/7.4.33/Dockerfile b/apps/php-unofficial/7.4.33/Dockerfile similarity index 100% rename from php-unofficial/7.4.33/Dockerfile rename to apps/php-unofficial/7.4.33/Dockerfile diff --git a/php-unofficial/7.4.33/data.yml b/apps/php-unofficial/7.4.33/data.yml similarity index 100% rename from php-unofficial/7.4.33/data.yml rename to apps/php-unofficial/7.4.33/data.yml diff --git a/php-unofficial/7.4.33/data/php-fpm.conf b/apps/php-unofficial/7.4.33/data/php-fpm.conf similarity index 100% rename from php-unofficial/7.4.33/data/php-fpm.conf rename to apps/php-unofficial/7.4.33/data/php-fpm.conf diff --git a/php-unofficial/7.4.33/data/php.ini b/apps/php-unofficial/7.4.33/data/php.ini similarity index 100% rename from php-unofficial/7.4.33/data/php.ini rename to apps/php-unofficial/7.4.33/data/php.ini diff --git a/php-unofficial/7.4.33/docker-compose.yml b/apps/php-unofficial/7.4.33/docker-compose.yml similarity index 100% rename from php-unofficial/7.4.33/docker-compose.yml rename to apps/php-unofficial/7.4.33/docker-compose.yml diff --git a/php-unofficial/8.1.17/.env.sample b/apps/php-unofficial/8.1.17/.env.sample similarity index 100% rename from php-unofficial/8.1.17/.env.sample rename to apps/php-unofficial/8.1.17/.env.sample diff --git a/php-unofficial/8.1.17/Dockerfile b/apps/php-unofficial/8.1.17/Dockerfile similarity index 100% rename from php-unofficial/8.1.17/Dockerfile rename to apps/php-unofficial/8.1.17/Dockerfile diff --git a/php-unofficial/8.1.17/data.yml b/apps/php-unofficial/8.1.17/data.yml similarity index 100% rename from php-unofficial/8.1.17/data.yml rename to apps/php-unofficial/8.1.17/data.yml diff --git a/php-unofficial/8.1.17/data/php-fpm.conf b/apps/php-unofficial/8.1.17/data/php-fpm.conf similarity index 100% rename from php-unofficial/8.1.17/data/php-fpm.conf rename to apps/php-unofficial/8.1.17/data/php-fpm.conf diff --git a/php-unofficial/8.1.17/data/php.ini b/apps/php-unofficial/8.1.17/data/php.ini similarity index 100% rename from php-unofficial/8.1.17/data/php.ini rename to apps/php-unofficial/8.1.17/data/php.ini diff --git a/php-unofficial/8.1.17/docker-compose.yml b/apps/php-unofficial/8.1.17/docker-compose.yml similarity index 100% rename from php-unofficial/8.1.17/docker-compose.yml rename to apps/php-unofficial/8.1.17/docker-compose.yml diff --git a/php-unofficial/README.md b/apps/php-unofficial/README.md similarity index 100% rename from php-unofficial/README.md rename to apps/php-unofficial/README.md diff --git a/php-unofficial/data.yml.bak b/apps/php-unofficial/data.yml.bak similarity index 100% rename from php-unofficial/data.yml.bak rename to apps/php-unofficial/data.yml.bak diff --git a/php-unofficial/logo.png b/apps/php-unofficial/logo.png similarity index 100% rename from php-unofficial/logo.png rename to apps/php-unofficial/logo.png diff --git a/qBittorrent/4.3.5/.env.sample b/apps/qBittorrent/4.3.5/.env.sample similarity index 100% rename from qBittorrent/4.3.5/.env.sample rename to apps/qBittorrent/4.3.5/.env.sample diff --git a/qBittorrent/4.3.5/data.yml b/apps/qBittorrent/4.3.5/data.yml similarity index 100% rename from qBittorrent/4.3.5/data.yml rename to apps/qBittorrent/4.3.5/data.yml diff --git a/qBittorrent/4.3.5/data/.cache/.gitkeep b/apps/qBittorrent/4.3.5/data/.cache/.gitkeep similarity index 100% rename from qBittorrent/4.3.5/data/.cache/.gitkeep rename to apps/qBittorrent/4.3.5/data/.cache/.gitkeep diff --git a/qBittorrent/4.3.5/data/.config/qBittorrent/qBittorrent.conf b/apps/qBittorrent/4.3.5/data/.config/qBittorrent/qBittorrent.conf similarity index 100% rename from qBittorrent/4.3.5/data/.config/qBittorrent/qBittorrent.conf rename to apps/qBittorrent/4.3.5/data/.config/qBittorrent/qBittorrent.conf diff --git a/qBittorrent/4.3.5/data/.local/.gitkeep b/apps/qBittorrent/4.3.5/data/.local/.gitkeep similarity index 100% rename from qBittorrent/4.3.5/data/.local/.gitkeep rename to apps/qBittorrent/4.3.5/data/.local/.gitkeep diff --git a/qBittorrent/4.3.5/data/downloads/.gitkeep b/apps/qBittorrent/4.3.5/data/downloads/.gitkeep similarity index 100% rename from qBittorrent/4.3.5/data/downloads/.gitkeep rename to apps/qBittorrent/4.3.5/data/downloads/.gitkeep diff --git a/qBittorrent/4.3.5/docker-compose.yml b/apps/qBittorrent/4.3.5/docker-compose.yml similarity index 100% rename from qBittorrent/4.3.5/docker-compose.yml rename to apps/qBittorrent/4.3.5/docker-compose.yml diff --git a/qBittorrent/4.5.2/.env.sample b/apps/qBittorrent/4.5.2/.env.sample similarity index 100% rename from qBittorrent/4.5.2/.env.sample rename to apps/qBittorrent/4.5.2/.env.sample diff --git a/qBittorrent/4.5.2/data.yml b/apps/qBittorrent/4.5.2/data.yml similarity index 100% rename from qBittorrent/4.5.2/data.yml rename to apps/qBittorrent/4.5.2/data.yml diff --git a/qBittorrent/4.5.2/data/.cache/.gitkeep b/apps/qBittorrent/4.5.2/data/.cache/.gitkeep similarity index 100% rename from qBittorrent/4.5.2/data/.cache/.gitkeep rename to apps/qBittorrent/4.5.2/data/.cache/.gitkeep diff --git a/qBittorrent/4.5.2/data/.config/qBittorrent/qBittorrent.conf b/apps/qBittorrent/4.5.2/data/.config/qBittorrent/qBittorrent.conf similarity index 100% rename from qBittorrent/4.5.2/data/.config/qBittorrent/qBittorrent.conf rename to apps/qBittorrent/4.5.2/data/.config/qBittorrent/qBittorrent.conf diff --git a/qBittorrent/4.5.2/data/.local/.gitkeep b/apps/qBittorrent/4.5.2/data/.local/.gitkeep similarity index 100% rename from qBittorrent/4.5.2/data/.local/.gitkeep rename to apps/qBittorrent/4.5.2/data/.local/.gitkeep diff --git a/qBittorrent/4.5.2/data/downloads/.gitkeep b/apps/qBittorrent/4.5.2/data/downloads/.gitkeep similarity index 100% rename from qBittorrent/4.5.2/data/downloads/.gitkeep rename to apps/qBittorrent/4.5.2/data/downloads/.gitkeep diff --git a/qBittorrent/4.5.2/docker-compose.yml b/apps/qBittorrent/4.5.2/docker-compose.yml similarity index 100% rename from qBittorrent/4.5.2/docker-compose.yml rename to apps/qBittorrent/4.5.2/docker-compose.yml diff --git a/qBittorrent/README.md b/apps/qBittorrent/README.md similarity index 100% rename from qBittorrent/README.md rename to apps/qBittorrent/README.md diff --git a/qBittorrent/data.yml b/apps/qBittorrent/data.yml similarity index 100% rename from qBittorrent/data.yml rename to apps/qBittorrent/data.yml diff --git a/qBittorrent/latest/.env.sample b/apps/qBittorrent/latest/.env.sample similarity index 100% rename from qBittorrent/latest/.env.sample rename to apps/qBittorrent/latest/.env.sample diff --git a/qBittorrent/latest/data.yml b/apps/qBittorrent/latest/data.yml similarity index 100% rename from qBittorrent/latest/data.yml rename to apps/qBittorrent/latest/data.yml diff --git a/qBittorrent/latest/data/.cache/.gitkeep b/apps/qBittorrent/latest/data/.cache/.gitkeep similarity index 100% rename from qBittorrent/latest/data/.cache/.gitkeep rename to apps/qBittorrent/latest/data/.cache/.gitkeep diff --git a/qBittorrent/latest/data/.config/qBittorrent/qBittorrent.conf b/apps/qBittorrent/latest/data/.config/qBittorrent/qBittorrent.conf similarity index 100% rename from qBittorrent/latest/data/.config/qBittorrent/qBittorrent.conf rename to apps/qBittorrent/latest/data/.config/qBittorrent/qBittorrent.conf diff --git a/qBittorrent/latest/data/.local/.gitkeep b/apps/qBittorrent/latest/data/.local/.gitkeep similarity index 100% rename from qBittorrent/latest/data/.local/.gitkeep rename to apps/qBittorrent/latest/data/.local/.gitkeep diff --git a/qBittorrent/latest/data/downloads/.gitkeep b/apps/qBittorrent/latest/data/downloads/.gitkeep similarity index 100% rename from qBittorrent/latest/data/downloads/.gitkeep rename to apps/qBittorrent/latest/data/downloads/.gitkeep diff --git a/qBittorrent/latest/docker-compose.yml b/apps/qBittorrent/latest/docker-compose.yml similarity index 100% rename from qBittorrent/latest/docker-compose.yml rename to apps/qBittorrent/latest/docker-compose.yml diff --git a/qBittorrent/logo.png b/apps/qBittorrent/logo.png similarity index 100% rename from qBittorrent/logo.png rename to apps/qBittorrent/logo.png diff --git a/rustdesk/README.md b/apps/rustdesk/README.md similarity index 100% rename from rustdesk/README.md rename to apps/rustdesk/README.md diff --git a/rustdesk/data.yml.bak b/apps/rustdesk/data.yml.bak similarity index 100% rename from rustdesk/data.yml.bak rename to apps/rustdesk/data.yml.bak diff --git a/rustdesk/latest/.env.sample b/apps/rustdesk/latest/.env.sample similarity index 100% rename from rustdesk/latest/.env.sample rename to apps/rustdesk/latest/.env.sample diff --git a/rustdesk/latest/data.yml b/apps/rustdesk/latest/data.yml similarity index 100% rename from rustdesk/latest/data.yml rename to apps/rustdesk/latest/data.yml diff --git a/rustdesk/latest/docker-compose.yml b/apps/rustdesk/latest/docker-compose.yml similarity index 100% rename from rustdesk/latest/docker-compose.yml rename to apps/rustdesk/latest/docker-compose.yml diff --git a/rustdesk/logo.png b/apps/rustdesk/logo.png similarity index 100% rename from rustdesk/logo.png rename to apps/rustdesk/logo.png diff --git a/watchtower/1.5.3/.env.sample b/apps/watchtower/1.5.3/.env.sample similarity index 100% rename from watchtower/1.5.3/.env.sample rename to apps/watchtower/1.5.3/.env.sample diff --git a/watchtower/1.5.3/data.yml b/apps/watchtower/1.5.3/data.yml similarity index 100% rename from watchtower/1.5.3/data.yml rename to apps/watchtower/1.5.3/data.yml diff --git a/watchtower/1.5.3/docker-compose.yml b/apps/watchtower/1.5.3/docker-compose.yml similarity index 100% rename from watchtower/1.5.3/docker-compose.yml rename to apps/watchtower/1.5.3/docker-compose.yml diff --git a/watchtower/README.md b/apps/watchtower/README.md similarity index 100% rename from watchtower/README.md rename to apps/watchtower/README.md diff --git a/watchtower/data.yml b/apps/watchtower/data.yml similarity index 100% rename from watchtower/data.yml rename to apps/watchtower/data.yml diff --git a/watchtower/latest/.env.sample b/apps/watchtower/latest/.env.sample similarity index 100% rename from watchtower/latest/.env.sample rename to apps/watchtower/latest/.env.sample diff --git a/watchtower/latest/data.yml b/apps/watchtower/latest/data.yml similarity index 100% rename from watchtower/latest/data.yml rename to apps/watchtower/latest/data.yml diff --git a/watchtower/latest/docker-compose.yml b/apps/watchtower/latest/docker-compose.yml similarity index 100% rename from watchtower/latest/docker-compose.yml rename to apps/watchtower/latest/docker-compose.yml diff --git a/watchtower/logo.png b/apps/watchtower/logo.png similarity index 100% rename from watchtower/logo.png rename to apps/watchtower/logo.png