=initial commit
This commit is contained in:
commit
520a20479e
|
@ -0,0 +1,19 @@
|
|||
#! /usr/bin/env bash
|
||||
set -e
|
||||
|
||||
get_catalogs() {
|
||||
midclt call catalog.query | jq -r '.[] | .label' | grep -v 'OFFICIAL'
|
||||
}
|
||||
|
||||
delete_catalog() {
|
||||
local CATALOG="${1}"
|
||||
printf 'Deleting catalog: %s... ' "$CATALOG"
|
||||
midclt call catalog.delete "$CATALOG"
|
||||
printf '\n'
|
||||
}
|
||||
|
||||
get_catalogs | while read catalog; do
|
||||
[[ -n "$catalog" ]] || continue
|
||||
delete_catalog "$catalog"
|
||||
done
|
||||
|
|
@ -0,0 +1,16 @@
|
|||
#! /usr/bin/env bash
|
||||
set -e
|
||||
|
||||
setup_catalog() {
|
||||
printf 'Setting up catalog: truecharts...'
|
||||
|
||||
midclt call catalog.create '{
|
||||
"label": "truecharts",
|
||||
"repository": "https://github.com/truecharts/catalog",
|
||||
"branch": "main",
|
||||
"preferred_trains": ["stable", "dependency", "enterprise"]
|
||||
}'
|
||||
printf '\n'
|
||||
}
|
||||
|
||||
setup_catalog
|
|
@ -0,0 +1,11 @@
|
|||
#! /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
|
||||
|
||||
${SCRIPT_DIR}/delete-all-catalogs.sh
|
||||
${SCRIPT_DIR}/stop-all-chrats.sh
|
||||
|
|
@ -0,0 +1,111 @@
|
|||
#! /usr/bin/env bash
|
||||
set -e
|
||||
|
||||
get_charts() {
|
||||
midclt call chart.release.query | jq -r '
|
||||
.[]
|
||||
| select( .status == "STOPPED" )
|
||||
| .id
|
||||
'
|
||||
}
|
||||
|
||||
get_charts_by_category() {
|
||||
local CATEGORY="${1}"
|
||||
midclt call chart.release.query | jq -r '
|
||||
.[]
|
||||
| select ( .chart_metadata.annotations."truecharts.org/catagories" == "- '"$CATEGORY"'\n" )
|
||||
| .id
|
||||
'
|
||||
}
|
||||
|
||||
start_chart_category() {
|
||||
local CATEGORY="${1}"
|
||||
printf "Starting apps by category: %s\n" "$CATEGORY"
|
||||
get_charts_by_category "$CATEGORY" | while read chart; do
|
||||
start_chart $chart
|
||||
done
|
||||
wait_for_idle_queue
|
||||
}
|
||||
|
||||
start_chart() {
|
||||
local CHART="${1}"
|
||||
printf 'Starting charts: %s... ' "$CHART"
|
||||
midclt call chart.release.scale "$CHART" '{"replica_count": 1}'
|
||||
printf '\n'
|
||||
}
|
||||
|
||||
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'
|
||||
}
|
||||
|
||||
safe_start_chart() {
|
||||
wait_for_idle_queue
|
||||
start_chart "${1}"
|
||||
}
|
||||
|
||||
wait_for_idle_queue
|
||||
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
|
||||
|
||||
wait_for_idle_queue
|
||||
|
|
@ -0,0 +1,14 @@
|
|||
#! /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
|
||||
|
||||
${SCRIPT_DIR}/start-all-charts.sh
|
||||
printf 'Sleeping for 20 seconds...'
|
||||
sleep 20s
|
||||
printf '\n'
|
||||
${SCRIPT_DIR}/setup-catalog.sh
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
#! /usr/bin/env bash
|
||||
set -e
|
||||
|
||||
get_charts() {
|
||||
midclt call chart.release.query | jq -r '.[] | select( .status != "STOPPED" ) | .id'
|
||||
}
|
||||
|
||||
stop_chart() {
|
||||
local CHART="${1}"
|
||||
printf 'Stopping charts: %s... ' "$CHART"
|
||||
midclt call chart.release.scale "$CHART" '{"replica_count": 0}'
|
||||
printf '\n'
|
||||
}
|
||||
|
||||
stop_all_charts() {
|
||||
get_charts | while read chart; do
|
||||
[[ -n "$chart" ]] || continue
|
||||
stop_chart "$chart"
|
||||
done
|
||||
}
|
||||
|
||||
count_unfinished_jobs() {
|
||||
midclt call core.get_jobs | jq -r '.[] | select( .time_finished == null )' | wc -l
|
||||
}
|
||||
|
||||
while [[ "$( get_charts | wc -l )" -gt 0 ]]; do
|
||||
stop_all_charts
|
||||
|
||||
while [[ "$( count_unfinished_jobs )" -gt 0 ]]; do
|
||||
printf '.'
|
||||
sleep 2
|
||||
done
|
||||
printf '\n'
|
||||
done
|
||||
|
Loading…
Reference in New Issue