From 7f29c2eb26797191433399e5b0e8460bc98b9f92 Mon Sep 17 00:00:00 2001 From: tremor021 Date: Fri, 2 May 2025 23:02:49 +0200 Subject: [PATCH] Add alpine-transmission script --- ct/alpine-transmission.sh | 45 +++++++++++++++++++++++ frontend/public/json/transmission.json | 51 ++++++++++++++++++++++++++ install/alpine-transmission-install.sh | 32 ++++++++++++++++ 3 files changed, 128 insertions(+) create mode 100644 ct/alpine-transmission.sh create mode 100644 frontend/public/json/transmission.json create mode 100644 install/alpine-transmission-install.sh diff --git a/ct/alpine-transmission.sh b/ct/alpine-transmission.sh new file mode 100644 index 0000000..6271c90 --- /dev/null +++ b/ct/alpine-transmission.sh @@ -0,0 +1,45 @@ +#!/usr/bin/env bash +source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVED/raw/main/LICENSE +# Source: https://transmissionbt.com/ + +APP="Alpine-Transmission" +var_tags="${var_tags:-alpine;torrent}" +var_cpu="${var_cpu:-1}" +var_ram="${var_ram:-256}" +var_disk="${var_disk:-1}" +var_os="${var_os:-alpine}" +var_version="${var_version:-3.21}" +var_unprivileged="${var_unprivileged:-1}" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + msg_info "Updating Alpine Packages" + $STD apk -U upgrade + msg_ok "Updated Alpine Packages" + + msg_info "Updating Transmission" + $STD apk upgrade transmission-daemon + msg_ok "Updated Transmission" + + msg_info "Restarting Transmission" + $STD rc-service transmission-daemon restart + msg_ok "Restarted Transmission" + + exit 1 +} + +start +build_container +description + +msg_ok "Completed Successfully!\n" +echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}" +echo -e "${INFO}${YW} Access it using the following URL:${CL}" +echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9091${CL}" diff --git a/frontend/public/json/transmission.json b/frontend/public/json/transmission.json new file mode 100644 index 0000000..9b15f48 --- /dev/null +++ b/frontend/public/json/transmission.json @@ -0,0 +1,51 @@ +{ + "name": "Transmission", + "slug": "transmission", + "categories": [ + 11 + ], + "date_created": "2025-05-02", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 9091, + "documentation": "https://github.com/transmission/transmission/blob/main/docs/README.md", + "website": "https://transmissionbt.com/", + "logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/transmission.svg", + "config_path": "Debian `/etc/transmission-daemon/settings.json` | Alpine `/var/lib/transmission/config/settings.json`", + "description": "Transmission is a free, open-source BitTorrent client known for its fast download speeds and ease of use. It supports various platforms such as Windows, Linux, and macOS and has features like web interface, peer exchange, and encrypted transfers.", + "install_methods": [ + { + "type": "default", + "script": "ct/transmission.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "debian", + "version": "12" + } + }, + { + "type": "alpine", + "script": "ct/alpine-transmission.sh", + "resources": { + "cpu": 1, + "ram": 256, + "hdd": 1, + "os": "alpine", + "version": "3.21" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [ + { + "type": "info", + "text": "Script disables whitelisting by default. Change config to suit your needs." + } + ] +} diff --git a/install/alpine-transmission-install.sh b/install/alpine-transmission-install.sh new file mode 100644 index 0000000..d1f55f4 --- /dev/null +++ b/install/alpine-transmission-install.sh @@ -0,0 +1,32 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: Slaviša Arežina (tremor021) +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://transmissionbt.com/ + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Transmission" +$STD apk add --no-cache transmission-cli transmission-daemon +$STD rc-service transmission-daemon start +$STD rc-service transmission-daemon stop +sed -i '{s/"rpc-whitelist-enabled": true/"rpc-whitelist-enabled": false/g; s/"rpc-host-whitelist-enabled": true,/"rpc-host-whitelist-enabled": false,/g}' /var/lib/transmission/config/settings.json +msg_ok "Installed Transmission" + +msg_info "Enabling Transmission Service" +$STD rc-update add transmission-daemon default +msg_ok "Enabled Transmission Service" + +msg_info "Starting Transmission" +$STD rc-service transmission-daemon start +msg_ok "Started Transmission" + +motd_ssh +customize