Spaces:
Paused
Paused
| # 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 | |