#!/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
