Skip to content

Commit

Permalink
Merge branch 'main' into Tearran-patch-2
Browse files Browse the repository at this point in the history
  • Loading branch information
Tearran authored Dec 3, 2024
2 parents 3df0a29 + 22f8635 commit 8c89d25
Show file tree
Hide file tree
Showing 20 changed files with 610 additions and 28 deletions.
Binary file added tools/include/images/CON007.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added tools/include/images/DOW040.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added tools/include/images/MED010.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added tools/include/images/MON005.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added tools/include/images/SY018.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions tools/include/markdown/CON007-footer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Every day watchtower will pull the latest images and compare it to the one that was used to run the certain container. If it sees that the image has changed it will stop/remove containers and then restart it using the new image and the same docker run options that were used to start the container initially.
1 change: 1 addition & 0 deletions tools/include/markdown/CON007-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Watchtower is an application that will monitor your running Docker containers and watch for changes to the images that those containers were originally started from. If watchtower detects that an image has changed, it will automatically restart the container using the new image.
1 change: 1 addition & 0 deletions tools/include/markdown/DOW040-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Jellyseerr is a free and open source software application for managing requests for your media library. It is a fork of Overseerr built to bring support for Jellyfin & Emby media servers!
15 changes: 15 additions & 0 deletions tools/include/markdown/MED010-footer.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
=== "Access to the web interface"

The web interface is accessible via port **8077**:

- URL: `https://<your.IP>:8077`

=== "Directories"

- Install directory: `/armbian/stirling`

=== "View logs"

