diff --git a/appstore/transmission/2.94/.env b/appstore/transmission/2.94/.env new file mode 100644 index 000000000..f60fb2ab7 --- /dev/null +++ b/appstore/transmission/2.94/.env @@ -0,0 +1,36 @@ +# 网络模式 [必填] +NETWORK_MODE=host + +# 数据持久化路径 [必填] +TRANSMISSION_ROOT_PATH=/home/transmission + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=9091 + +# Torrenting 端口 [必填] +PANEL_APP_PORT_TORRENTING=51413 + +# 用户名 [必填] +USER=admin + +# 密码 [必填] +PASS= + +# 第三方 UI 文件夹 +TRANSMISSION_WEB_HOME= + +# IP 白名单 +WHITELIST= + +# 主机白名单 +HOST_WHITELIST= + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/appstore/transmission/2.94/data.yml b/appstore/transmission/2.94/data.yml new file mode 100644 index 000000000..38462bd15 --- /dev/null +++ b/appstore/transmission/2.94/data.yml @@ -0,0 +1,97 @@ +additionalProperties: + formFields: + - default: "host" + edit: true + envKey: NETWORK_MODE + labelZh: 网络模式 + labelEn: Network Mode + required: true + type: select + values: + - label: 主机网络模式 + value: "host" + - label: 桥接网络模式 + value: "bridge" + - label: 无网络模式 + value: "none" + - label: 1panel-network + value: "1panel-network" + - default: "/home/transmission" + edit: true + envKey: TRANSMISSION_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 9091 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: WebUI 端口 + labelEn: WebUI Port + required: true + rule: paramPort + type: number + - default: 51413 + edit: true + envKey: PANEL_APP_PORT_TORRENTING + labelZh: Torrenting 端口 + labelEn: Torrenting Port + required: true + rule: paramPort + type: number + - default: "admin" + edit: true + envKey: USER + labelZh: 用户名 + labelEn: User + required: true + type: text + - default: "" + edit: true + envKey: PASS + labelZh: 密码 + labelEn: Password + required: true + type: password + - default: "" + edit: true + envKey: TRANSMISSION_WEB_HOME + labelZh: 第三方 UI 文件夹 + labelEn: Third-party UI folder + required: false + type: text + - default: "" + edit: true + envKey: WHITELIST + labelZh: IP 白名单 + labelEn: Whitelist + required: false + type: text + - default: "" + edit: true + envKey: HOST_WHITELIST + labelZh: 主机白名单 + labelEn: Host Whitelist + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_1 + labelEn: Custom mount directory 1 + labelZh: 自定义挂载目录 1 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_2 + labelEn: Custom mount directory 2 + labelZh: 自定义挂载目录 2 + required: false + type: text + - default: "" + edit: true + envKey: CUSTOM_MOUNT_DIRECTORY_3 + labelEn: Custom mount directory 3 + labelZh: 自定义挂载目录 3 + required: false + type: text diff --git a/appstore/transmission/2.94/docker-compose.yml b/appstore/transmission/2.94/docker-compose.yml new file mode 100644 index 000000000..84c92f416 --- /dev/null +++ b/appstore/transmission/2.94/docker-compose.yml @@ -0,0 +1,31 @@ +networks: + 1panel-network: + external: true +services: + transmission: + container_name: transmission + env_file: + - ./envs/global.env + - .env + environment: + - PUID=1000 + - PGID=1000 + - PEERPORT= ${PANEL_APP_PORT_TORRENTING} + - TZ=Asia/Shanghai + image: linuxserver/transmission:2.94-r3-ls53 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE} + ports: + - ${PANEL_APP_PORT_HTTP}:9091 + - ${PANEL_APP_PORT_TORRENTING} + - ${PANEL_APP_PORT_TORRENTING}/udp + restart: always + volumes: + - ${TRANSMISSION_ROOT_PATH}/themes:/themes + - ${TRANSMISSION_ROOT_PATH}/config:/config + - ${TRANSMISSION_ROOT_PATH}/downloads:/downloads + - ${TRANSMISSION_ROOT_PATH}/watch:/watch + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/appstore/transmission/2.94/envs/default.env b/appstore/transmission/2.94/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/appstore/transmission/2.94/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/appstore/transmission/2.94/envs/global.env b/appstore/transmission/2.94/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/appstore/transmission/2.94/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/appstore/transmission/2.94/scripts/init.sh b/appstore/transmission/2.94/scripts/init.sh new file mode 100644 index 000000000..03202d7e9 --- /dev/null +++ b/appstore/transmission/2.94/scripts/init.sh @@ -0,0 +1,55 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + mkdir -p "$TRANSMISSION_ROOT_PATH/downloads" + mkdir -p "$TRANSMISSION_ROOT_PATH/downloads/complete" + mkdir -p "$TRANSMISSION_ROOT_PATH/downloads/incomplete" + + # setup-2 install theme + if [ ! -d "$TRANSMISSION_ROOT_PATH/themes" ]; then + mkdir -p "$TRANSMISSION_ROOT_PATH/themes" + + if command -v unzip >/dev/null 2>&1; then + unzip -o themes/flood-for-transmission.zip -d "$TRANSMISSION_ROOT_PATH/themes" + unzip -o themes/transmission-web-control.zip -d "$TRANSMISSION_ROOT_PATH/themes" + UNZIP_SUCCESS=$? + elif command -v tar >/dev/null 2>&1; then + tar -xf themes/flood-for-transmission.zip -C "$TRANSMISSION_ROOT_PATH/themes" + tar -xf themes/transmission-web-control.zip -C "$TRANSMISSION_ROOT_PATH/themes" + UNZIP_SUCCESS=$? + else + echo "Warning: Neither 'unzip' nor 'tar' is installed. Skipping theme extraction." + UNZIP_SUCCESS=1 + fi + + if [ $UNZIP_SUCCESS -eq 0 ]; then + echo "Theme successfully extracted." + + if grep -q "^TRANSMISSION_WEB_HOME=" .env; then + sed -i 's|^TRANSMISSION_WEB_HOME=.*|TRANSMISSION_WEB_HOME=/themes/flood-for-transmission|' .env + else + echo "TRANSMISSION_WEB_HOME=/themes/flood-for-transmission" >> .env + fi + else + echo "Warning: Failed to extract the theme archive. Proceeding without extracted theme." + fi + else + echo "Themes directory already exists. Skipping extraction." + fi + + chown -R 1000:1000 "$TRANSMISSION_ROOT_PATH" + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/transmission/2.94/scripts/uninstall.sh b/appstore/transmission/2.94/scripts/uninstall.sh new file mode 100644 index 000000000..c86c4fbca --- /dev/null +++ b/appstore/transmission/2.94/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/transmission/2.94/scripts/upgrade.sh b/appstore/transmission/2.94/scripts/upgrade.sh new file mode 100644 index 000000000..07fb8c3fe --- /dev/null +++ b/appstore/transmission/2.94/scripts/upgrade.sh @@ -0,0 +1,17 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + sed -i '/^GLOBAL_ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + echo "GLOBAL_ENV_FILE=${CURRENT_DIR}/envs/global.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/appstore/transmission/2.94/themes/flood-for-transmission.zip b/appstore/transmission/2.94/themes/flood-for-transmission.zip new file mode 100644 index 000000000..0b5af67bb Binary files /dev/null and b/appstore/transmission/2.94/themes/flood-for-transmission.zip differ diff --git a/appstore/transmission/README.md b/appstore/transmission/README.md index a77ac00a9..5da7752a9 100644 --- a/appstore/transmission/README.md +++ b/appstore/transmission/README.md @@ -20,6 +20,12 @@ Transmission 是一个快速、轻量级的 BitTorrent 客户端,支持多种 参数不需要 `/home/transmission` 前缀,只需要填写 `/config/themes/<主题目录名称>` 即可。 +#### 内置主题 + +`/themes/flood-for-transmission` 内置主题 + +`/themes/transmission-web-control` 内置主题 + --- ![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/dockge/transmission/.env b/dockge/transmission/.env index 6a24d0846..f60fb2ab7 100644 --- a/dockge/transmission/.env +++ b/dockge/transmission/.env @@ -1,15 +1,15 @@ # 网络模式 [必填] NETWORK_MODE=host +# 数据持久化路径 [必填] +TRANSMISSION_ROOT_PATH=/home/transmission + # WebUI 端口 [必填] PANEL_APP_PORT_HTTP=9091 # Torrenting 端口 [必填] PANEL_APP_PORT_TORRENTING=51413 -# 数据持久化路径 [必填] -TRANSMISSION_ROOT_PATH=/home/transmission - # 用户名 [必填] USER=admin diff --git a/dockge/transmission/docker-compose.yml b/dockge/transmission/docker-compose.yml index 727d9f3be..84c92f416 100644 --- a/dockge/transmission/docker-compose.yml +++ b/dockge/transmission/docker-compose.yml @@ -12,7 +12,7 @@ services: - PGID=1000 - PEERPORT= ${PANEL_APP_PORT_TORRENTING} - TZ=Asia/Shanghai - image: linuxserver/transmission:4.0.6 + image: linuxserver/transmission:2.94-r3-ls53 labels: createdBy: Apps network_mode: ${NETWORK_MODE} diff --git a/dockge/transmission_4_0_6/.env b/dockge/transmission_4_0_6/.env new file mode 100644 index 000000000..6a24d0846 --- /dev/null +++ b/dockge/transmission_4_0_6/.env @@ -0,0 +1,36 @@ +# 网络模式 [必填] +NETWORK_MODE=host + +# WebUI 端口 [必填] +PANEL_APP_PORT_HTTP=9091 + +# Torrenting 端口 [必填] +PANEL_APP_PORT_TORRENTING=51413 + +# 数据持久化路径 [必填] +TRANSMISSION_ROOT_PATH=/home/transmission + +# 用户名 [必填] +USER=admin + +# 密码 [必填] +PASS= + +# 第三方 UI 文件夹 +TRANSMISSION_WEB_HOME= + +# IP 白名单 +WHITELIST= + +# 主机白名单 +HOST_WHITELIST= + +# 自定义挂载目录 1 +CUSTOM_MOUNT_DIRECTORY_1= + +# 自定义挂载目录 2 +CUSTOM_MOUNT_DIRECTORY_2= + +# 自定义挂载目录 3 +CUSTOM_MOUNT_DIRECTORY_3= + diff --git a/dockge/transmission_4_0_6/docker-compose.yml b/dockge/transmission_4_0_6/docker-compose.yml new file mode 100644 index 000000000..727d9f3be --- /dev/null +++ b/dockge/transmission_4_0_6/docker-compose.yml @@ -0,0 +1,31 @@ +networks: + 1panel-network: + external: true +services: + transmission: + container_name: transmission + env_file: + - ./envs/global.env + - .env + environment: + - PUID=1000 + - PGID=1000 + - PEERPORT= ${PANEL_APP_PORT_TORRENTING} + - TZ=Asia/Shanghai + image: linuxserver/transmission:4.0.6 + labels: + createdBy: Apps + network_mode: ${NETWORK_MODE} + ports: + - ${PANEL_APP_PORT_HTTP}:9091 + - ${PANEL_APP_PORT_TORRENTING} + - ${PANEL_APP_PORT_TORRENTING}/udp + restart: always + volumes: + - ${TRANSMISSION_ROOT_PATH}/themes:/themes + - ${TRANSMISSION_ROOT_PATH}/config:/config + - ${TRANSMISSION_ROOT_PATH}/downloads:/downloads + - ${TRANSMISSION_ROOT_PATH}/watch:/watch + - ${CUSTOM_MOUNT_DIRECTORY_1:-./default_mount_1}:${CUSTOM_MOUNT_DIRECTORY_1:-/default_mount_1} + - ${CUSTOM_MOUNT_DIRECTORY_2:-./default_mount_2}:${CUSTOM_MOUNT_DIRECTORY_2:-/default_mount_2} + - ${CUSTOM_MOUNT_DIRECTORY_3:-./default_mount_3}:${CUSTOM_MOUNT_DIRECTORY_3:-/default_mount_3} diff --git a/dockge/transmission_4_0_6/envs/default.env b/dockge/transmission_4_0_6/envs/default.env new file mode 100644 index 000000000..cd05f46e6 --- /dev/null +++ b/dockge/transmission_4_0_6/envs/default.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +ENV_FILE=.env diff --git a/dockge/transmission_4_0_6/envs/global.env b/dockge/transmission_4_0_6/envs/global.env new file mode 100644 index 000000000..e10989fe4 --- /dev/null +++ b/dockge/transmission_4_0_6/envs/global.env @@ -0,0 +1,2 @@ +# copyright© 2024 XinJiang Ms Studio +TZ=Asia/Shanghai diff --git a/dockge/transmission_4_0_6/themes/flood-for-transmission.zip b/dockge/transmission_4_0_6/themes/flood-for-transmission.zip new file mode 100644 index 000000000..0b5af67bb Binary files /dev/null and b/dockge/transmission_4_0_6/themes/flood-for-transmission.zip differ