Skip to content

Commit 5b0cfaa

Browse files
authored
*Arr: Move Arr apps to github release crawling and provide update functionality (#3625)
* Move Arr apps to github release crawling * Update website, show updateable
1 parent a5dd2b3 commit 5b0cfaa

File tree

9 files changed

+189
-147
lines changed

9 files changed

+189
-147
lines changed

ct/lidarr.sh

Lines changed: 23 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -20,18 +20,29 @@ color
2020
catch_errors
2121

2222
function update_script() {
23-
header_info
24-
check_container_storage
25-
check_container_resources
26-
if [[ ! -d /var/lib/lidarr/ ]]; then
27-
msg_error "No ${APP} Installation Found!"
28-
exit
29-
fi
30-
msg_info "Updating $APP LXC"
31-
$STD apt-get update
32-
$STD apt-get -y upgrade
33-
msg_ok "Updated $APP LXC"
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
if [[ ! -d /var/lib/lidarr/ ]]; then
28+
msg_error "No ${APP} Installation Found!"
3429
exit
30+
fi
31+
32+
msg_info "Updating $APP LXC"
33+
temp_file="$(mktemp)"
34+
rm -rf /opt/Lidarr
35+
RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
36+
curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
37+
$STD tar -xvzf "$temp_file"
38+
mv Lidarr /opt
39+
chmod 775 /opt/Lidarr
40+
msg_ok "Updated $APP LXC"
41+
42+
msg_info "Cleaning up"
43+
rm -rf "$temp_file"
44+
msg_ok "Cleaned up"
45+
exit
3546
}
3647

3748
start
@@ -41,4 +52,4 @@ description
4152
msg_ok "Completed Successfully!\n"
4253
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
4354
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
44-
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8686${CL}"
55+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:8686${CL}"

ct/prowlarr.sh

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,29 @@ color
2020
catch_errors
2121

2222
function update_script() {
23-
header_info
24-
check_container_storage
25-
check_container_resources
26-
if [[ ! -d /var/lib/prowlarr/ ]]; then
27-
msg_error "No ${APP} Installation Found!"
28-
exit
29-
fi
30-
msg_error "Currently we don't provide an update function for this ${APP}."
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
if [[ ! -d /var/lib/prowlarr/ ]]; then
28+
msg_error "No ${APP} Installation Found!"
3129
exit
30+
fi
31+
32+
msg_info "Updating $APP LXC"
33+
temp_file="$(mktemp)"
34+
rm -rf /opt/Prowlarr
35+
RELEASE=$(curl -fsSL https://api.github.com/repos/Prowlarr/Prowlarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
36+
curl -fsSL "https://github.tcom/Prowlarr/Prowlarr/releases/download/v${RELEASE}/Prowlarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
37+
$STD tar -xvzf "$temp_file"
38+
mv Prowlarr /opt
39+
chmod 775 /opt/Prowlarr
40+
msg_ok "Updated $APP LXC"
41+
42+
msg_info "Cleaning up"
43+
rm -f "$temp_file"
44+
msg_ok "Cleaned up"
45+
exit
3246
}
3347

3448
start
@@ -38,4 +52,4 @@ description
3852
msg_ok "Completed Successfully!\n"
3953
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
4054
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
41-
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9696${CL}"
55+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:9696${CL}"

ct/radarr.sh

Lines changed: 23 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -20,15 +20,29 @@ color
2020
catch_errors
2121

2222
function update_script() {
23-
header_info
24-
check_container_storage
25-
check_container_resources
26-
if [[ ! -d /var/lib/radarr/ ]]; then
27-
msg_error "No ${APP} Installation Found!"
28-
exit
29-
fi
30-
msg_error "Currently we don't provide an update function for this ${APP}."
23+
header_info
24+
check_container_storage
25+
check_container_resources
26+
27+
if [[ ! -d /var/lib/radarr/ ]]; then
28+
msg_error "No ${APP} Installation Found!"
3129
exit
30+
fi
31+
32+
msg_info "Updating $APP LXC"
33+
temp_file="$(mktemp)"
34+
rm -rf /opt/Radarr
35+
RELEASE=$(curl -fsSL https://api.github.com/repos/Radarr/Radarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
36+
curl -fsSL "https://github.com/Radarr/Radarr/releases/download/v${RELEASE}/Radarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
37+
$STD tar -xvzf "$temp_file"
38+
mv Radarr /opt
39+
chmod 775 /opt/Radarr
40+
msg_ok "Updated $APP LXC"
41+
42+
msg_info "Cleaning up"
43+
rm -rf "$temp_file"
44+
msg_ok "Cleaned up"
45+
exit
3246
}
3347

3448
start
@@ -38,4 +52,4 @@ description
3852
msg_ok "Completed Successfully!\n"
3953
echo -e "${CREATING}${GN}${APP} setup has been successfully initialized!${CL}"
4054
echo -e "${INFO}${YW} Access it using the following URL:${CL}"
41-
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7878${CL}"
55+
echo -e "${TAB}${GATEWAY}${BGN}http://${IP}:7878${CL}"

frontend/public/json/lidarr.json

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
{
2-
"name": "Lidarr",
3-
"slug": "lidarr",
4-
"categories": [
5-
14
6-
],
7-
"date_created": "2024-05-02",
8-
"type": "ct",
9-
"updateable": false,
10-
"privileged": false,
11-
"interface_port": 8686,
12-
"documentation": null,
13-
"website": "https://lidarr.audio/",
14-
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/lidarr.svg",
15-
"description": "Lidarr is a music management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their music collection with ease. Lidarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Radarr, to automate the downloading and organizing of music files. The software provides a web-based interface for managing and organizing music, making it easy to search and find songs, albums, and artists. Lidarr also supports metadata management, including album art, artist information, and lyrics, making it easy for users to keep their music collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing music collections, making it a valuable tool for music lovers who want to keep their collection organized and up-to-date. With Lidarr, users can enjoy their music collection from anywhere, making it a powerful tool for managing and sharing music files.",
16-
"install_methods": [
17-
{
18-
"type": "default",
19-
"script": "ct/lidarr.sh",
20-
"resources": {
21-
"cpu": 2,
22-
"ram": 1024,
23-
"hdd": 4,
24-
"os": "debian",
25-
"version": "12"
26-
}
27-
}
28-
],
29-
"default_credentials": {
30-
"username": null,
31-
"password": null
32-
},
33-
"notes": []
2+
"name": "Lidarr",
3+
"slug": "lidarr",
4+
"categories": [
5+
14
6+
],
7+
"date_created": "2024-05-02",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 8686,
12+
"documentation": null,
13+
"website": "https://lidarr.audio/",
14+
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/lidarr.svg",
15+
"description": "Lidarr is a music management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their music collection with ease. Lidarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Radarr, to automate the downloading and organizing of music files. The software provides a web-based interface for managing and organizing music, making it easy to search and find songs, albums, and artists. Lidarr also supports metadata management, including album art, artist information, and lyrics, making it easy for users to keep their music collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing music collections, making it a valuable tool for music lovers who want to keep their collection organized and up-to-date. With Lidarr, users can enjoy their music collection from anywhere, making it a powerful tool for managing and sharing music files.",
16+
"install_methods": [
17+
{
18+
"type": "default",
19+
"script": "ct/lidarr.sh",
20+
"resources": {
21+
"cpu": 2,
22+
"ram": 1024,
23+
"hdd": 4,
24+
"os": "debian",
25+
"version": "12"
26+
}
27+
}
28+
],
29+
"default_credentials": {
30+
"username": null,
31+
"password": null
32+
},
33+
"notes": []
3434
}

frontend/public/json/prowlarr.json

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
{
2-
"name": "Prowlarr",
3-
"slug": "prowlarr",
4-
"categories": [
5-
14
6-
],
7-
"date_created": "2024-05-02",
8-
"type": "ct",
9-
"updateable": false,
10-
"privileged": false,
11-
"interface_port": 9696,
12-
"documentation": null,
13-
"website": "https://github.com/Prowlarr/Prowlarr",
14-
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/prowlarr.svg",
15-
"description": "Prowlarr is a software tool designed to integrate with various PVR (Personal Video Recorder) apps. It is built on a popular *arr .net/ReactJS base stack and serves as an indexer manager and proxy. Prowlarr makes it easy to manage and organize TV show and movie collections, by integrating with popular PVR apps and automating the downloading and organizing of media files. The software provides a web-based interface for managing and organizing TV shows and movies, making it easy to search and find content. Prowlarr also supports metadata management, including show and movie information, making it easy for users to keep their media collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing media collections, making it a valuable tool for media enthusiasts who want to keep their collection organized and up-to-date. With Prowlarr, users can enjoy their media collection from anywhere, making it a powerful tool for managing and sharing media files.",
16-
"install_methods": [
17-
{
18-
"type": "default",
19-
"script": "ct/prowlarr.sh",
20-
"resources": {
21-
"cpu": 2,
22-
"ram": 1024,
23-
"hdd": 4,
24-
"os": "debian",
25-
"version": "12"
26-
}
27-
}
28-
],
29-
"default_credentials": {
30-
"username": null,
31-
"password": null
32-
},
33-
"notes": []
2+
"name": "Prowlarr",
3+
"slug": "prowlarr",
4+
"categories": [
5+
14
6+
],
7+
"date_created": "2024-05-02",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 9696,
12+
"documentation": null,
13+
"website": "https://github.com/Prowlarr/Prowlarr",
14+
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/prowlarr.svg",
15+
"description": "Prowlarr is a software tool designed to integrate with various PVR (Personal Video Recorder) apps. It is built on a popular *arr .net/ReactJS base stack and serves as an indexer manager and proxy. Prowlarr makes it easy to manage and organize TV show and movie collections, by integrating with popular PVR apps and automating the downloading and organizing of media files. The software provides a web-based interface for managing and organizing TV shows and movies, making it easy to search and find content. Prowlarr also supports metadata management, including show and movie information, making it easy for users to keep their media collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing media collections, making it a valuable tool for media enthusiasts who want to keep their collection organized and up-to-date. With Prowlarr, users can enjoy their media collection from anywhere, making it a powerful tool for managing and sharing media files.",
16+
"install_methods": [
17+
{
18+
"type": "default",
19+
"script": "ct/prowlarr.sh",
20+
"resources": {
21+
"cpu": 2,
22+
"ram": 1024,
23+
"hdd": 4,
24+
"os": "debian",
25+
"version": "12"
26+
}
27+
}
28+
],
29+
"default_credentials": {
30+
"username": null,
31+
"password": null
32+
},
33+
"notes": []
3434
}

frontend/public/json/radarr.json

Lines changed: 32 additions & 32 deletions
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,34 @@
11
{
2-
"name": "Radarr",
3-
"slug": "radarr",
4-
"categories": [
5-
14
6-
],
7-
"date_created": "2024-05-02",
8-
"type": "ct",
9-
"updateable": false,
10-
"privileged": false,
11-
"interface_port": 7878,
12-
"documentation": null,
13-
"website": "https://radarr.video/",
14-
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/radarr.svg",
15-
"description": "Radarr is a movie management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their movie collection with ease. Radarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Lidarr, to automate the downloading and organizing of movie files. The software provides a web-based interface for managing and organizing movies, making it easy to search and find titles, genres, and release dates. Radarr also supports metadata management, including movie posters and information, making it easy for users to keep their movie collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing movie collections, making it a valuable tool for movie enthusiasts who want to keep their collection organized and up-to-date. With Radarr, users can enjoy their movie collection from anywhere, making it a powerful tool for managing and sharing movie files.",
16-
"install_methods": [
17-
{
18-
"type": "default",
19-
"script": "ct/radarr.sh",
20-
"resources": {
21-
"cpu": 2,
22-
"ram": 1024,
23-
"hdd": 4,
24-
"os": "debian",
25-
"version": "12"
26-
}
27-
}
28-
],
29-
"default_credentials": {
30-
"username": null,
31-
"password": null
32-
},
33-
"notes": []
2+
"name": "Radarr",
3+
"slug": "radarr",
4+
"categories": [
5+
14
6+
],
7+
"date_created": "2024-05-02",
8+
"type": "ct",
9+
"updateable": true,
10+
"privileged": false,
11+
"interface_port": 7878,
12+
"documentation": null,
13+
"website": "https://radarr.video/",
14+
"logo": "https://raw.githubusercontent.com/selfhst/icons/refs/heads/main/svg/radarr.svg",
15+
"description": "Radarr is a movie management tool designed for Usenet and BitTorrent users. It allows users to manage and organize their movie collection with ease. Radarr integrates with popular Usenet and BitTorrent clients, such as Sonarr and Lidarr, to automate the downloading and organizing of movie files. The software provides a web-based interface for managing and organizing movies, making it easy to search and find titles, genres, and release dates. Radarr also supports metadata management, including movie posters and information, making it easy for users to keep their movie collection organized and up-to-date. The software is designed to be easy to use and provides a simple and intuitive interface for managing and organizing movie collections, making it a valuable tool for movie enthusiasts who want to keep their collection organized and up-to-date. With Radarr, users can enjoy their movie collection from anywhere, making it a powerful tool for managing and sharing movie files.",
16+
"install_methods": [
17+
{
18+
"type": "default",
19+
"script": "ct/radarr.sh",
20+
"resources": {
21+
"cpu": 2,
22+
"ram": 1024,
23+
"hdd": 4,
24+
"os": "debian",
25+
"version": "12"
26+
}
27+
}
28+
],
29+
"default_credentials": {
30+
"username": null,
31+
"password": null
32+
},
33+
"notes": []
3434
}

install/lidarr-install.sh

Lines changed: 10 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,17 +14,19 @@ network_check
1414
update_os
1515

1616
msg_info "Installing Dependencies"
17-
$STD apt-get install -y sqlite3
18-
$STD apt-get install -y libchromaprint-tools
19-
$STD apt-get install -y mediainfo
17+
$STD apt-get install -y \
18+
sqlite3 \
19+
libchromaprint-tools \
20+
mediainfo
2021
msg_ok "Installed Dependencies"
2122

2223
msg_info "Installing Lidarr"
24+
temp_file="$(mktemp)"
2325
mkdir -p /var/lib/lidarr/
2426
chmod 775 /var/lib/lidarr/
25-
cd /var/lib/lidarr/
26-
$STD curl -fsSL 'https://lidarr.servarr.com/v1/update/master/updatefile?os=linux&runtime=netcore&arch=x64' -o lidarr.tar.gz
27-
$STD tar -xvzf lidarr.tar.gz
27+
RELEASE=$(curl -fsSL https://api.github.com/repos/Lidarr/Lidarr/releases/latest | grep "tag_name" | awk '{print substr($2, 3, length($2)-4) }')
28+
curl -fsSL "https://github.com/Lidarr/Lidarr/releases/download/v${RELEASE}/Lidarr.master.${RELEASE}.linux-core-x64.tar.gz" -o "$temp_file"
29+
$STD tar -xvzf "$temp_file"
2830
mv Lidarr /opt
2931
chmod 775 /opt/Lidarr
3032
msg_ok "Installed Lidarr"
@@ -44,15 +46,14 @@ Restart=on-failure
4446
[Install]
4547
WantedBy=multi-user.target
4648
EOF
47-
systemctl -q daemon-reload
48-
systemctl enable --now -q lidarr
49+
systemctl enable -q --now lidarr
4950
msg_ok "Created Service"
5051

5152
motd_ssh
5253
customize
5354

5455
msg_info "Cleaning up"
55-
rm -rf Lidarr.master.*.tar.gz
56+
rm -rf "$temp_file"
5657
$STD apt-get -y autoremove
5758
$STD apt-get -y autoclean
5859
msg_ok "Cleaned"

0 commit comments

Comments
 (0)