better handling of startup process

This commit is contained in:
Gal@Shefet 2023-05-09 00:31:22 -04:00
parent 520a20479e
commit df695525e9
8 changed files with 136 additions and 68 deletions

View File

@ -1,4 +1,9 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
USER_HOME=$HOME
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
. ${SHRC_D:-$USER_HOME/.pqb.shrc.d}/01_util.functions
set -e set -e
get_catalogs() { get_catalogs() {

View File

@ -1,4 +1,9 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
USER_HOME=$HOME
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
. ${SHRC_D:-$USER_HOME/.pqb.shrc.d}/01_util.functions
set -e set -e
setup_catalog() { setup_catalog() {

View File

@ -7,5 +7,6 @@ USER_HOME=$HOME
set -e set -e
${SCRIPT_DIR}/delete-all-catalogs.sh ${SCRIPT_DIR}/delete-all-catalogs.sh
${SCRIPT_DIR}/wait-for-idle-queue.sh
${SCRIPT_DIR}/stop-all-chrats.sh ${SCRIPT_DIR}/stop-all-chrats.sh

57
start-all-charts.kateryna.sh Executable file
View File

@ -0,0 +1,57 @@
#! /usr/bin/env bash
start_chart cloudflareddns
start_chart_category network
start_chart_category networking
start_chart_category authentication
start_chart uptime-kuma
safe_start_chart plex-pms
safe_start_chart unifi
start_chart homepage
start_chart it-tools
start_chart haste
safe_start_chart shlink
start_chart shlink-frontend
safe_start_chart ferdi
start_chart hammond
start_chart monica
start_chart languagetool
safe_start_chart paperless-ng
safe_start_chart gitea
safe_start_chart immich
safe_start_chart syncthing
start_chart nzbget
start_chart deluge
start_chart prowlarr
safe_start_chart lunasea
safe_start_chart jdownloader
safe_start_chart calibre
safe_start_chart bazarr
safe_start_chart sonarr
safe_start_chart radarr
safe_start_chart tdarr
# start_chart deepstack
# start_chart docker-compose
# start_chart firefox-syncserver
# start_chart gerev
# start_chart grocy
# start_chart homarr
# start_chart jellyfin
# start_chart jellyseerr
# start_chart mango
# start_chart plex-auto-languages
# start_chart portainer
# start_chart qbittorrent
# start_chart scratch-map
# start_chart silverbullet
# start_chart stash
# start_chart trilium-notes
# start_chart wger
# start_chart whoami

View File

@ -1,4 +1,9 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
USER_HOME=$HOME
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
. ${SHRC_D:-$USER_HOME/.pqb.shrc.d}/01_util.functions
set -e set -e
get_charts() { get_charts() {
@ -24,7 +29,7 @@ start_chart_category() {
get_charts_by_category "$CATEGORY" | while read chart; do get_charts_by_category "$CATEGORY" | while read chart; do
start_chart $chart start_chart $chart
done done
wait_for_idle_queue ${SCRIPT_DIR}/wait-for-idle-queue.sh
} }
start_chart() { start_chart() {
@ -38,74 +43,13 @@ count_unfinished_jobs() {
midclt call core.get_jobs | jq -r '.[] | select( .time_finished == null )' | wc -l midclt call core.get_jobs | jq -r '.[] | select( .time_finished == null )' | wc -l
} }
wait_for_idle_queue() {
while [[ "$( count_unfinished_jobs )" -gt 0 ]]; do
printf '.'
sleep 2
done
printf '\n'
}
safe_start_chart() { safe_start_chart() {
wait_for_idle_queue ${SCRIPT_DIR}/wait-for-idle-queue.sh
start_chart "${1}" start_chart "${1}"
} }
wait_for_idle_queue ${SCRIPT_DIR}/wait-for-idle-queue.sh
start_chart cloudflareddns source "${SCRIPT_DIR}/start-all-charts.$(hostname).sh"
start_chart_category network
start_chart_category networking
start_chart_category authentication
start_chart uptime-kuma
safe_start_chart plex-pms
safe_start_chart unifi
start_chart homepage
start_chart it-tools
start_chart haste
safe_start_chart shlink
start_chart shlink-frontend
safe_start_chart ferdi
start_chart hammond
start_chart monica
start_chart languagetool
safe_start_chart paperless-ng
safe_start_chart gitea
safe_start_chart immich
safe_start_chart syncthing
start_chart nzbget
start_chart deluge
start_chart prowlarr
safe_start_chart lunasea
safe_start_chart jdownloader
safe_start_chart calibre
safe_start_chart bazarr
safe_start_chart sonarr
safe_start_chart radarr
safe_start_chart tdarr
# start_chart deepstack
# start_chart docker-compose
# start_chart firefox-syncserver
# start_chart gerev
# start_chart grocy
# start_chart homarr
# start_chart jellyfin
# start_chart jellyseerr
# start_chart mango
# start_chart plex-auto-languages
# start_chart portainer
# start_chart qbittorrent
# start_chart scratch-map
# start_chart silverbullet
# start_chart stash
# start_chart trilium-notes
# start_chart wger
# start_chart whoami
wait_for_idle_queue
${SCRIPT_DIR}/wait-for-idle-queue.sh

29
start-all-charts.wolfpack.sh Executable file
View File

@ -0,0 +1,29 @@
#! /usr/bin/env bash
#wireguard
#vaultwarden
#whoami
safe_start_chart plex
safe_start_chart cloudflareddns
start_chart_category network
start_chart_category networking
start_chart_category authentication
start_chart uptime-kuma
safe_start_chart zwavejs2mqtt
safe_start_chart unifi
start_chart homepage
safe_start_chart organizr
start_chart deluge
start_chart prowlarr
#safe_start_chart bazarr
safe_start_chart sonarr
safe_start_chart radarr
safe_start_chart lidarr
safe_start_chart overseerr

View File

@ -1,4 +1,9 @@
#! /usr/bin/env bash #! /usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
USER_HOME=$HOME
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
. ${SHRC_D:-$USER_HOME/.pqb.shrc.d}/01_util.functions
set -e set -e
get_charts() { get_charts() {

22
wait-for-idle-queue.sh Executable file
View File

@ -0,0 +1,22 @@
#! /usr/bin/env bash
SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )
USER_HOME=$HOME
[[ -n "${SUDO_USER}" ]] && USER_HOME="$(eval "echo ~${SUDO_USER}")"
. ${SHRC_D:-$USER_HOME/.pqb.shrc.d}/01_util.functions
set -e
count_unfinished_jobs() {
midclt call core.get_jobs | jq -r '.[] | select( .time_finished == null )' | wc -l
}
wait_for_idle_queue() {
while [[ "$( count_unfinished_jobs )" -gt 0 ]]; do
printf '.'
sleep 2
done
printf '\n'
}
wait_for_idle_queue