1
0
forked from Proxmox/ProxmoxVE

Compare commits

...

9 Commits

Author SHA1 Message Date
48dd535a41 Update install/openproject-install.sh
Co-authored-by: Bas van den Berg <74251551+bvdberg01@users.noreply.github.com>
2025-04-04 20:10:18 +02:00
40874075c8 'Add new script' 2025-04-03 08:03:10 +00:00
7539566dc5 Update CHANGELOG.md (#3632)
Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com>
2025-04-03 07:59:40 +02:00
5b0cfaab83 *Arr: Move Arr apps to github release crawling and provide update functionality (#3625)
* Move Arr apps to github release crawling

* Update website, show updateable
2025-04-03 07:58:43 +02:00
a5dd2b3176 Bump next from 15.2.3 to 15.2.4 in /frontend (#3628)
Bumps [next](https://github.com/vercel/next.js) from 15.2.3 to 15.2.4.
- [Release notes](https://github.com/vercel/next.js/releases)
- [Changelog](https://github.com/vercel/next.js/blob/canary/release.js)
- [Commits](https://github.com/vercel/next.js/compare/v15.2.3...v15.2.4)

---
updated-dependencies:
- dependency-name: next
  dependency-version: 15.2.4
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-04-03 07:52:24 +02:00
b6593792c0 Update CHANGELOG.md (#3622) 2025-04-03 06:49:11 +01:00
47fb1c03de Fixes (#3624) 2025-04-03 06:44:05 +01:00
9c7858601e BookStack: Fix path to downloaded release file (#3627) 2025-04-03 06:43:35 +01:00
ce3ed8a1c1 Update versions.json (#3629) 2025-04-03 06:42:25 +01:00
18 changed files with 506 additions and 273 deletions

View File

@ -14,6 +14,23 @@ Exercise vigilance regarding copycat or coat-tailing sites that seek to exploit
All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment. All LXC instances created using this repository come pre-installed with Midnight Commander, which is a command-line tool (`mc`) that offers a user-friendly file and directory management interface for the terminal environment.
## 2025-04-03
### 🚀 Updated Scripts
- #### 🐞 Bug Fixes
- GoMFT: Fix the node_modules deletion command [@tremor021](https://github.com/tremor021) ([#3624](https://github.com/community-scripts/ProxmoxVE/pull/3624))
- BookStack: Fix path to downloaded release file [@tremor021](https://github.com/tremor021) ([#3627](https://github.com/community-scripts/ProxmoxVE/pull/3627))
- #### ✨ New Features
- *Arr: Move Arr apps to github release crawling and provide update functionality [@tremor021](https://github.com/tremor021) ([#3625](https://github.com/community-scripts/ProxmoxVE/pull/3625))
### 🌐 Website
- Bump next from 15.2.3 to 15.2.4 in /frontend [@dependabot[bot]](https://github.com/dependabot[bot]) ([#3628](https://github.com/community-scripts/ProxmoxVE/pull/3628))
## 2025-04-02 ## 2025-04-02
### 🆕 New Scripts ### 🆕 New Scripts

View File

@ -36,13 +36,13 @@ function update_script() {
msg_info "Updating ${APP} to v${RELEASE}" msg_info "Updating ${APP} to v${RELEASE}"
mv /opt/bookstack /opt/bookstack-backup mv /opt/bookstack /opt/bookstack-backup
curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip" curl -fsSL "https://github.com/BookStackApp/BookStack/archive/refs/tags/v${RELEASE}.zip" -o "/opt/BookStack-${RELEASE}.zip"
unzip -q /opt/v${RELEASE}.zip -d /opt unzip -q "/opt/BookStack-${RELEASE}.zip" -d /opt
mv /opt/BookStack-${RELEASE} /opt/bookstack mv "/opt/BookStack-${RELEASE}" /opt/bookstack
cp /opt/bookstack-backup/.env /opt/bookstack/.env cp /opt/bookstack-backup/.env /opt/bookstack/.env
cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true cp -r /opt/bookstack-backup/public/uploads/* /opt/bookstack/public/uploads/ || true
cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true cp -r /opt/bookstack-backup/storage/uploads/* /opt/bookstack/storage/uploads/ || true
cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true cp -r /opt/bookstack-backup/themes/* /opt/bookstack/themes/ || true
cd /opt/bookstack cd /opt/bookstack || exit
export COMPOSER_ALLOW_SUPERUSER=1 export COMPOSER_ALLOW_SUPERUSER=1
$STD composer install --no-dev $STD composer install --no-dev
$STD php artisan migrate --force $STD php artisan migrate --force
@ -59,7 +59,7 @@ function update_script() {
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -rf /opt/bookstack-backup rm -rf /opt/bookstack-backup
rm -rf /opt/v${RELEASE}.zip rm -rf "/opt/BookStack-${RELEASE}.zip"
msg_ok "Cleaned" msg_ok "Cleaned"
msg_ok "Updated Successfully" msg_ok "Updated Successfully"
else else

View File

@ -33,12 +33,12 @@ function update_script() {
fi fi
if [[ ! -f "/usr/bin/node" ]]; then if [[ ! -f "/usr/bin/node" ]]; then
mkdir -p /etc/apt/keyrings mkdir -p /etc/apt/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg curl -fsSL "https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key" | gpg --dearmor -o /etc/apt/keyrings/nodesource.gpg
echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list echo "deb [signed-by=/etc/apt/keyrings/nodesource.gpg] https://deb.nodesource.com/node_22.x nodistro main" >/etc/apt/sources.list.d/nodesource.list
$STD apt-get update $STD apt-get update
$STD apt-get install -y nodejs $STD apt-get install -y nodejs
fi fi
RELEASE=$(curl -fsSL https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }') RELEASE=$(curl -fsSL "https://api.github.com/repos/StarFleetCPTN/GoMFT/releases/latest" | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then if [[ "${RELEASE}" != "$(cat /opt/${APP}_version.txt)" ]] || [[ ! -f /opt/${APP}_version.txt ]]; then
msg_info "Stopping $APP" msg_info "Stopping $APP"
systemctl stop gomft systemctl stop gomft
@ -47,16 +47,16 @@ function update_script() {
msg_info "Updating $APP to ${RELEASE}" msg_info "Updating $APP to ${RELEASE}"
rm -f /opt/gomft/gomft rm -f /opt/gomft/gomft
temp_file=$(mktemp) temp_file=$(mktemp)
curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o $temp_file curl -fsSL "https://github.com/StarFleetCPTN/GoMFT/archive/refs/tags/v${RELEASE}.tar.gz" -o "$temp_file"
tar -xzf $temp_file tar -xzf "$temp_file"
cp -rf GoMFT-${RELEASE}/* /opt/gomft cp -rf "GoMFT-${RELEASE}"/* /opt/gomft/
cd /opt/gomft cd /opt/gomft || exit
rm -f /opt/gomft/node_modules rm -rf /opt/gomft/node_modules
$STD npm ci $STD npm ci
$STD node build.js $STD node build.js
$STD go mod download $STD go mod download
$STD go get -u github.com/a-h/templ $STD go get -u github.com/a-h/templ
$STD $HOME/go/bin/templ generate $STD "$HOME"/go/bin/templ generate
export CGO_ENABLED=1 export CGO_ENABLED=1
export GOOS=linux export GOOS=linux
$STD go build -o gomft $STD go build -o gomft
@ -65,8 +65,8 @@ function update_script() {
msg_ok "Updated $APP to ${RELEASE}" msg_ok "Updated $APP to ${RELEASE}"
msg_info "Cleaning Up" msg_info "Cleaning Up"
rm -f $temp_file rm -f "$temp_file"
rm -rf $HOME/GoMFT-v.${RELEASE} rm -rf "$HOME/GoMFT-v.${RELEASE}/"
msg_ok "Cleanup Complete" msg_ok "Cleanup Complete"
msg_info "Starting $APP" msg_info "Starting $APP"

View File

@ -23,14 +23,25 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var/lib/lidarr/ ]]; then if [[ ! -d /var/lib/lidarr/ ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_info "Updating $APP LXC" msg_info "Updating $APP LXC"
$STD apt-get update temp_file="$(mktemp)"
$STD apt-get -y upgrade rm -rf /opt/Lidarr
RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Lidarr /opt
chmod 775 /opt/Lidarr
msg_ok "Updated $APP LXC" msg_ok "Updated $APP LXC"
msg_info "Cleaning up"
rm -rf "$temp_file"
msg_ok "Cleaned up"
exit exit
} }

44
ct/openproject.sh Normal file
View File

@ -0,0 +1,44 @@
#!/usr/bin/env bash
source <(curl -s https://raw.githubusercontent.com/community-scripts/ProxmoxVE/main/misc/build.func)
# Copyright (c) 2021-2025 community-scripts ORG
# Author: michelroegl-brunner
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/opf/openproject
APP="OpenProject"
var_tags="${var_tags:-project-management,erp}"
var_cpu="${var_cpu:-2}"
var_ram="${var_ram:-4096}"
var_disk="${var_disk:-8}"
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 /etc/openproject/installer.dat ]]; then
msg_error "No ${APP} Installation Found!"
exit
fi
msg_info "Updating ${APP}"
$STD apt-get update
$STD apt-get install --only-upgrade -y openproject
msg_ok "Updated ${APP}"
exit 0
}
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}/openproject${CL}"

View File

@ -23,11 +23,25 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var/lib/prowlarr/ ]]; then if [[ ! -d /var/lib/prowlarr/ ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_error "Currently we don't provide an update function for this ${APP}."
msg_info "Updating $APP LXC"
temp_file="$(mktemp)"
rm -rf /opt/Prowlarr
RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Prowlarr /opt
chmod 775 /opt/Prowlarr
msg_ok "Updated $APP LXC"
msg_info "Cleaning up"
rm -f "$temp_file"
msg_ok "Cleaned up"
exit exit
} }

View File

@ -23,11 +23,25 @@ function update_script() {
header_info header_info
check_container_storage check_container_storage
check_container_resources check_container_resources
if [[ ! -d /var/lib/radarr/ ]]; then if [[ ! -d /var/lib/radarr/ ]]; then
msg_error "No ${APP} Installation Found!" msg_error "No ${APP} Installation Found!"
exit exit
fi fi
msg_error "Currently we don't provide an update function for this ${APP}."
msg_info "Updating $APP LXC"
temp_file="$(mktemp)"
rm -rf /opt/Radarr
RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Radarr /opt
chmod 775 /opt/Radarr
msg_ok "Updated $APP LXC"
msg_info "Cleaning up"
rm -rf "$temp_file"
msg_ok "Cleaned up"
exit exit
} }

View File

@ -33,7 +33,7 @@
"fuse.js": "^7.1.0", "fuse.js": "^7.1.0",
"lucide-react": "^0.453.0", "lucide-react": "^0.453.0",
"mini-svg-data-uri": "^1.4.4", "mini-svg-data-uri": "^1.4.4",
"next": "15.2.3", "next": "15.2.4",
"next-themes": "^0.3.0", "next-themes": "^0.3.0",
"nuqs": "^2.4.1", "nuqs": "^2.4.1",
"pocketbase": "^0.21.5", "pocketbase": "^0.21.5",
@ -1598,9 +1598,9 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/@next/env": { "node_modules/@next/env": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/env/-/env-15.2.4.tgz",
"integrity": "sha512-a26KnbW9DFEUsSxAxKBORR/uD9THoYoKbkpFywMN/AFvboTt94b8+g/07T8J6ACsdLag8/PDU60ov4rPxRAixw==", "integrity": "sha512-+SFtMgoiYP3WoSswuNmxJOCwi06TdWE733D+WPjpXIe4LXGULwEaofiiAy6kbS0+XjM5xF5n3lKuBwN2SnqD9g==",
"license": "MIT" "license": "MIT"
}, },
"node_modules/@next/eslint-plugin-next": { "node_modules/@next/eslint-plugin-next": {
@ -1644,9 +1644,9 @@
} }
}, },
"node_modules/@next/swc-darwin-arm64": { "node_modules/@next/swc-darwin-arm64": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-darwin-arm64/-/swc-darwin-arm64-15.2.4.tgz",
"integrity": "sha512-uaBhA8aLbXLqwjnsHSkxs353WrRgQgiFjduDpc7YXEU0B54IKx3vU+cxQlYwPCyC8uYEEX7THhtQQsfHnvv8dw==", "integrity": "sha512-1AnMfs655ipJEDC/FHkSr0r3lXBgpqKo4K1kiwfUf3iE68rDFXZ1TtHdMvf7D0hMItgDZ7Vuq3JgNMbt/+3bYw==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1660,9 +1660,9 @@
} }
}, },
"node_modules/@next/swc-darwin-x64": { "node_modules/@next/swc-darwin-x64": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-darwin-x64/-/swc-darwin-x64-15.2.4.tgz",
"integrity": "sha512-pVwKvJ4Zk7h+4hwhqOUuMx7Ib02u3gDX3HXPKIShBi9JlYllI0nU6TWLbPT94dt7FSi6mSBhfc2JrHViwqbOdw==", "integrity": "sha512-3qK2zb5EwCwxnO2HeO+TRqCubeI/NgCe+kL5dTJlPldV/uwCnUgC7VbEzgmxbfrkbjehL4H9BPztWOEtsoMwew==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1676,9 +1676,9 @@
} }
}, },
"node_modules/@next/swc-linux-arm64-gnu": { "node_modules/@next/swc-linux-arm64-gnu": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-gnu/-/swc-linux-arm64-gnu-15.2.4.tgz",
"integrity": "sha512-50ibWdn2RuFFkOEUmo9NCcQbbV9ViQOrUfG48zHBCONciHjaUKtHcYFiCwBVuzD08fzvzkWuuZkd4AqbvKO7UQ==", "integrity": "sha512-HFN6GKUcrTWvem8AZN7tT95zPb0GUGv9v0d0iyuTb303vbXkkbHDp/DxufB04jNVD+IN9yHy7y/6Mqq0h0YVaQ==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1692,9 +1692,9 @@
} }
}, },
"node_modules/@next/swc-linux-arm64-musl": { "node_modules/@next/swc-linux-arm64-musl": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-linux-arm64-musl/-/swc-linux-arm64-musl-15.2.4.tgz",
"integrity": "sha512-2gAPA7P652D3HzR4cLyAuVYwYqjG0mt/3pHSWTCyKZq/N/dJcUAEoNQMyUmwTZWCJRKofB+JPuDVP2aD8w2J6Q==", "integrity": "sha512-Oioa0SORWLwi35/kVB8aCk5Uq+5/ZIumMK1kJV+jSdazFm2NzPDztsefzdmzzpx5oGCJ6FkUC7vkaUseNTStNA==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1708,9 +1708,9 @@
} }
}, },
"node_modules/@next/swc-linux-x64-gnu": { "node_modules/@next/swc-linux-x64-gnu": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-gnu/-/swc-linux-x64-gnu-15.2.4.tgz",
"integrity": "sha512-ODSKvrdMgAJOVU4qElflYy1KSZRM3M45JVbeZu42TINCMG3anp7YCBn80RkISV6bhzKwcUqLBAmOiWkaGtBA9w==", "integrity": "sha512-yb5WTRaHdkgOqFOZiu6rHV1fAEK0flVpaIN2HB6kxHVSy/dIajWbThS7qON3W9/SNOH2JWkVCyulgGYekMePuw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1724,9 +1724,9 @@
} }
}, },
"node_modules/@next/swc-linux-x64-musl": { "node_modules/@next/swc-linux-x64-musl": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-linux-x64-musl/-/swc-linux-x64-musl-15.2.4.tgz",
"integrity": "sha512-ZR9kLwCWrlYxwEoytqPi1jhPd1TlsSJWAc+H/CJHmHkf2nD92MQpSRIURR1iNgA/kuFSdxB8xIPt4p/T78kwsg==", "integrity": "sha512-Dcdv/ix6srhkM25fgXiyOieFUkz+fOYkHlydWCtB0xMST6X9XYI3yPDKBZt1xuhOytONsIFJFB08xXYsxUwJLw==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -1740,9 +1740,9 @@
} }
}, },
"node_modules/@next/swc-win32-arm64-msvc": { "node_modules/@next/swc-win32-arm64-msvc": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-win32-arm64-msvc/-/swc-win32-arm64-msvc-15.2.4.tgz",
"integrity": "sha512-+G2FrDcfm2YDbhDiObDU/qPriWeiz/9cRR0yMWJeTLGGX6/x8oryO3tt7HhodA1vZ8r2ddJPCjtLcpaVl7TE2Q==", "integrity": "sha512-dW0i7eukvDxtIhCYkMrZNQfNicPDExt2jPb9AZPpL7cfyUo7QSNl1DjsHjmmKp6qNAqUESyT8YFl/Aw91cNJJg==",
"cpu": [ "cpu": [
"arm64" "arm64"
], ],
@ -1756,9 +1756,9 @@
} }
}, },
"node_modules/@next/swc-win32-x64-msvc": { "node_modules/@next/swc-win32-x64-msvc": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.3.tgz", "resolved": "https://registry.npmjs.org/@next/swc-win32-x64-msvc/-/swc-win32-x64-msvc-15.2.4.tgz",
"integrity": "sha512-gHYS9tc+G2W0ZC8rBL+H6RdtXIyk40uLiaos0yj5US85FNhbFEndMA2nW3z47nzOWiSvXTZ5kBClc3rD0zJg0w==", "integrity": "sha512-SbnWkJmkS7Xl3kre8SdMF6F/XDh1DTFEhp0jRTj/uB8iPKoU2bb2NDfcu+iifv1+mxQEd1g2vvSxcZbXSKyWiQ==",
"cpu": [ "cpu": [
"x64" "x64"
], ],
@ -3255,7 +3255,7 @@
"version": "19.0.0-rc.1", "version": "19.0.0-rc.1",
"resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz", "resolved": "https://registry.npmjs.org/types-react/-/types-react-19.0.0-rc.1.tgz",
"integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==", "integrity": "sha512-RshndUfqTW6K3STLPis8BtAYCGOkMbtvYsi90gmVNDZBXUyUc5juf2PE9LfS/JmOlUIRO8cWTS/1MTnmhjDqyQ==",
"dev": true, "devOptional": true,
"dependencies": { "dependencies": {
"csstype": "^3.0.2" "csstype": "^3.0.2"
} }
@ -3265,7 +3265,7 @@
"version": "19.0.0-rc.1", "version": "19.0.0-rc.1",
"resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz", "resolved": "https://registry.npmjs.org/types-react-dom/-/types-react-dom-19.0.0-rc.1.tgz",
"integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==", "integrity": "sha512-VSLZJl8VXCD0fAWp7DUTFUDCcZ8DVXOQmjhJMD03odgeFmu14ZQJHCXeETm3BEAhJqfgJaFkLnGkQv88sRx0fQ==",
"dev": true, "devOptional": true,
"dependencies": { "dependencies": {
"@types/react": "*" "@types/react": "*"
} }
@ -7194,12 +7194,12 @@
"license": "MIT" "license": "MIT"
}, },
"node_modules/next": { "node_modules/next": {
"version": "15.2.3", "version": "15.2.4",
"resolved": "https://registry.npmjs.org/next/-/next-15.2.3.tgz", "resolved": "https://registry.npmjs.org/next/-/next-15.2.4.tgz",
"integrity": "sha512-x6eDkZxk2rPpu46E1ZVUWIBhYCLszmUY6fvHBFcbzJ9dD+qRX6vcHusaqqDlnY+VngKzKbAiG2iRCkPbmi8f7w==", "integrity": "sha512-VwL+LAaPSxEkd3lU2xWbgEOtrM8oedmyhBqaVNmgKB+GvZlCy9rgaEc+y2on0wv+l0oSFqLtYD6dcC1eAedUaQ==",
"license": "MIT", "license": "MIT",
"dependencies": { "dependencies": {
"@next/env": "15.2.3", "@next/env": "15.2.4",
"@swc/counter": "0.1.3", "@swc/counter": "0.1.3",
"@swc/helpers": "0.5.15", "@swc/helpers": "0.5.15",
"busboy": "1.6.0", "busboy": "1.6.0",
@ -7214,14 +7214,14 @@
"node": "^18.18.0 || ^19.8.0 || >= 20.0.0" "node": "^18.18.0 || ^19.8.0 || >= 20.0.0"
}, },
"optionalDependencies": { "optionalDependencies": {
"@next/swc-darwin-arm64": "15.2.3", "@next/swc-darwin-arm64": "15.2.4",
"@next/swc-darwin-x64": "15.2.3", "@next/swc-darwin-x64": "15.2.4",
"@next/swc-linux-arm64-gnu": "15.2.3", "@next/swc-linux-arm64-gnu": "15.2.4",
"@next/swc-linux-arm64-musl": "15.2.3", "@next/swc-linux-arm64-musl": "15.2.4",
"@next/swc-linux-x64-gnu": "15.2.3", "@next/swc-linux-x64-gnu": "15.2.4",
"@next/swc-linux-x64-musl": "15.2.3", "@next/swc-linux-x64-musl": "15.2.4",
"@next/swc-win32-arm64-msvc": "15.2.3", "@next/swc-win32-arm64-msvc": "15.2.4",
"@next/swc-win32-x64-msvc": "15.2.3", "@next/swc-win32-x64-msvc": "15.2.4",
"sharp": "^0.33.5" "sharp": "^0.33.5"
}, },
"peerDependencies": { "peerDependencies": {
@ -7851,7 +7851,6 @@
"version": "3.5.3", "version": "3.5.3",
"resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz", "resolved": "https://registry.npmjs.org/prettier/-/prettier-3.5.3.tgz",
"integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==", "integrity": "sha512-QQtaxnoDJeAkDvDKWCLiwIXkTgRhwYDEQCghU9Z6q03iyek/rxRh/2lC3HB7P8sWT2xC/y5JDctPLBIGzHKbhw==",
"dev": true,
"license": "MIT", "license": "MIT",
"bin": { "bin": {
"prettier": "bin/prettier.cjs" "prettier": "bin/prettier.cjs"
@ -9542,7 +9541,6 @@
"version": "5.8.2", "version": "5.8.2",
"resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz", "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.8.2.tgz",
"integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==", "integrity": "sha512-aJn6wq13/afZp/jT9QZmwEjDqqvSGp1VT5GVg+f/t6/oVyrgXM6BY1h9BRh/O5p3PlUPAe+WuiEZOmb/49RqoQ==",
"dev": true,
"license": "Apache-2.0", "license": "Apache-2.0",
"bin": { "bin": {
"tsc": "bin/tsc", "tsc": "bin/tsc",

View File

@ -44,7 +44,7 @@
"fuse.js": "^7.1.0", "fuse.js": "^7.1.0",
"lucide-react": "^0.453.0", "lucide-react": "^0.453.0",
"mini-svg-data-uri": "^1.4.4", "mini-svg-data-uri": "^1.4.4",
"next": "15.2.3", "next": "15.2.4",
"next-themes": "^0.3.0", "next-themes": "^0.3.0",
"nuqs": "^2.4.1", "nuqs": "^2.4.1",
"pocketbase": "^0.21.5", "pocketbase": "^0.21.5",

View File

@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": false, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 8686, "interface_port": 8686,
"documentation": null, "documentation": null,

View File

@ -0,0 +1,34 @@
{
"name": "OpenProject",
"slug": "openproject",
"categories": [
25
],
"date_created": "2025-04-03",
"type": "ct",
"updateable": true,
"privileged": false,
"interface_port": 80,
"documentation": "https://www.openproject.org",
"website": "https://www.openproject.org",
"logo": "https://raw.githubusercontent.com/opf/openproject/dev/docker/prod/logo.png",
"description": "OpenProject is a web-based project management software. Use OpenProject to manage your projects, tasks and goals. Collaborate via work packages and link them to your pull requests on Github. Read more about the OpenProject GitHub integration.",
"install_methods": [
{
"type": "default",
"script": "ct/openproject.sh",
"resources": {
"cpu": 2,
"ram": 4096,
"hdd": 8,
"os": "Debian",
"version": "12"
}
}
],
"default_credentials": {
"username": "admin",
"password": "admin"
},
"notes": []
}

View File

@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": false, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 9696, "interface_port": 9696,
"documentation": null, "documentation": null,

View File

@ -6,7 +6,7 @@
], ],
"date_created": "2024-05-02", "date_created": "2024-05-02",
"type": "ct", "type": "ct",
"updateable": false, "updateable": true,
"privileged": false, "privileged": false,
"interface_port": 7878, "interface_port": 7878,
"documentation": null, "documentation": null,

View File

@ -1,4 +1,69 @@
[ [
{
"name": "ollama/ollama",
"version": "v0.6.3-rc1",
"date": "2025-03-26T20:39:01Z"
},
{
"name": "HabitRPG/habitica",
"version": "v5.35.1",
"date": "2025-04-02T21:49:00Z"
},
{
"name": "fhem/fhem-mirror",
"version": "6.2",
"date": "2025-04-02T20:29:57Z"
},
{
"name": "redis/redis",
"version": "8.0-rc1-int2",
"date": "2025-04-02T19:05:08Z"
},
{
"name": "zitadel/zitadel",
"version": "v2.63.9",
"date": "2025-03-31T12:47:21Z"
},
{
"name": "home-assistant/core",
"version": "2025.4.0",
"date": "2025-04-02T17:01:41Z"
},
{
"name": "BookStackApp/BookStack",
"version": "v25.02.2",
"date": "2025-04-02T16:39:50Z"
},
{
"name": "cloudflare/cloudflared",
"version": "2025.4.0",
"date": "2025-04-02T15:38:53Z"
},
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.503",
"date": "2025-04-02T15:12:13Z"
},
{
"name": "Checkmk/checkmk",
"version": "v2.4.0b3",
"date": "2025-04-02T14:39:56Z"
},
{
"name": "hargata/lubelog",
"version": "v1.4.6",
"date": "2025-04-02T14:07:12Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.10",
"date": "2025-03-22T13:02:26Z"
},
{
"name": "wazuh/wazuh",
"version": "v4.11.2",
"date": "2025-04-02T13:40:18Z"
},
{ {
"name": "Graylog2/graylog2-server", "name": "Graylog2/graylog2-server",
"version": "6.1.9", "version": "6.1.9",
@ -9,16 +74,6 @@
"version": "v1.29.4", "version": "v1.29.4",
"date": "2025-04-01T08:45:07Z" "date": "2025-04-01T08:45:07Z"
}, },
{
"name": "fhem/fhem-mirror",
"version": "6.2",
"date": "2025-04-02T10:34:08Z"
},
{
"name": "home-assistant/core",
"version": "2025.3.4",
"date": "2025-03-21T20:22:46Z"
},
{ {
"name": "zwave-js/zwave-js-ui", "name": "zwave-js/zwave-js-ui",
"version": "v10.1.4", "version": "v10.1.4",
@ -51,8 +106,8 @@
}, },
{ {
"name": "runtipi/runtipi", "name": "runtipi/runtipi",
"version": "v3.10.0", "version": "nightly",
"date": "2025-03-15T14:38:16Z" "date": "2025-04-01T19:30:29Z"
}, },
{ {
"name": "fallenbagel/jellyseerr", "name": "fallenbagel/jellyseerr",
@ -119,21 +174,6 @@
"version": "5.26.5", "version": "5.26.5",
"date": "2025-04-01T09:32:48Z" "date": "2025-04-01T09:32:48Z"
}, },
{
"name": "Checkmk/checkmk",
"version": "v2.4.0b3-rc1",
"date": "2025-04-01T09:22:44Z"
},
{
"name": "wazuh/wazuh",
"version": "v4.11.2",
"date": "2025-04-01T07:07:35Z"
},
{
"name": "firefly-iii/firefly-iii",
"version": "v6.2.10",
"date": "2025-03-22T13:02:26Z"
},
{ {
"name": "diced/zipline", "name": "diced/zipline",
"version": "v4.0.2", "version": "v4.0.2",
@ -164,11 +204,6 @@
"version": "v4.2.0", "version": "v4.2.0",
"date": "2025-03-19T18:34:01Z" "date": "2025-03-19T18:34:01Z"
}, },
{
"name": "redis/redis",
"version": "8.0-rc1-int",
"date": "2025-03-31T18:26:40Z"
},
{ {
"name": "traefik/traefik", "name": "traefik/traefik",
"version": "v3.3.5", "version": "v3.3.5",
@ -184,11 +219,6 @@
"version": "n8n@1.84.3", "version": "n8n@1.84.3",
"date": "2025-03-27T11:54:33Z" "date": "2025-03-27T11:54:33Z"
}, },
{
"name": "zitadel/zitadel",
"version": "v2.63.9",
"date": "2025-03-31T12:47:21Z"
},
{ {
"name": "documenso/documenso", "name": "documenso/documenso",
"version": "v1.10.0-rc.4", "version": "v1.10.0-rc.4",
@ -404,11 +434,6 @@
"version": "v2.1.0.112-2.1.0.112_canary_2025-03-26", "version": "v2.1.0.112-2.1.0.112_canary_2025-03-26",
"date": "2025-03-26T21:04:38Z" "date": "2025-03-26T21:04:38Z"
}, },
{
"name": "ollama/ollama",
"version": "v0.6.3-rc1",
"date": "2025-03-26T20:39:01Z"
},
{ {
"name": "dgtlmoon/changedetection.io", "name": "dgtlmoon/changedetection.io",
"version": "0.49.9", "version": "0.49.9",
@ -459,11 +484,6 @@
"version": "v0.0.7", "version": "v0.0.7",
"date": "2025-03-25T15:11:18Z" "date": "2025-03-25T15:11:18Z"
}, },
{
"name": "jenkinsci/jenkins",
"version": "jenkins-2.503",
"date": "2025-03-25T14:01:20Z"
},
{ {
"name": "crowdsecurity/crowdsec", "name": "crowdsecurity/crowdsec",
"version": "v1.6.8", "version": "v1.6.8",
@ -484,11 +504,6 @@
"version": "2025-03-24-r2", "version": "2025-03-24-r2",
"date": "2025-03-24T20:52:35Z" "date": "2025-03-24T20:52:35Z"
}, },
{
"name": "HabitRPG/habitica",
"version": "v5.35.0",
"date": "2025-03-24T20:51:10Z"
},
{ {
"name": "go-gitea/gitea", "name": "go-gitea/gitea",
"version": "v1.23.6", "version": "v1.23.6",
@ -624,11 +639,6 @@
"version": "v1.60.0", "version": "v1.60.0",
"date": "2025-03-16T18:39:49Z" "date": "2025-03-16T18:39:49Z"
}, },
{
"name": "BookStackApp/BookStack",
"version": "v25.02.1",
"date": "2025-03-16T12:51:00Z"
},
{ {
"name": "Kozea/Radicale", "name": "Kozea/Radicale",
"version": "v3.5.0", "version": "v3.5.0",
@ -759,11 +769,6 @@
"version": "v0.28.1", "version": "v0.28.1",
"date": "2025-03-07T15:41:35Z" "date": "2025-03-07T15:41:35Z"
}, },
{
"name": "hargata/lubelog",
"version": "v1.4.5",
"date": "2025-03-06T19:43:48Z"
},
{ {
"name": "eclipse-mosquitto/mosquitto", "name": "eclipse-mosquitto/mosquitto",
"version": "v2.0.21", "version": "v2.0.21",
@ -809,11 +814,6 @@
"version": "v1.5.7", "version": "v1.5.7",
"date": "2025-02-27T20:04:08Z" "date": "2025-02-27T20:04:08Z"
}, },
{
"name": "cloudflare/cloudflared",
"version": "2025.2.1",
"date": "2025-02-27T11:36:11Z"
},
{ {
"name": "cross-seed/cross-seed", "name": "cross-seed/cross-seed",
"version": "v6.11.2", "version": "v6.11.2",

View File

@ -14,17 +14,19 @@ network_check
update_os update_os
msg_info "Installing Dependencies" msg_info "Installing Dependencies"
$STD apt-get install -y sqlite3 $STD apt-get install -y \
$STD apt-get install -y libchromaprint-tools sqlite3 \
$STD apt-get install -y mediainfo libchromaprint-tools \
mediainfo
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Lidarr" msg_info "Installing Lidarr"
temp_file="$(mktemp)"
mkdir -p /var/lib/lidarr/ mkdir -p /var/lib/lidarr/
chmod 775 /var/lib/lidarr/ chmod 775 /var/lib/lidarr/
cd /var/lib/lidarr/ RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
$STD curl -fsSL 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o lidarr.tar.gz curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf lidarr.tar.gz $STD tar -xvzf "$temp_file"
mv Lidarr /opt mv Lidarr /opt
chmod 775 /opt/Lidarr chmod 775 /opt/Lidarr
msg_ok "Installed Lidarr" msg_ok "Installed Lidarr"
@ -44,15 +46,14 @@ Restart=on-failure
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
systemctl -q daemon-reload systemctl enable -q --now lidarr
systemctl enable --now -q lidarr
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf Lidarr.master.*.tar.gz rm -rf "$temp_file"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@ -0,0 +1,98 @@
#!/usr/bin/env bash
# Copyright (c) 2021-2025 community-scripts ORG
# Author: michelroegl-brunner
# License: MIT | https://github.com/community-scripts/ProxmoxVE/raw/main/LICENSE
# Source: https://github.com/opf/openproject
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 \
apt-transport-https \
ca-certificates \
gpg
msg_ok "Installed Dependencies"
msg_info "Setup OpenProject Repository"
wget -qO- https://dl.packager.io/srv/opf/openproject/key | gpg --dearmor >/etc/apt/trusted.gpg.d/packager-io.gpg
wget -qO /etc/apt/sources.list.d/openproject.list https://dl.packager.io/srv/opf/openproject/stable/15/installer/debian/12.repo
msg_ok "Setup OpenProject Repository"
msg_info "Setup PostgreSQL Repository"
VERSION="$(awk -F'=' '/^VERSION_CODENAME=/{ print $NF }' /etc/os-release)"
echo "deb http://apt.postgresql.org/pub/repos/apt ${VERSION}-pgdg main" >/etc/apt/sources.list.d/pgdg.list
curl -sSL https://www.postgresql.org/media/keys/ACCC4CF8.asc | gpg --dearmor --output /etc/apt/trusted.gpg.d/postgresql.gpg
msg_ok "Setup PostgreSQL Repository"
msg_info "Installing PostgreSQL"
$STD apt-get update
$STD apt-get install -y postgresql
msg_ok "Installed PostgreSQL"
msg_info "Setting up PostgreSQL"
DB_NAME=openproject
DB_USER=openproject
DB_PASS=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
API_KEY=$(openssl rand -base64 18 | tr -dc 'a-zA-Z0-9' | cut -c1-13)
$STD sudo -u postgres psql -c "CREATE ROLE $DB_USER WITH LOGIN PASSWORD '$DB_PASS';"
$STD sudo -u postgres psql -c "CREATE DATABASE $DB_NAME WITH OWNER $DB_USER TEMPLATE template0;"
{
echo "OpenProject-Credentials"
echo -e "OpenProject Database User: $DB_USER"
echo -e "OpenProject Database Password: $DB_PASS"
echo -e "OpenProject Database Name: $DB_NAME"
echo -e "OpenProject API Key: $API_KEY"
} >>~/openproject.creds
msg_ok "Set up PostgreSQL"
msg_info "Installing OpenProject"
$STD apt-get install -y openproject
msg_ok "Installed OpenProject"
msg_info "Configure OpenProject"
IP_ADDR=$(hostname -I | cut -d' ' -f1)
cat <<EOF >/etc/openproject/installer.dat
openproject/edition default
postgres/retry retry
postgres/autoinstall reuse
postgres/db_host 127.0.0.1
postgres/db_port 5432
postgres/db_username ${DB_USER}
postgres/db_password ${DB_PASS}
postgres/db_name ${DB_NAME}
server/autoinstall install
server/variant apache2
server/hostname ${IP_ADDR}
server/server_path_prefix /openproject
server/ssl no
server/variant apache2
server/server_path_prefix
repositories/api-key ${API_KEY}
repositories/svn-install skip
repositories/git-install install
repositories/git-path /var/db/openproject/git
repositories/git-http-backend /usr/lib/git-core/git-http-backend/
memcached/autoinstall install
openproject/admin_email admin@example.net
openproject/default_language en
EOF
$STD sudo openproject configure
msg_ok "Configured OpenProject"
motd_ssh
customize
msg_info "Cleaning up"
$STD apt-get -y autoremove
$STD apt-get -y autoclean
msg_ok "Cleaned"

View File

@ -18,11 +18,13 @@ $STD apt-get install -y sqlite3
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Prowlarr" msg_info "Installing Prowlarr"
temp_file="$(mktemp)"
mkdir -p /var/lib/prowlarr/ mkdir -p /var/lib/prowlarr/
chmod 775 /var/lib/prowlarr/ chmod 775 /var/lib/prowlarr/
cd /var/lib/prowlarr/ cd /var/lib/prowlarr/ || exit
$STD curl -fsSL 'https://prowlarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o prowlarr.tar.gz RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
$STD tar -xvzf prowlarr.tar.gz curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Prowlarr /opt mv Prowlarr /opt
chmod 775 /opt/Prowlarr chmod 775 /opt/Prowlarr
msg_ok "Installed Prowlarr" msg_ok "Installed Prowlarr"
@ -42,15 +44,14 @@ Restart=on-failure
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
systemctl -q daemon-reload systemctl enable -q --now prowlarr
systemctl enable --now -q prowlarr
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf Prowlarr.master.*.tar.gz rm -f "$temp_file"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"

View File

@ -18,11 +18,13 @@ $STD apt-get install -y sqlite3
msg_ok "Installed Dependencies" msg_ok "Installed Dependencies"
msg_info "Installing Radarr" msg_info "Installing Radarr"
temp_file="$(mktemp)"
mkdir -p /var/lib/radarr/ mkdir -p /var/lib/radarr/
chmod 775 /var/lib/radarr/ chmod 775 /var/lib/radarr/
cd /var/lib/radarr/ cd /var/lib/radarr/ || exit
$STD curl -fsSL 'https://radarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o radarr.tar.gz RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
$STD tar -xvzf radarr.tar.gz curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
$STD tar -xvzf "$temp_file"
mv Radarr /opt mv Radarr /opt
chmod 775 /opt/Radarr chmod 775 /opt/Radarr
msg_ok "Installed Radarr" msg_ok "Installed Radarr"
@ -42,15 +44,14 @@ Restart=on-failure
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target
EOF EOF
systemctl -q daemon-reload systemctl enable -q --now radarr
systemctl enable --now -q radarr
msg_ok "Created Service" msg_ok "Created Service"
motd_ssh motd_ssh
customize customize
msg_info "Cleaning up" msg_info "Cleaning up"
rm -rf Radarr.master.*.tar.gz rm -rf "$temp_file"
$STD apt-get -y autoremove $STD apt-get -y autoremove
$STD apt-get -y autoclean $STD apt-get -y autoclean
msg_ok "Cleaned" msg_ok "Cleaned"