37 lines
1.5 KiB
Bash
Executable File
37 lines
1.5 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# run-stack.sh — avvia lo stack Compose locale di ThothII in primo piano.
|
|
#
|
|
# Il core include Pi; DWH e LLM restano endpoint esterni configurati in deploy/env/local.env.
|
|
# Qdrant e Ollama embedding sono servizi Compose privati. Non richiede un eseguibile Pi sull'host.
|
|
#
|
|
# Preparazione: cp deploy/env/local.env.example deploy/env/local.env e compilare i valori.
|
|
# Uso: ./scripts/run-stack.sh [argomenti aggiuntivi per docker compose up]
|
|
set -euo pipefail
|
|
|
|
ROOT="$(cd "$(dirname "${BASH_SOURCE[0]}")/.." && pwd -P)"
|
|
LOCAL_ENV_FILE="${THT_LOCAL_ENV_FILE:-$ROOT/deploy/env/local.env}"
|
|
|
|
[[ -f "$LOCAL_ENV_FILE" ]] || {
|
|
echo "ERRORE: $LOCAL_ENV_FILE mancante. Copia deploy/env/local.env.example e configura gli endpoint." >&2
|
|
exit 1
|
|
}
|
|
|
|
compose_files=(-f "$ROOT/compose.yaml" -f "$ROOT/deploy/compose.local.yaml")
|
|
if [[ "${THOTH_ENABLE_EMBEDDING_GPU:-0}" == "1" ]]; then
|
|
compose_files+=(-f "$ROOT/deploy/compose.embedding-gpu.yaml")
|
|
fi
|
|
if [[ "${THOTH_ENABLE_SENSITIVITY_NER:-0}" == "1" ]]; then
|
|
compose_files+=(-f "$ROOT/deploy/compose.sensitivity-ner.yaml")
|
|
fi
|
|
|
|
compose=(docker compose --env-file "$LOCAL_ENV_FILE" "${compose_files[@]}")
|
|
|
|
# Migrations are an explicit one-shot operation, never hidden in backend startup. The local
|
|
# launcher runs that operation before bringing the foreground stack up so a fresh checkout is
|
|
# immediately usable while production operators can invoke the same service during rollout.
|
|
"${compose[@]}" build core
|
|
"${compose[@]}" up -d catalog-db
|
|
"${compose[@]}" run --rm catalog-migrate
|
|
|
|
exec "${compose[@]}" up --build "$@"
|