#!/usr/bin/env bash set -euo pipefail DOCKER_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)" ROOT_DIR="$(cd "$DOCKER_DIR/.." && pwd)" ENV_FILE="${ENV_FILE:-$DOCKER_DIR/.env.multisite}" COMPOSE_FILE="$DOCKER_DIR/docker-compose.multisite.yml" if command -v docker >/dev/null 2>&1; then if docker compose version >/dev/null 2>&1; then COMPOSE_CMD=(docker compose) elif command -v docker-compose >/dev/null 2>&1; then COMPOSE_CMD=(docker-compose) else echo "Errore: non trovo né 'docker compose' né 'docker-compose'." exit 127 fi elif command -v docker-compose >/dev/null 2>&1; then COMPOSE_CMD=(docker-compose) else echo "Errore: Docker non installato in questa VM." exit 127 fi if [[ ! -f "$ENV_FILE" ]]; then echo "Env mancante: $ENV_FILE" echo "Crea file: cp $DOCKER_DIR/.env.multisite.example $DOCKER_DIR/.env.multisite" exit 1 fi echo "[1/4] Validazione compose" "${COMPOSE_CMD[@]}" --env-file "$ENV_FILE" -f "$COMPOSE_FILE" config >/tmp/netgescon-multisite.config echo "[2/4] Build immagine applicativa (condivisa prod+demo)" "${COMPOSE_CMD[@]}" --env-file "$ENV_FILE" -f "$COMPOSE_FILE" build prod_app echo "[3/4] Avvio stack" "${COMPOSE_CMD[@]}" --env-file "$ENV_FILE" -f "$COMPOSE_FILE" up -d echo "[4/4] Stato servizi" "${COMPOSE_CMD[@]}" --env-file "$ENV_FILE" -f "$COMPOSE_FILE" ps echo "Deploy completato in: $ROOT_DIR"