Compare commits

...

4 Commits

Author SHA1 Message Date
CanbiZ
331ebaf146
Merge pull request #740 from zampierilucas/add-cleanuparr
feat: Add Cleanuparr to arr stack
2025-07-24 12:49:33 +02:00
Lucas Zampieri
8a84b80e51
PR review v2
- Removed blank lines;
- Added config path;
- Removed messages already handled by the funcion;
- Update link for VED;

Signed-off-by: Lucas Zampieri <lzampier@redhat.com>
2025-07-24 10:27:43 +01:00
Lucas Zampieri
259794f0a3
Apply PR review suggestions
- Remove explicit dependency installation
- Use fetch_and_deploy_gh_release helper function
- Add version checking before updates
- Use direct curl command for release version checking

Signed-off-by: Lucas Zampieri <lzampier@redhat.com>
2025-07-24 10:21:24 +01:00
Lucas Zampieri
be8392acbc
feat: Add Cleanuparr to arr stack
Add support for Cleanuparr, a tool for automating the cleanup of unwanted
or blocked files in Sonarr, Radarr, and supported download clients.

- Native Linux installation using official binaries
- Runs on port 11011
- Categorized under *Arr Suite
- Standard arr resources: 2 CPU, 1GB RAM, 4GB disk

Signed-off-by: Lucas Zampieri <lzampier@redhat.com>
2025-07-23 22:15:35 +01:00
4 changed files with 143 additions and 0 deletions

57
ct/cleanuparr.sh Executable file
View File

@ -0,0 +1,57 @@
#!/usr/bin/env bash
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVED/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: community-scripts ORG
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Cleanuparr/Cleanuparr
APP="Cleanuparr"
var_tags="${var_tags:-arr}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-1024}"
var_disk="${var_disk:-4}"
var_os="${var_os:-debian}"
var_version="${var_version:-12}"
var_unprivileged="${var_unprivileged:-1}"
header_info "$APP"
variables
color
catch_errors
function update_script() {
header_info
check_container_storage
check_container_resources
if [[ ! -f /opt/cleanuparr/Cleanuparr ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
RELEASE=$(curl -fsSL https://api.github.com/repos/Cleanuparr/Cleanuparr/releases/latest | grep "tag_name" | awk '{print substr($2, 2, length($2)-3) }')
if [[ "${RELEASE}" != "$(cat ~/.Cleanuparr 2>/dev/null)" ]] || [[ ! -f ~/.Cleanuparr ]]; then
msg_info "Stopping ${APP}"
systemctl stop cleanuparr
msg_ok "Stopped ${APP}"
fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "$RELEASE" "/opt/cleanuparr" "*linux-amd64.zip"
msg_ok "Updated ${APP}"
msg_info "Starting ${APP}"
systemctl start cleanuparr
msg_ok "Started ${APP}"
msg_ok "Updated Successfully"
else
msg_ok "No update required. ${APP} is already at v${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}:11011${CL}"

6
ct/headers/cleanuparr Normal file
View File

@ -0,0 +1,6 @@
________
/ ____/ /__ ____ _____ __ ______ ____ _________
/ / / / _ \/ __ `/ __ \/ / / / __ \/ __ `/ ___/ ___/
/ /___/ / __/ /_/ / / / / /_/ / /_/ / /_/ / / / /
\____/_/\___/\__,_/_/ /_/\__,_/ .___/\__,_/_/ /_/
/_/

View File

@ -0,0 +1,33 @@
{
"name": "Cleanuparr",
"slug": "cleanuparr",
"categories": [14],
"date_created": "2025-07-23",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 11011,
"documentation": null,
"website": "https://github.com/Cleanuparr/Cleanuparr",
"logo": "https://raw.githubusercontent.com/Cleanuparr/Cleanuparr/main/src/Cleanuparr.Web/wwwroot/logo.png",
"config_path": "/opt/cleanuparr/config ",
"description": "Cleanuparr is a tool for automating the cleanup of unwanted or blocked files in Sonarr, Radarr, and supported download clients like qBittorrent, Transmission, and Deluge. It removes incomplete, blocked, or malicious downloads and can trigger replacement searches to ensure your media library stays complete and up-to-date.",
"install_methods": [
{
"type": "default",
"script": "ct/cleanuparr.sh",
"resources": {
"cpu": 2,
"ram": 1024,
"hdd": 4,
"os": "debian",
"version": "12"
}
}
],
"default_credentials": {
"username": null,
"password": null
},
"notes": []
}

47
install/cleanuparr-install.sh Executable file
View File

@ -0,0 +1,47 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: community-scripts ORG
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/Cleanuparr/Cleanuparr
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
color
verb_ip6
catch_errors
setting_up_container
network_check
update_os
fetch_and_deploy_gh_release "Cleanuparr" "Cleanuparr/Cleanuparr" "prebuild" "latest" "/opt/cleanuparr" "*linux-amd64.zip"
msg_ok "Installed Cleanuparr"
msg_info "Creating Service"
cat <<EOF >/etc/systemd/system/cleanuparr.service
[Unit]
Description=Cleanuparr Daemon
After=syslog.target network.target
[Service]
Type=simple
User=root
WorkingDirectory=/opt/cleanuparr
ExecStart=/opt/cleanuparr/Cleanuparr
Restart=on-failure
RestartSec=5
Environment="PORT=11011"
Environment="CONFIG_DIR=/opt/cleanuparr/config"
[Install]
WantedBy=multi-user.target
EOF
systemctl enable -q --now cleanuparr
msg_ok "Created Service"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"