'Add new script' (#4620)
Co-authored-by: push-app-to-main[bot] <203845782+push-app-to-main[bot]@users.noreply.github.com>
This commit is contained in:
parent
796c31eae4
commit
cb1465544d
66
ct/configarr.sh
Normal file
66
ct/configarr.sh
Normal file
@ -0,0 +1,66 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
source <(curl -fsSL https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: finkerle
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/raydak-labs/configarr
|
||||||
|
|
||||||
|
APP="Configarr"
|
||||||
|
var_cpu="${var_cpu:-1}"
|
||||||
|
var_ram="${var_ram:-512}"
|
||||||
|
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 [[ ! -d /opt/configarr ]]; then
|
||||||
|
msg_error "No ${APP} Installation Found!"
|
||||||
|
exit
|
||||||
|
fi
|
||||||
|
RELEASE=$(curl -fsSL https://api.github.com/repos/raydak-labs/configarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
|
||||||
|
if [[ "${RELEASE}" != "$(cat /opt/configarr_version.txt)" ]] || [[ ! -f /opt/configarr_version.txt ]]; then
|
||||||
|
msg_info "Stopping $APP"
|
||||||
|
systemctl stop configarr-task.timer
|
||||||
|
msg_ok "Stopped $APP"
|
||||||
|
|
||||||
|
msg_info "Updating $APP to v${RELEASE}"
|
||||||
|
mkdir -p /opt/backup/
|
||||||
|
mv /opt/configarr/{config.yml,secrets.yml,.env} "/opt/backup/"
|
||||||
|
rm -rf /opt/configarr
|
||||||
|
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
||||||
|
mv /opt/backup/* /opt/configarr/
|
||||||
|
cd /opt/configarr
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm run build
|
||||||
|
msg_ok "Updated $APP to v${RELEASE}"
|
||||||
|
|
||||||
|
msg_info "Starting $APP"
|
||||||
|
systemctl start configarr-task.timer
|
||||||
|
msg_ok "Started configarr"
|
||||||
|
|
||||||
|
rm -rf /opt/backup
|
||||||
|
msg_ok "Update Successful"
|
||||||
|
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 (no web-ui):${CL}"
|
||||||
|
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8989${CL}"
|
6
ct/headers/configarr
Normal file
6
ct/headers/configarr
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
______ _____
|
||||||
|
/ ____/___ ____ / __(_)___ _____ ___________
|
||||||
|
/ / / __ \/ __ \/ /_/ / __ `/ __ `/ ___/ ___/
|
||||||
|
/ /___/ /_/ / / / / __/ / /_/ / /_/ / / / /
|
||||||
|
\____/\____/_/ /_/_/ /_/\__, /\__,_/_/ /_/
|
||||||
|
/____/
|
40
frontend/public/json/configarr.json
Normal file
40
frontend/public/json/configarr.json
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
{
|
||||||
|
"name": "Configarr",
|
||||||
|
"slug": "configarr",
|
||||||
|
"categories": [
|
||||||
|
14
|
||||||
|
],
|
||||||
|
"date_created": "2025-05-06",
|
||||||
|
"type": "ct",
|
||||||
|
"updateable": true,
|
||||||
|
"privileged": false,
|
||||||
|
"interface_port": 8989,
|
||||||
|
"documentation": "https://configarr.raydak.de/docs/intro",
|
||||||
|
"config_path": "/opt/configarr/config.yml",
|
||||||
|
"website": "https://configarr.raydak.de/",
|
||||||
|
"logo": "https://github.com/raydak-labs/configarr/blob/main/docs/static/img/logo.webp",
|
||||||
|
"description": "Configarr is an open-source tool designed to simplify configuration and synchronization for Sonarr and Radarr (and other experimental). It integrates with TRaSH Guides to automate updates of custom formats, quality profiles, and other settings, while also supporting user-defined configurations.",
|
||||||
|
"install_methods": [
|
||||||
|
{
|
||||||
|
"type": "default",
|
||||||
|
"script": "ct/configarr.sh",
|
||||||
|
"resources": {
|
||||||
|
"cpu": 1,
|
||||||
|
"ram": 512,
|
||||||
|
"hdd": 4,
|
||||||
|
"os": "Debian",
|
||||||
|
"version": "12"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"default_credentials": {
|
||||||
|
"username": null,
|
||||||
|
"password": null
|
||||||
|
},
|
||||||
|
"notes": [
|
||||||
|
{
|
||||||
|
"text": "change secrets file /opt/configarr/secrets.yml",
|
||||||
|
"type": "info"
|
||||||
|
}
|
||||||
|
]
|
||||||
|
}
|
70
install/configarr-install.sh
Normal file
70
install/configarr-install.sh
Normal file
@ -0,0 +1,70 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
# Copyright (c) 2021-2025 community-scripts ORG
|
||||||
|
# Author: finkerle
|
||||||
|
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
|
||||||
|
# Source: https://github.com/raydak-labs/configarr
|
||||||
|
|
||||||
|
source /dev/stdin <<<"$FUNCTIONS_FILE_PATH"
|
||||||
|
color
|
||||||
|
verb_ip6
|
||||||
|
catch_errors
|
||||||
|
setting_up_container
|
||||||
|
network_check
|
||||||
|
update_os
|
||||||
|
|
||||||
|
msg_info "Installing Dependencies"
|
||||||
|
$STD apt-get install -y \
|
||||||
|
git
|
||||||
|
msg_ok "Installed Dependencies"
|
||||||
|
|
||||||
|
NODE_MODULE="pnpm@latest" install_node_and_modules
|
||||||
|
fetch_and_deploy_gh_release "raydak-labs/configarr"
|
||||||
|
|
||||||
|
msg_info "Setup ${APPLICATION}"
|
||||||
|
cat <<EOF >/opt/configarr/.env
|
||||||
|
ROOT_PATH=/opt/configarr
|
||||||
|
CUSTOM_REPO_ROOT=/opt/configarr/repos
|
||||||
|
CONFIG_LOCATION=/opt/configarr/config.yml
|
||||||
|
SECRETS_LOCATION=/opt/configarr/secrets.yml
|
||||||
|
EOF
|
||||||
|
mv /opt/configarr/secrets.yml.template /opt/configarr/secrets.yml
|
||||||
|
sed 's|#localConfigTemplatesPath: /app/templates|#localConfigTemplatesPath: /opt/configarr/templates|' /opt/configarr/config.yml.template >/opt/configarr/config.yml
|
||||||
|
cd /opt/configarr
|
||||||
|
$STD pnpm install
|
||||||
|
$STD pnpm run build
|
||||||
|
msg_ok "Setup ${APPLICATION}"
|
||||||
|
|
||||||
|
msg_info "Creating Service"
|
||||||
|
cat <<EOF >/etc/systemd/system/configarr-task.service
|
||||||
|
[Unit]
|
||||||
|
Description=Run Configarr Task
|
||||||
|
|
||||||
|
[Service]
|
||||||
|
Type=oneshot
|
||||||
|
WorkingDirectory=/opt/configarr
|
||||||
|
ExecStart=/usr/bin/node /opt/configarr/bundle.cjs
|
||||||
|
EOF
|
||||||
|
|
||||||
|
cat <<EOF >/etc/systemd/system/configarr-task.timer
|
||||||
|
[Unit]
|
||||||
|
Description=Run Configarr every 5 minutes
|
||||||
|
|
||||||
|
[Timer]
|
||||||
|
OnBootSec=2min
|
||||||
|
OnUnitActiveSec=5min
|
||||||
|
Persistent=true
|
||||||
|
|
||||||
|
[Install]
|
||||||
|
WantedBy=timers.target
|
||||||
|
EOF
|
||||||
|
systemctl enable -q --now configarr-task.timer configarr-task.service
|
||||||
|
msg_ok "Created Service"
|
||||||
|
|
||||||
|
motd_ssh
|
||||||
|
customize
|
||||||
|
|
||||||
|
msg_info "Cleaning up"
|
||||||
|
$STD apt-get -y autoremove
|
||||||
|
$STD apt-get -y autoclean
|
||||||
|
msg_ok "Cleaned"
|
Loading…
x
Reference in New Issue
Block a user