#!/usr/bin/env bash # Garage replay storage su server produzione (/opt/matchlivetv/infra) set -euo pipefail ROOT="$(cd "$(dirname "$0")/.." && pwd)" cd "$ROOT" export COMPOSE_FILE="docker-compose.prod.yml" export ENV_FILE="${ROOT}/.env" export CREDS_FILE="${ROOT}/garage/prod-credentials.env" bash "${ROOT}/scripts/ensure_garage_prod_config.sh" echo "Avvio Garage..." docker compose -f docker-compose.prod.yml --env-file .env up -d garage videos_root="${MATCHLIVETV_VIDEOS_ROOT:-/media/videos/matchlivetv}" capacity_df="${videos_root}" [ -d "$capacity_df" ] || capacity_df="/" avail_gb="$(df -BG "${capacity_df}" 2>/dev/null | awk 'NR==2 {print $4}' | tr -d 'G')" reserve="${GARAGE_RESERVE_GB:-20}" cap_gb=$((avail_gb - reserve)) [ "$cap_gb" -lt 10 ] && cap_gb=10 export GARAGE_NODE_CAPACITY="${GARAGE_NODE_CAPACITY:-${cap_gb}G}" echo "Capacità nodo Garage: ${GARAGE_NODE_CAPACITY} (disco ~${avail_gb}G, riserva ${reserve}G)" bash "${ROOT}/scripts/setup_garage_replays.sh" echo "Riavvio Rails e Sidekiq..." docker compose -f docker-compose.prod.yml --env-file .env up -d rails sidekiq echo "Verifica storage:" docker compose -f docker-compose.prod.yml --env-file .env exec -T rails bundle exec rails runner \ 'puts({local: MatchLiveTv.replay_storage_local?, backend: Recordings::Storage.new.backend_name}.inspect)'