112 lines
2.3 KiB
Bash
Executable File
112 lines
2.3 KiB
Bash
Executable File
#! /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
|
|
|