#!/usr/bin/env bash # Configureaza sincronizarea depozitului Mariei cu Google Drive, dintr-un token # obtinut cu `rclone authorize` pe o masina cu browser (containerul e headless). # # Pe Windows, in dosarul unde ai dezarhivat rclone.exe: # rclone.exe authorize "drive" --drive-scope=drive.readonly # Copiaza tokenul JSON dintre ---> si <--- si ruleaza aici: # ops/setup-drive.sh '' # # Idempotent: rulat din nou, rescrie remote-ul si linia DRIVE_REMOTE. set -euo pipefail REMOTE_NAME="gdrive" FOLDER_ID="1C4e75zgH1_7ZK-_oBP5ZZBvUPh3iEo1O" # document_store, cont mmarius28@gmail.com ENV_FILE="${MARIA_BRIDGE_DIR:-$HOME/.maria-bridge}/env" DRIVE_REMOTE="${REMOTE_NAME},root_folder_id=${FOLDER_ID}:" token="${1:-}" if [ -z "$token" ]; then echo "Uz: $0 ''" >&2 exit 2 fi if ! printf '%s' "$token" | python3 -c 'import json,sys; json.load(sys.stdin)' 2>/dev/null; then echo "Tokenul nu e JSON valid. Copiaza tot, inclusiv acoladele." >&2 exit 2 fi command -v rclone >/dev/null || { echo "rclone nu e instalat" >&2; exit 1; } [ -f "$ENV_FILE" ] || { echo "nu gasesc $ENV_FILE" >&2; exit 1; } echo "1/4 creez remote-ul rclone '$REMOTE_NAME'…" rclone config delete "$REMOTE_NAME" 2>/dev/null || true rclone config create "$REMOTE_NAME" drive scope=drive.readonly token="$token" --non-interactive >/dev/null echo "2/4 verific accesul la dosar…" if ! rclone lsf "$DRIVE_REMOTE" >/tmp/.maria-drive-check 2>/tmp/.maria-drive-err; then echo "nu pot citi dosarul:" >&2; cat /tmp/.maria-drive-err >&2; exit 1 fi echo " vad $(wc -l > "$ENV_FILE" fi echo "4/4 sincronizez si reindexez…" cd "$(dirname "$0")/../rag" "${MARIA_BRIDGE_DIR:-$HOME/.maria-bridge}/venv/bin/python" sync.py --force echo echo "Gata. Timer-ul maria-sync trage la 10 minute de acum inainte."