#!/bin/bash #Script : fix_haos_paths.sh #Apps : MRDEVS TOOLS #Description : Corrige rutas en contenedores HAOS existentes y crea estructura correcta #Author : Cortana Rosero One #Created : 2025/04/02 12:00:00 #Modified : 2025/04/02 12:00:00 #Version : 1.0.0 #============================================================================== # Derechos de Autor [2025] [Mauro Rosero P. ] #============================================================================== # Este programa es software libre: usted puede redistribuirlo y/o modificarlo # bajo los términos de la Licencia Pública Affero General de GNU tal como # lo publica la Free Software Foundation, ya sea la versión 3 de la licencia, # o (a su elección) cualquier versión posterior. # # Este programa se distribuye con la esperanza de que sea útil, # pero SIN NINGUNA GARANTÍA; sin siquiera la garantía implícita de # COMERCIABILIDAD o IDONEIDAD PARA UN PROPÓSITO PARTICULAR. Consulte la # Licencia Pública Affero General de GNU para obtener más detalles. # # Debería haber recibido una copia de la Licencia Pública Affero General # junto con este programa. Si no la recibió, consulte . # [Generated] Created by Claude Code (claude-3-7-sonnet-20250219) echo "=== Corrigiendo rutas de Home Assistant ===" # Configuración de contenedores HA_CORE_CONTAINER_NAME="homeassistant" HA_OS_CONTAINER_NAME="haos" # Asegurar que estamos en un directorio de proyecto if [[ ! "$PWD" == *"/projects/"* ]]; then echo "ADVERTENCIA: No parece estar en un directorio de proyecto." echo "Este script debe ejecutarse desde la carpeta del proyecto (ej: /home/mrosero/devs/projects/ha-home)" read -p "¿Desea continuar de todos modos? (s/n): " CONTINUE if [[ ! "$CONTINUE" =~ ^[Ss]$ ]]; then echo "Operación cancelada." exit 1 fi fi # Crear estructura de directorios correcta echo "Creando estructura de directorios correcta en $PWD/ha" mkdir -p "$PWD/ha/config" "$PWD/ha/media" "$PWD/ha/ssl" "$PWD/ha/share" chmod -R 755 "$PWD/ha" # Verificar y detener contenedores si están ejecutándose for CONTAINER in $HA_CORE_CONTAINER_NAME $HA_OS_CONTAINER_NAME; do if podman container exists $CONTAINER; then echo "Deteniendo contenedor $CONTAINER..." podman stop $CONTAINER echo "Eliminando contenedor $CONTAINER (los datos persistirán)..." podman rm $CONTAINER fi done # Verificar si existe la estructura antigua OLD_PATH="/home/mrosero/devs/homeassistant" if [ -d "$OLD_PATH" ]; then echo "Se encontró estructura antigua en $OLD_PATH" # Migrar datos si es necesario if [ -d "$OLD_PATH/config" ] && [ "$(ls -A "$OLD_PATH/config" 2>/dev/null)" ]; then echo "Migrando datos de configuración..." cp -r "$OLD_PATH/config/"* "$PWD/ha/config/" fi if [ -d "$OLD_PATH/media" ] && [ "$(ls -A "$OLD_PATH/media" 2>/dev/null)" ]; then echo "Migrando datos de media..." cp -r "$OLD_PATH/media/"* "$PWD/ha/media/" fi if [ -d "$OLD_PATH/ssl" ] && [ "$(ls -A "$OLD_PATH/ssl" 2>/dev/null)" ]; then echo "Migrando certificados SSL..." cp -r "$OLD_PATH/ssl/"* "$PWD/ha/ssl/" fi if [ -d "$OLD_PATH/share" ] && [ "$(ls -A "$OLD_PATH/share" 2>/dev/null)" ]; then echo "Migrando datos compartidos..." cp -r "$OLD_PATH/share/"* "$PWD/ha/share/" fi echo "Respaldando estructura antigua a ${OLD_PATH}_backup..." mv "$OLD_PATH" "${OLD_PATH}_backup" fi echo "=== Operación completada ===" echo "Ahora puede iniciar Home Assistant con:" echo "../../bin/haos.sh start"