```sh
docker logs -f stirling-pdf
```
1 change: 1 addition & 0 deletions tools/include/markdown/MED010-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Stirling-PDF is a robust, locally hosted web-based PDF manipulation tool using Docker. It enables you to carry out various operations on PDF files, including splitting, merging, converting, reorganizing, adding images, rotating, compressing, and more. This locally hosted web application has evolved to encompass a comprehensive set of features, addressing all your PDF requirements.
1 change: 1 addition & 0 deletions tools/include/markdown/MON005-header.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
Netdata is a partially open source tool designed to collect real-time metrics, such as CPU usage, disk activity, bandwidth usage, website visits, etc., and then display them in live, easy-to-interpret charts.
129 changes: 125 additions & 4 deletions tools/json/config.software.json
Original file line number Diff line number Diff line change
Expand Up @@ -580,6 +580,36 @@
"status": "Stable",
"author": "@armbian",
"condition": "module_prowlarr status"
},
{
"id": "DOW040",
"description": "Jellyseerr install",
"command": [
"module_jellyseerr install"
],
"status": "Stable",
"author": "@armbian",
"condition": "! module_jellyseerr status"
},
{
"id": "DOW041",
"description": "Jellyseerr remove ",
"command": [
"module_jellyseerr remove"
],
"status": "Stable",
"author": "@armbian",
"condition": "module_jellyseerr status"
},
{
"id": "DOW042",
"description": "Jellyseerr purge data folder",
"command": [
"module_jellyseerr purge"
],
"status": "Stable",
"author": "@armbian",
"condition": "! module_jellyseerr status && [[ -d \"${SOFTWARE_FOLDER}/jellyseerr\" ]]"
}
]
},
Expand Down Expand Up @@ -773,6 +803,26 @@
"status": "Stable",
"author": "@armbian",
"condition": "module_portainer status"
},
{
"id": "CON007",
"description": "Watchtower install",
"command": [
"module_watchtower install"
],
"status": "Stable",
"author": "@armbian",
"condition": "! module_watchtower status"
},
{
"id": "CON008",
"description": "Watchtower remove",
"command": [
"module_watchtower remove"
],
"status": "Stable",
"author": "@armbian",
"condition": "module_watchtower status"
}
]
},
Expand Down Expand Up @@ -824,7 +874,38 @@
"status": "Stable",
"author": "@schwar3kat",
"condition": "check_if_installed emby-server"
},
{
"id": "MED010",
"description": "Stirling-PDF Install",
"command": [
"module_stirling install"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "! module_stirling status"
},
{
"id": "MED011",
"description": "Stirling-PDF Remove",
"command": [
"module_stirling remove"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "module_stirling status"
},
{
"id": "MED012",
"description": "Stirling-PDF Purge data folder",
"command": [
"module_stirling purge"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "! module_stirling status && [[ -d \"${SOFTWARE_FOLDER}/stirling\" ]]"
}

]
},
{
Expand All @@ -833,8 +914,7 @@
"sub": [
{
"id": "MON001",
"description": "Install Uptime Kuma",
"about": "Uptime Kuma is an easy-to-use self-hosted monitoring tool.",
"description": "Uptime Kuma install ",
"command": [
"module_uptimekuma install"
],
Expand All @@ -844,14 +924,55 @@
},
{
"id": "MON002",
"description": "Uninstall Uptime Kuma",
"description": "Uptime Kuma remove",
"command": [
"module_uptimekuma uninstall"
"module_uptimekuma remove"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "module_uptimekuma status"
},
{
"id": "MON003",
"description": "Uptime Kuma purge data folder",
"command": [
"module_uptimekuma purge"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "! module_uptimekuma status && [[ -d \"${SOFTWARE_FOLDER}/uptimekuma\" ]]"
},
{
"id": "MON005",
"description": "Netdata Install",
"command": [
"module_netdata install"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "! module_netdata status"
},
{
"id": "MON006",
"description": "Netdata remove",
"command": [
"module_netdata remove"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "module_netdata status"
},
{
"id": "MON007",
"description": "Netdata purge data folder",
"command": [
"module_netdata purge"
],
"status": "Stable",
"author": "@igorpecovnik",
"condition": "! module_netdata status && [[ -d \"${SOFTWARE_FOLDER}/netdata\" ]]"
}

]
},
{
Expand Down
20 changes: 20 additions & 0 deletions tools/json/config.system.json
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,26 @@
"status": "Stable",
"author": "@viraniac @igorpecovnik",
"condition": "[ -d /boot/dtb/ ] && [ -f /boot/armbianEnv.txt ]"
},
{
"id": "SY018",
"description": "ZFS filesystem - enable support",
"command": [
"module_zfs install"
],
"status": "Stable",
"author": "@armbian",
"condition": "! module_zfs status && linux-version compare ${KERNELID} le $(module_zfs kernel_max)"
},
{
"id": "SY019",
"description": "ZFS filesystem - remove support",
"command": [
"module_zfs remove"
],
"status": "Stable",
"author": "@armbian",
"condition": "module_zfs status"
}
]
}
Expand Down
22 changes: 10 additions & 12 deletions tools/modules/runtime/config.runtime.sh
Original file line number Diff line number Diff line change
Expand Up @@ -87,20 +87,17 @@ fi

#
# Sub sub menu updates

cockpit_port="$(systemctl cat cockpit.socket | grep ListenStream | awk -F= '{print $2}' | awk '{print $1}')"
update_sub_submenu_data "Software" "Management" "M03" "https://localhost:$cockpit_port"

emby_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'emby' | awk -F: '{print $2}' | awk '{print $1}')"
update_sub_submenu_data "Software" "Media" "SW24" "https://localhost:$emby_media_port"

plex_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'plex' | awk -F: '{print $2}' | awk '{print $1}' | head -n 1)"
update_sub_submenu_data "Software" "Media" "SW22" "https://localhost:$plex_media_port"

#cockpit_port="$(systemctl cat cockpit.socket | grep ListenStream | awk -F= '{print $2}' | awk '{print $1}')"
#update_sub_submenu_data "Software" "Management" "M03" "https://localhost:$cockpit_port"
#emby_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'emby' | awk -F: '{print $2}' | awk '{print $1}')"
#update_sub_submenu_data "Software" "Media" "SW24" "https://localhost:$emby_media_port"
#plex_media_port="$(lsof -i -P -n | grep TCP | grep LISTEN | grep 'plex' | awk -F: '{print $2}' | awk '{print $1}' | head -n 1)"
#update_sub_submenu_data "Software" "Media" "SW22" "https://localhost:$plex_media_port"

update_sub_submenu_data "Software" "Media" "MED006" "http://$LOCALIPADD:${module_options["module_stirling,port"]}"
update_sub_submenu_data "Software" "Containers" "CON006" "http://$LOCALIPADD:${module_options["module_portainer,port"]}"
update_sub_submenu_data "Software" "HomeAutomation" "HA004" "http://$LOCALIPADD:${module_options["module_haos,port"]}"


update_sub_submenu_data "Software" "Monitoring" "MON004" "http://$LOCALIPADD:${module_options["module_netdata,port"]}"
update_sub_submenu_data "Software" "Downloaders" "DOW002" "http://$LOCALIPADD:${module_options["module_qbittorrent,port"]}"
update_sub_submenu_data "Software" "Downloaders" "DOW004" "http://$LOCALIPADD:${module_options["module_deluge,port"]}"
update_sub_submenu_data "Software" "Downloaders" "DOW006" "http://$LOCALIPADD:${module_options["module_transmission,port"]}"
Expand All @@ -112,4 +109,5 @@ update_sub_submenu_data "Software" "Downloaders" "DOW020" "http://$LOCALIPADD:${
update_sub_submenu_data "Software" "Downloaders" "DOW022" "http://$LOCALIPADD:${module_options["module_lidarr,port"]}"
update_sub_submenu_data "Software" "Downloaders" "DOW024" "http://$LOCALIPADD:${module_options["module_readarr,port"]}"
update_sub_submenu_data "Software" "Downloaders" "DOW026" "http://$LOCALIPADD:${module_options["module_prowlarr,port"]}"
update_sub_submenu_data "Software" "Downloaders" "DOW041" "http://$LOCALIPADD:${module_options["module_jellyseerr,port"]}"

79 changes: 79 additions & 0 deletions tools/modules/software/install_jellyseerr.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
module_options+=(
["module_jellyseerr,author"]="@armbian"
["module_jellyseerr,feature"]="module_jellyseerr"
["module_jellyseerr,desc"]="Install jellyseerr container"
["module_jellyseerr,example"]="install remove purge status help"
["module_jellyseerr,port"]="5055"
["module_jellyseerr,status"]="Active"
["module_jellyseerr,arch"]="x86-64,arm64"
)
#
# Module jellyseerr
#
function module_jellyseerr () {
local title="jellyseerr"
local condition=$(which "$title" 2>/dev/null)

if check_if_installed docker-ce; then
local container=$(docker container ls -a | mawk '/jellyseerr?( |$)/{print $1}')
local image=$(docker image ls -a | mawk '/jellyseerr?( |$)/{print $3}')
fi

local commands
IFS=' ' read -r -a commands <<< "${module_options["module_jellyseerr,example"]}"

JELLYSEERR_BASE="${SOFTWARE_FOLDER}/jellyseerr"

case "$1" in
"${commands[0]}")
check_if_installed docker-ce || install_docker
[[ -d "$JELLYSEERR_BASE" ]] || mkdir -p "$JELLYSEERR_BASE" || { echo "Couldn't create storage directory: $JELLYSEERR_BASE"; exit 1; }
docker run -d \
--name jellyseerr \
-e LOG_LEVEL=debug \
-e TZ="$(cat /etc/timezone)" \
-e PORT=5055 `#optional` \
-p 5055:5055 \
-v "${JELLYSEERR_BASE}/config:/app/config" \
--restart unless-stopped \
fallenbagel/jellyseerr
for i in $(seq 1 20); do
if docker inspect -f '{{ index .Config.Labels "build_version" }}' jellyseerr >/dev/null 2>&1 ; then
break
else
sleep 3
fi
if [ $i -eq 20 ] ; then
echo -e "\nTimed out waiting for ${title} to start, consult your container logs for more info (\`docker logs jellyseerr\`)"
exit 1
fi
done
;;
"${commands[1]}")
[[ "${container}" ]] && docker container rm -f "$container" >/dev/null
[[ "${image}" ]] && docker image rm "$image" >/dev/null
;;
"${commands[2]}")
[[ -n "${JELLYSEERR_BASE}" && "${JELLYSEERR_BASE}" != "/" ]] && rm -rf "${JELLYSEERR_BASE}"
;;
"${commands[3]}")
if [[ "${container}" && "${image}" ]]; then
return 0
else
return 1
fi
;;
"${commands[4]}")
echo -e "\nUsage: ${module_options["module_jellyseerr,feature"]} <command>"
echo -e "Commands: ${module_options["module_jellyseerr,example"]}"
echo "Available commands:"
echo -e "\tinstall\t- Install $title."
echo -e "\tstatus\t- Installation status $title."
echo -e "\tremove\t- Remove $title."
echo
;;
*)
${module_options["module_jellyseerr,feature"]} ${commands[4]}
;;
esac
}
Loading

0 comments on commit 8c89d25

Please sign in to comment.