brain2 / mount_azure.sh
Elliotasdasdasfasas's picture
Migrate Azure Config: infrastructure + entrypoint
0e9f12e
#!/bin/bash
# set -e (Disabled to allow degraded mode)
# Configuración
REMOTE_HOST="ssh.my-robot.dev"
REMOTE_USER="azureuser"
REMOTE_PATH="/mnt/lightrag"
# Usa el directorio estándar de persistencia de HF si es posible, o uno personalizado
LOCAL_MOUNT="/data/persistent"
# 1. Configurar SSH Key (Desde Variable de Entorno 'SSH_KEY')
if [ -z "$SSH_KEY" ]; then
echo "❌ SSH_KEY no definida. Configúrala en Settings -> Secrets"
# No salimos, permitimos que la app arranque sin mount
else
mkdir -p ~/.ssh
echo "$SSH_KEY" > ~/.ssh/id_rsa
chmod 600 ~/.ssh/id_rsa
# 2. Configurar Cloudflare ProxyCommand
# Esto permite que SSH 'viaje' por HTTPS a través del túnel
echo "Host $REMOTE_HOST
User $REMOTE_USER
IdentityFile ~/.ssh/id_rsa
ProxyCommand /usr/bin/cloudflared access ssh --hostname %h
StrictHostKeyChecking no
" > ~/.ssh/config
# 3. Crear punto de montaje
if [ ! -d "$LOCAL_MOUNT" ]; then
mkdir -p $LOCAL_MOUNT
# Intentar dar permisos si somos root, si no, esperar que funcione en user mode
chmod 777 $LOCAL_MOUNT || true
fi
# 4. Montar SSHFS
echo "🔌 Conectando al Bunker ($REMOTE_HOST)..."
# Usamos -o idmap=user para evitar problemas de permisos de usuario
sshfs $REMOTE_HOST:$REMOTE_PATH $LOCAL_MOUNT \
-o allow_other,reconnect,ServerAliveInterval=15,ServerAliveCountMax=3,idmap=user
if mountpoint -q $LOCAL_MOUNT; then
echo "✅ Disco Azure Montado en $LOCAL_MOUNT"
ls -la $LOCAL_MOUNT || echo "No se puede listar, pero está montado"
else
echo "❌ Error al montar"
# No salimos con error fatal para permitir que la app intente arrancar (modo degradado)
# exit 1
fi
fi