diff --git a/ct/umlautadaptarr.sh b/ct/umlautadaptarr.sh new file mode 100644 index 000000000..696d892ca --- /dev/null +++ b/ct/umlautadaptarr.sh @@ -0,0 +1,58 @@ +#!/usr/bin/env bash +source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/refs/heads/main/misc/build.func) +# Copyright (c) 2021-2025 community-scripts ORG +# Author: elvito +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/PCJones/UmlautAdaptarr + +APP="UmlautAdaptarr" +var_tags="arr" +var_cpu="1" +var_ram="512" +var_disk="4" +var_os="debian" +var_version="12" +var_unprivileged="1" + +header_info "$APP" +variables +color +catch_errors + +function update_script() { + header_info + check_container_storage + check_container_resources + if [[ ! -d /opt/UmlautAdaptarr ]]; then + msg_error "No ${APP} Installation Found!" + exit + fi + RELEASE=$(curl -fsSL https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') + if [[ ! -f /opt/UmlautAdaptarr_version.txt ]] || [[ "${RELEASE}" != "$(cat /opt/UmlautAdaptarr_version.txt)" ]]; then + msg_info "Stopping Service" + systemctl stop umlautadaptarr + msg_ok "Stopped Service" + + msg_info "Updating ${APP}" + temp_file=$(mktemp) + curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file + $STD unzip -u $temp_file '*/**' -d /opt/UmlautAdaptarr + msg_ok "Updated ${APP}" + + msg_info "Starting Service" + systemctl start umlautadaptarr + msg_ok "Started Service" + msg_ok "$APP has been updated to ${RELEASE}." + else + msg_ok "No update required. ${APP} is already at ${RELEASE}" + fi + exit +} +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}:5005${CL}" diff --git a/frontend/public/json/umlautadaptarr.json b/frontend/public/json/umlautadaptarr.json new file mode 100644 index 000000000..459080f5c --- /dev/null +++ b/frontend/public/json/umlautadaptarr.json @@ -0,0 +1,35 @@ +{ + "name": "UmlautAdaptarr", + "slug": "umlautadaptarr", + "categories": [ + 14 + ], + "date_created": "2025-04-28", + "type": "ct", + "updateable": true, + "privileged": false, + "interface_port": 5005, + "documentation": null, + "website": "https://github.com/PCJones/UmlautAdaptarr", + "logo": null, + "config_path": "/opt/UmlautAdaptarr/appsettings.json", + "description": "UmlautAdaptarr is a tool that fixes issues with how Sonarr, Radarr, Lidarr, and Readarr handle foreign languages. It sits between these apps and the indexers, changing searches and results, and renaming releases so the apps recognize them correctly.", + "install_methods": [ + { + "type": "default", + "script": "ct/umlautadaptarr.sh", + "resources": { + "cpu": 1, + "ram": 512, + "hdd": 2, + "os": "debian", + "version": "12" + } + } + ], + "default_credentials": { + "username": null, + "password": null + }, + "notes": [] +} diff --git a/install/umlautadaptarr-install.sh b/install/umlautadaptarr-install.sh new file mode 100644 index 000000000..eacf1d892 --- /dev/null +++ b/install/umlautadaptarr-install.sh @@ -0,0 +1,122 @@ +#!/usr/bin/env bash + +# Copyright (c) 2021-2025 community-scripts ORG +# Author: elvito +# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE +# Source: https://github.com/PCJones/UmlautAdaptarr + +source /dev/stdin <<<"$FUNCTIONS_FILE_PATH" +color +verb_ip6 +catch_errors +setting_up_container +network_check +update_os + +msg_info "Installing Dependencies" +$STD curl -fsSL https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -o packages-microsoft-prod.deb +$STD dpkg -i packages-microsoft-prod.deb +$STD apt-get update +$STD apt-get install -y \ + dotnet-sdk-8.0 \ + aspnetcore-runtime-8.0 +msg_ok "Installed Dependencies" + +msg_info "Installing Umlautadaptarr" +temp_file=$(mktemp) +RELEASE=$(curl -s https://api.github.com/repos/PCJones/Umlautadaptarr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3)}') +curl -fsSL "https://github.com/PCJones/Umlautadaptarr/releases/download/${RELEASE}/linux-x64.zip" -o $temp_file +unzip -qj $temp_file '*/**' -d /opt/UmlautAdaptarr +echo "${RELEASE}" >"/opt/UmlautAdaptarr_version.txt" +msg_ok "Installation completed" + +msg_info "Creating appsettings.json" +cat </opt/UmlautAdaptarr/appsettings.json +{ + "Logging": { + "LogLevel": { + "Default": "Information", + "Microsoft.AspNetCore": "Warning" + }, + "Console": { + "TimestampFormat": "yyyy-MM-dd HH:mm:ss::" + } + }, + "AllowedHosts": "*", + "Kestrel": { + "Endpoints": { + "Http": { + "Url": "http://[::]:5005" + } + } + }, + "Settings": { + "UserAgent": "UmlautAdaptarr/1.0", + "UmlautAdaptarrApiHost": "https://umlautadaptarr.pcjones.de/api/v1", + "IndexerRequestsCacheDurationInMinutes": 12 + }, + "Sonarr": [ + { + "Enabled": false, + "Name": "Sonarr", + "Host": "http://192.168.1.100:8989", + "ApiKey": "dein_sonarr_api_key" + } + ], + "Radarr": [ + { + "Enabled": false, + "Name": "Radarr", + "Host": "http://192.168.1.101:7878", + "ApiKey": "dein_radarr_api_key" + } + ], + "Lidarr": [ + { + "Enabled": false, + "Host": "http://192.168.1.102:8686", + "ApiKey": "dein_lidarr_api_key" + }, + ], + "Readarr": [ + { + "Enabled": false, + "Host": "http://192.168.1.103:8787", + "ApiKey": "dein_readarr_api_key" + }, + ], + "IpLeakTest": { + "Enabled": false + } +} +EOF +msg_ok "appsettings.json created" + +msg_info "Creating Service" +cat </etc/systemd/system/umlautadaptarr.service +[Unit] +Description=UmlautAdaptarr Service +After=network.target + +[Service] +WorkingDirectory=/opt/UmlautAdaptarr +ExecStart=/usr/bin/dotnet /opt/UmlautAdaptarr/bin/Release/net8.0/UmlautAdaptarr.dll --urls=http://0.0.0.0:5005 +Restart=always +User=root +Group=root +Environment=ASPNETCORE_ENVIRONMENT=Production + +[Install] +WantedBy=multi-user.target +EOF +systemctl -q --now enable umlautadaptarr +msg_ok "Created Service" + +motd_ssh +customize + +msg_info "Cleaning up" +rm -f $temp_file +$STD apt-get -y autoremove +$STD apt-get -y autoclean +msg_ok "Cleaned"