17 lines
660 B
Bash
17 lines
660 B
Bash
#!/bin/bash
|
|
set -o errexit -o pipefail -o noclobber -o nounset -o errtrace -o functrace
|
|
|
|
users=(arr gitea homeassistant immich jdownloader kiwix komga navidrome nextcloud nginx overleaf pairdrop paperless pihole qbittorrent synapse wallabag)
|
|
pids=()
|
|
for user in "${users[@]}"; do
|
|
readarray -t units <<< "$(systemctl --user -M "${user}@" list-units | grep container | grep running | grep service | awk '{print $1}')" || true
|
|
if [[ "${#units[@]}" -gt 0 && -n "${units[0]:-}" ]]; then
|
|
echo "Stopping ${user} containers..."
|
|
systemctl --user -M "${user}@" stop "${units[@]}" &
|
|
pids+=($!)
|
|
fi
|
|
done
|
|
for pid in "${pids[@]}"; do
|
|
wait "${pid}"
|
|
done
|