39 lines
1.4 KiB
Bash
Executable File
39 lines
1.4 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# Rebuild/create specialist containers after a bare-metal restore. GPU workers
|
|
# remain stopped; the core installer leaves Athena safely in LLM mode.
|
|
set -Eeuo pipefail
|
|
|
|
log() { printf '\n==> %s\n' "$*"; }
|
|
|
|
if [[ -r /etc/mike-ai/install.env ]]; then
|
|
set -a
|
|
# shellcheck disable=SC1091
|
|
source /etc/mike-ai/install.env
|
|
set +a
|
|
fi
|
|
export VOICE_GPU_UUID=${VOICE_GPU_UUID:-${IMAGE_GPU_DEVICES:-}}
|
|
export ACESTEP_GPU_UUID=${ACESTEP_GPU_UUID:-${IMAGE_GPU_DEVICES:-}}
|
|
export SEPARATOR_GPU_UUID=${SEPARATOR_GPU_UUID:-${IMAGE_GPU_DEVICES:-}}
|
|
export LTX2_GPU_UUID=${LTX2_GPU_UUID:-${IMAGE_GPU_DEVICES:-}}
|
|
|
|
create_project() {
|
|
local dir=$1 file=${2:-compose.yaml} profile=${3:-}
|
|
[[ -f $dir/$file ]] || { printf 'Übersprungen (fehlt): %s/%s\n' "$dir" "$file"; return 0; }
|
|
log "Spezialprojekt vorbereiten: $dir"
|
|
local args=(docker compose -f "$file")
|
|
[[ -z $profile ]] || args+=(--profile "$profile")
|
|
(cd "$dir" && "${args[@]}" pull --ignore-buildable && \
|
|
"${args[@]}" build && "${args[@]}" create)
|
|
}
|
|
|
|
docker network inspect mike-ai_frontend >/dev/null
|
|
create_project /opt/mike-ai/acestep-test compose.yaml music-test
|
|
create_project /opt/mike-ai/stem-separator
|
|
create_project /opt/mike-ai/omnivoice-studio
|
|
create_project /opt/mike-ai/xvc-studio
|
|
create_project /opt/mike-ai/stack/experiments/applio-rvc
|
|
create_project /opt/mike-ai/Mikes-Applio-UI compose.example.yaml
|
|
create_project /opt/mike-ai/ltx2-studio
|
|
|
|
printf 'ATHENA_SPECIALISTS_REBUILT_OK\n'
|