Add install script for configarr (#401)
This commit is contained in:
parent
0cc61a148f
commit
fcea354de2
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/ProxmoxVED/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
|
||||
pnpm install
|
||||
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:${CL}"
|
||||
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:[PORT]${CL}"
|
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": null,
|
||||
"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
|
||||
pnpm install
|
||||
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
|
||||
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