[IMPROVED] Actualizar configuración y archivos del sistema
- Actualizar CLAUDE.md con instrucciones para usar version - Añadir soporte para Home Assistant OS (haos.sh y mensajes) - Eliminar bin/ollama/podman-compose.yml (ahora se usa ~/.ollama) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
9e8420c287
commit
7e99c82b60
4 changed files with 621 additions and 12 deletions
|
@ -15,6 +15,7 @@
|
|||
- Document function purpose with comments
|
||||
- Include usage examples in script headers
|
||||
- Handle errors with proper exit codes
|
||||
- Use version from `bin/config/version` file in script header (#Version line)
|
||||
|
||||
## Development Practices
|
||||
- Use `bin/lib/base.lib` for common functions
|
||||
|
|
524
bin/haos.sh
Executable file
524
bin/haos.sh
Executable file
|
@ -0,0 +1,524 @@
|
|||
#!/bin/bash
|
||||
#Script : haos.sh
|
||||
#Apps : MRDEVS TOOLS
|
||||
#Description : Instala y administra Home Assistant OS en Podman
|
||||
#Author : Cortana Rosero One <cortana@rosero.one>
|
||||
#Created : 2025/04/01 12:00:00
|
||||
#Modified : 2025/04/01 12:00:00
|
||||
#Version : 1.3.0
|
||||
#==============================================================================
|
||||
# Derechos de Autor [2025] [Mauro Rosero P. <mauro@rosero.one>]
|
||||
#==============================================================================
|
||||
# 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 <https://www.gnu.org/licenses/>.
|
||||
# [Generated] Created by Claude Code (claude-3-7-sonnet-20250219)
|
||||
|
||||
# Configuración inicial
|
||||
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
|
||||
BIN_BASE="bin"
|
||||
BIN_LIBS="lib"
|
||||
BIN_MESG="msg"
|
||||
BIN_CFGS="config"
|
||||
|
||||
# Leer DEVSPATH desde el archivo de configuración o usar "devs" por defecto
|
||||
if [ -f "$SCRIPT_DIR/config/devspath.dat" ]; then
|
||||
DEVSPATH=$(cat "$SCRIPT_DIR/$BIN_CFGS/devspath.dat")
|
||||
else
|
||||
DEVSPATH="devs"
|
||||
fi
|
||||
|
||||
BIN_HOME="$HOME/$DEVSPATH"
|
||||
BIN_PATH=$BIN_HOME/$BIN_BASE
|
||||
VERSION=$(cat "$BIN_HOME/$BIN_BASE/$BIN_CFGS/version")
|
||||
|
||||
# CHECK SHELL LANGUAGE
|
||||
BIN_LANG=${LANG:0:2}
|
||||
|
||||
# Importar bibliotecas necesarias
|
||||
if [ -f "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib" ]; then
|
||||
source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib"
|
||||
# Cargar mensajes en el idioma del sistema o español por defecto
|
||||
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
|
||||
# Cargar mensajes específicos de developers
|
||||
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "developers"
|
||||
title="${head_000} ${head_002} - ${ha_000}"
|
||||
fi
|
||||
|
||||
# Verificar que estemos en una carpeta de proyectos
|
||||
if [ -f "$SCRIPT_DIR/$BIN_CFGS/projects.dat" ]; then
|
||||
PROJECTS_DIR=$(cat "$SCRIPT_DIR/$BIN_CFGS/projects.dat")
|
||||
else
|
||||
PROJECTS_DIR="projects"
|
||||
fi
|
||||
|
||||
# Comprobación de proyecto válido
|
||||
CURRENT_PATH="$PWD"
|
||||
PROJECT_BASE="$HOME/$DEVSPATH/$PROJECTS_DIR"
|
||||
|
||||
# Verificar que el directorio actual esté dentro de la carpeta de proyectos
|
||||
if [[ "$CURRENT_PATH" != "$PROJECT_BASE"* ]]; then
|
||||
echo "${head_002} ${head_warning}: ${ha_081}"
|
||||
printf "${ha_082}\n" "$PROJECT_BASE"
|
||||
|
||||
# Crear directorio de proyectos si no existe
|
||||
if [ ! -d "$PROJECT_BASE" ]; then
|
||||
printf "${ha_083}" "$PROJECT_BASE" | read -p CREATE_DIR
|
||||
if [[ "$CREATE_DIR" =~ ^[Ss]$ ]]; then
|
||||
mkdir -p "$PROJECT_BASE"
|
||||
echo "${ha_084}"
|
||||
fi
|
||||
else
|
||||
printf "${ha_085}\n" "$PROJECT_BASE"
|
||||
fi
|
||||
exit 1
|
||||
fi
|
||||
|
||||
# Configuración básica
|
||||
HA_CONFIG_DIR="$PWD/ha"
|
||||
HA_PORT=8123
|
||||
HA_NETWORKS="--network=host" # Modo host para descubrimiento de dispositivos
|
||||
|
||||
# Configuración de versiones
|
||||
HA_CORE_CONTAINER_NAME="homeassistant"
|
||||
HA_CORE_IMAGE="ghcr.io/home-assistant/home-assistant:stable"
|
||||
|
||||
HA_OS_CONTAINER_NAME="haos"
|
||||
HA_OS_IMAGE="docker.io/homeassistant/home-assistant:stable"
|
||||
|
||||
# Por defecto usamos Home Assistant Core
|
||||
HA_CONTAINER_NAME=$HA_CORE_CONTAINER_NAME
|
||||
HA_IMAGE=$HA_CORE_IMAGE
|
||||
HA_TYPE="core" # puede ser "core" o "os"
|
||||
|
||||
# Verificar si podman está instalado
|
||||
check_podman() {
|
||||
if ! command -v podman &> /dev/null; then
|
||||
echo "${ha_003}"
|
||||
if [ -f "$BIN_PATH/bootstrap.sh" ]; then
|
||||
$BIN_PATH/bootstrap.sh
|
||||
else
|
||||
echo "${ha_004}"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
echo "${ha_005}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Crear directorios necesarios
|
||||
prepare_directories() {
|
||||
echo "${ha_006}"
|
||||
mkdir -p "$HA_CONFIG_DIR"
|
||||
mkdir -p "$HA_CONFIG_DIR/config"
|
||||
mkdir -p "$HA_CONFIG_DIR/media"
|
||||
mkdir -p "$HA_CONFIG_DIR/ssl"
|
||||
mkdir -p "$HA_CONFIG_DIR/share"
|
||||
|
||||
# Asegurar permisos correctos
|
||||
chmod -R 755 "$HA_CONFIG_DIR"
|
||||
}
|
||||
|
||||
# Seleccionar versión de Home Assistant
|
||||
select_ha_version() {
|
||||
echo "${ha_086}"
|
||||
echo "${ha_087}"
|
||||
echo "${ha_088}"
|
||||
|
||||
local choice
|
||||
read -p "${ha_089}" choice
|
||||
|
||||
case $choice in
|
||||
1)
|
||||
echo "${ha_091}"
|
||||
HA_CONTAINER_NAME=$HA_CORE_CONTAINER_NAME
|
||||
HA_IMAGE=$HA_CORE_IMAGE
|
||||
HA_TYPE="core"
|
||||
;;
|
||||
2)
|
||||
echo "${ha_092}"
|
||||
HA_CONTAINER_NAME=$HA_OS_CONTAINER_NAME
|
||||
HA_IMAGE=$HA_OS_IMAGE
|
||||
HA_TYPE="os"
|
||||
;;
|
||||
*)
|
||||
echo "${ha_090}"
|
||||
select_ha_version
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Instalar Home Assistant en podman
|
||||
install() {
|
||||
check_podman
|
||||
prepare_directories
|
||||
|
||||
# Seleccionar qué versión de Home Assistant instalar
|
||||
select_ha_version
|
||||
|
||||
# Descargar la imagen apropiada
|
||||
if [ "$HA_TYPE" = "core" ]; then
|
||||
echo "${ha_007}"
|
||||
else
|
||||
echo "${ha_093}"
|
||||
fi
|
||||
podman pull $HA_IMAGE
|
||||
|
||||
if podman container exists $HA_CONTAINER_NAME; then
|
||||
printf "${ha_008}\n" "$HA_CONTAINER_NAME"
|
||||
printf "${ha_009}\n" "$0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "${ha_010}"
|
||||
podman run -d \
|
||||
--name=$HA_CONTAINER_NAME \
|
||||
$HA_NETWORKS \
|
||||
-v "$HA_CONFIG_DIR/config:/config" \
|
||||
-v "$HA_CONFIG_DIR/media:/media" \
|
||||
-v "$HA_CONFIG_DIR/ssl:/ssl" \
|
||||
-v "$HA_CONFIG_DIR/share:/share" \
|
||||
--restart=unless-stopped \
|
||||
$HA_IMAGE
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "${ha_011}"
|
||||
printf "${ha_002}\n" "$HA_PORT"
|
||||
echo "${ha_012}"
|
||||
else
|
||||
echo "${ha_013}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Iniciar el contenedor de Home Assistant
|
||||
start() {
|
||||
if ! podman container exists $HA_CONTAINER_NAME; then
|
||||
printf "${ha_014}\n" "$HA_CONTAINER_NAME"
|
||||
printf "${ha_015}\n" "$0"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
if podman container inspect $HA_CONTAINER_NAME --format '{{.State.Running}}' | grep -q "true"; then
|
||||
echo "${ha_001}"
|
||||
printf "${ha_002}\n" "$HA_PORT"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "${ha_016}"
|
||||
podman start $HA_CONTAINER_NAME
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "${ha_017}"
|
||||
printf "${ha_002}\n" "$HA_PORT"
|
||||
else
|
||||
echo "${ha_018}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Detener el contenedor de Home Assistant
|
||||
stop() {
|
||||
if ! podman container exists $HA_CONTAINER_NAME; then
|
||||
printf "${ha_019}\n" "$HA_CONTAINER_NAME"
|
||||
return 1
|
||||
fi
|
||||
|
||||
if ! podman container inspect $HA_CONTAINER_NAME --format '{{.State.Running}}' | grep -q "true"; then
|
||||
echo "${ha_020}"
|
||||
return 0
|
||||
fi
|
||||
|
||||
echo "${ha_021}"
|
||||
podman stop $HA_CONTAINER_NAME
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "${ha_022}"
|
||||
else
|
||||
echo "${ha_023}"
|
||||
exit 1
|
||||
fi
|
||||
}
|
||||
|
||||
# Reiniciar el contenedor de Home Assistant
|
||||
restart() {
|
||||
echo "${ha_024}"
|
||||
|
||||
stop
|
||||
sleep 3
|
||||
start
|
||||
}
|
||||
|
||||
# Mostrar el estado del contenedor de Home Assistant
|
||||
status() {
|
||||
if ! podman container exists $HA_CONTAINER_NAME; then
|
||||
echo "${ha_026}"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "${ha_025}"
|
||||
podman container inspect $HA_CONTAINER_NAME --format '{{.State.Status}}'
|
||||
|
||||
if podman container inspect $HA_CONTAINER_NAME --format '{{.State.Running}}' | grep -q "true"; then
|
||||
echo "${ha_027}"
|
||||
printf "${ha_028}\n" "$HA_PORT"
|
||||
printf "${ha_029}\n" "$HA_CONFIG_DIR"
|
||||
|
||||
# Mostrar tiempo de ejecución
|
||||
local start_time=$(podman container inspect $HA_CONTAINER_NAME --format '{{.State.StartedAt}}')
|
||||
[ -n "$start_time" ] && printf "${ha_030}\n" "$start_time"
|
||||
|
||||
# Verificar si el servicio está respondiendo
|
||||
if command -v curl &>/dev/null; then
|
||||
if curl -s "http://localhost:$HA_PORT" >/dev/null; then
|
||||
echo "${ha_031}"
|
||||
else
|
||||
echo "${ha_032}"
|
||||
fi
|
||||
fi
|
||||
else
|
||||
echo "${ha_033}"
|
||||
fi
|
||||
}
|
||||
|
||||
# Actualizar la imagen de Home Assistant
|
||||
update() {
|
||||
echo "${ha_034}"
|
||||
|
||||
# Detener el contenedor existente
|
||||
stop
|
||||
|
||||
# Guardar la información del contenedor actual
|
||||
echo "${ha_035}"
|
||||
podman commit $HA_CONTAINER_NAME homeassistant-backup
|
||||
|
||||
# Descargar la nueva imagen
|
||||
echo "${ha_036}"
|
||||
podman pull $HA_IMAGE
|
||||
|
||||
# Eliminar el contenedor actual pero mantener los volúmenes
|
||||
echo "${ha_037}"
|
||||
podman rm $HA_CONTAINER_NAME
|
||||
|
||||
# Recrear el contenedor con la nueva imagen
|
||||
echo "${ha_038}"
|
||||
podman run -d \
|
||||
--name=$HA_CONTAINER_NAME \
|
||||
$HA_NETWORKS \
|
||||
-v "$HA_CONFIG_DIR/config:/config" \
|
||||
-v "$HA_CONFIG_DIR/media:/media" \
|
||||
-v "$HA_CONFIG_DIR/ssl:/ssl" \
|
||||
-v "$HA_CONFIG_DIR/share:/share" \
|
||||
--restart=unless-stopped \
|
||||
$HA_IMAGE
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "${ha_039}"
|
||||
printf "${ha_002}\n" "$HA_PORT"
|
||||
echo "${ha_040}"
|
||||
echo "podman stop homeassistant && podman rm homeassistant && podman tag homeassistant-backup homeassistant && podman run -d [opciones] homeassistant"
|
||||
else
|
||||
echo "${ha_041}"
|
||||
podman run -d \
|
||||
--name=$HA_CONTAINER_NAME \
|
||||
$HA_NETWORKS \
|
||||
-v "$HA_CONFIG_DIR/config:/config" \
|
||||
-v "$HA_CONFIG_DIR/media:/media" \
|
||||
-v "$HA_CONFIG_DIR/ssl:/ssl" \
|
||||
-v "$HA_CONFIG_DIR/share:/share" \
|
||||
--restart=unless-stopped \
|
||||
homeassistant-backup
|
||||
|
||||
if [ $? -eq 0 ]; then
|
||||
echo "${ha_042}"
|
||||
else
|
||||
echo "${ha_043}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
# Eliminar el contenedor de Home Assistant
|
||||
remove() {
|
||||
echo "${ha_044}"
|
||||
|
||||
# Detener el contenedor primero
|
||||
stop
|
||||
|
||||
# Preguntar si se desea realizar una copia de seguridad
|
||||
read -p "${ha_045}" BACKUP
|
||||
if [[ "$BACKUP" =~ ^[Ss]$ ]]; then
|
||||
echo "${ha_046}"
|
||||
podman commit $HA_CONTAINER_NAME homeassistant-backup
|
||||
echo "${ha_047}"
|
||||
fi
|
||||
|
||||
# Preguntar si se desea eliminar los datos de configuración
|
||||
read -p "${ha_048}" REMOVE_CONFIG
|
||||
|
||||
# Eliminar el contenedor
|
||||
podman rm $HA_CONTAINER_NAME
|
||||
|
||||
if [[ "$REMOVE_CONFIG" =~ ^[Ss]$ ]]; then
|
||||
echo "${ha_049}"
|
||||
rm -rf "$HA_CONFIG_DIR"
|
||||
fi
|
||||
|
||||
echo "${ha_050}"
|
||||
}
|
||||
|
||||
# Mostrar los logs del contenedor
|
||||
logs() {
|
||||
if ! podman container exists $HA_CONTAINER_NAME; then
|
||||
printf "${ha_019}\n" "$HA_CONTAINER_NAME"
|
||||
return 1
|
||||
fi
|
||||
|
||||
echo "${ha_051}"
|
||||
podman logs -f $HA_CONTAINER_NAME
|
||||
}
|
||||
|
||||
# Configuración de complementos adicionales
|
||||
setup_addons() {
|
||||
echo "${ha_052}"
|
||||
|
||||
# Verifica si Home Assistant está ejecutándose
|
||||
if ! podman container inspect $HA_CONTAINER_NAME --format '{{.State.Running}}' | grep -q "true"; then
|
||||
echo "${ha_053}"
|
||||
echo "${ha_054}"
|
||||
start
|
||||
fi
|
||||
|
||||
echo "${ha_055}"
|
||||
echo "1. MQTT Broker (Mosquitto)"
|
||||
echo "2. Z-Wave JS"
|
||||
echo "3. Zigbee2MQTT"
|
||||
echo "4. AdGuard Home"
|
||||
echo "5. Node-RED"
|
||||
echo "0. Cancelar"
|
||||
|
||||
read -p "${ha_056}" ADDON_CHOICE
|
||||
|
||||
case $ADDON_CHOICE in
|
||||
1)
|
||||
echo "${ha_057}"
|
||||
podman run -d \
|
||||
--name=mosquitto \
|
||||
--network=host \
|
||||
-v "$HA_CONFIG_DIR/mosquitto:/mosquitto" \
|
||||
-p 1883:1883 \
|
||||
--restart=unless-stopped \
|
||||
eclipse-mosquitto:latest
|
||||
echo "${ha_058}"
|
||||
;;
|
||||
2)
|
||||
echo "${ha_059}"
|
||||
podman run -d \
|
||||
--name=zwavejs \
|
||||
--network=host \
|
||||
-v "$HA_CONFIG_DIR/zwavejs:/usr/src/app/store" \
|
||||
--device=/dev/ttyUSB0:/dev/ttyUSB0 \
|
||||
-p 8091:8091 \
|
||||
--restart=unless-stopped \
|
||||
zwavejs/zwavejs2mqtt:latest
|
||||
echo "${ha_060}"
|
||||
;;
|
||||
3)
|
||||
echo "${ha_061}"
|
||||
mkdir -p "$HA_CONFIG_DIR/zigbee2mqtt/data"
|
||||
podman run -d \
|
||||
--name=zigbee2mqtt \
|
||||
--network=host \
|
||||
-v "$HA_CONFIG_DIR/zigbee2mqtt/data:/app/data" \
|
||||
--device=/dev/ttyUSB0:/dev/ttyUSB0 \
|
||||
-p 8080:8080 \
|
||||
--restart=unless-stopped \
|
||||
koenkk/zigbee2mqtt:latest
|
||||
echo "${ha_062}"
|
||||
;;
|
||||
4)
|
||||
echo "${ha_063}"
|
||||
podman run -d \
|
||||
--name=adguardhome \
|
||||
--network=host \
|
||||
-v "$HA_CONFIG_DIR/adguardhome/workdir:/opt/adguardhome/work" \
|
||||
-v "$HA_CONFIG_DIR/adguardhome/confdir:/opt/adguardhome/conf" \
|
||||
-p 53:53/tcp -p 53:53/udp \
|
||||
-p 80:80/tcp -p 443:443/tcp -p 3000:3000/tcp \
|
||||
--restart=unless-stopped \
|
||||
adguard/adguardhome:latest
|
||||
echo "${ha_064}"
|
||||
;;
|
||||
5)
|
||||
echo "${ha_065}"
|
||||
podman run -d \
|
||||
--name=nodered \
|
||||
--network=host \
|
||||
-v "$HA_CONFIG_DIR/nodered:/data" \
|
||||
-p 1880:1880 \
|
||||
--restart=unless-stopped \
|
||||
nodered/node-red:latest
|
||||
echo "${ha_066}"
|
||||
;;
|
||||
0)
|
||||
echo "${ha_067}"
|
||||
;;
|
||||
*)
|
||||
echo "${ha_068}"
|
||||
;;
|
||||
esac
|
||||
}
|
||||
|
||||
# Función principal y procesamiento de comandos
|
||||
case "$1" in
|
||||
install)
|
||||
install
|
||||
;;
|
||||
start)
|
||||
start
|
||||
;;
|
||||
stop)
|
||||
stop
|
||||
;;
|
||||
restart)
|
||||
restart
|
||||
;;
|
||||
status)
|
||||
status
|
||||
;;
|
||||
update)
|
||||
update
|
||||
;;
|
||||
remove)
|
||||
remove
|
||||
;;
|
||||
logs)
|
||||
logs
|
||||
;;
|
||||
addons)
|
||||
setup_addons
|
||||
;;
|
||||
*)
|
||||
echo "${ha_069}"
|
||||
printf "${ha_070}\n" "$0"
|
||||
echo ""
|
||||
echo "${ha_071}"
|
||||
echo "${ha_072}"
|
||||
echo "${ha_073}"
|
||||
echo "${ha_074}"
|
||||
echo "${ha_075}"
|
||||
echo "${ha_076}"
|
||||
echo "${ha_077}"
|
||||
echo "${ha_078}"
|
||||
echo "${ha_079}"
|
||||
echo "${ha_080}"
|
||||
;;
|
||||
esac
|
|
@ -187,6 +187,102 @@ qrmsg_012="Error"
|
|||
qrmsg_013="Dialog no está instalado"
|
||||
qrmsg_014="Zbar no está instalado"
|
||||
|
||||
# Mensajes para Home Assistant OS
|
||||
ha_000="GESTOR DE HOME ASSISTANT OS"
|
||||
ha_001="Home Assistant ya está en ejecución"
|
||||
ha_002="Accede a Home Assistant en: http://localhost:%s"
|
||||
ha_003="Podman no está instalado. Instalando..."
|
||||
ha_004="Error: No se encuentra el script bootstrap.sh"
|
||||
ha_005="Podman está instalado."
|
||||
ha_006="Preparando directorios para Home Assistant..."
|
||||
ha_007="Descargando imagen de Home Assistant..."
|
||||
ha_086="Selecciona la versión de Home Assistant a instalar:"
|
||||
ha_087="1. Home Assistant Core (Aplicación regular)"
|
||||
ha_088="2. Home Assistant OS (Sistema operativo completo)"
|
||||
ha_089="Selecciona una opción (1-2): "
|
||||
ha_090="Opción no válida. Por favor, selecciona 1 o 2."
|
||||
ha_091="Preparando instalación de Home Assistant Core..."
|
||||
ha_092="Preparando instalación de Home Assistant OS..."
|
||||
ha_093="Descargando imagen de Home Assistant OS..."
|
||||
ha_008="El contenedor %s ya existe. Removerlo antes de instalar."
|
||||
ha_009="Usa: %s remove para eliminar el contenedor existente."
|
||||
ha_010="Creando contenedor de Home Assistant..."
|
||||
ha_011="Home Assistant instalado correctamente."
|
||||
ha_012="Espera unos minutos mientras Home Assistant se inicia por primera vez."
|
||||
ha_013="Error al crear el contenedor de Home Assistant."
|
||||
ha_014="El contenedor %s no existe. Instálalo primero."
|
||||
ha_015="Usa: %s install para instalar Home Assistant."
|
||||
ha_016="Iniciando Home Assistant..."
|
||||
ha_017="Home Assistant iniciado correctamente."
|
||||
ha_018="Error al iniciar Home Assistant."
|
||||
ha_019="El contenedor %s no existe."
|
||||
ha_020="Home Assistant ya está detenido."
|
||||
ha_021="Deteniendo Home Assistant..."
|
||||
ha_022="Home Assistant detenido correctamente."
|
||||
ha_023="Error al detener Home Assistant."
|
||||
ha_024="Reiniciando Home Assistant..."
|
||||
ha_025="Estado de Home Assistant:"
|
||||
ha_026="Home Assistant no está instalado."
|
||||
ha_027="Home Assistant está en ejecución:"
|
||||
ha_028=" - URL: http://localhost:%s"
|
||||
ha_029=" - Directorio de configuración: %s"
|
||||
ha_030=" - Iniciado: %s"
|
||||
ha_031=" - Estado: Respondiendo"
|
||||
ha_032=" - Estado: Proceso en ejecución pero no responde HTTP"
|
||||
ha_033="Home Assistant está detenido."
|
||||
ha_034="Actualizando Home Assistant..."
|
||||
ha_035="Respaldando configuración actual..."
|
||||
ha_036="Descargando la nueva imagen de Home Assistant..."
|
||||
ha_037="Eliminando el contenedor actual..."
|
||||
ha_038="Recreando el contenedor con la nueva imagen..."
|
||||
ha_039="Home Assistant actualizado correctamente."
|
||||
ha_040="Si encuentras problemas, puedes restaurar la copia de seguridad con:"
|
||||
ha_041="Error al actualizar Home Assistant. Intentando restaurar la versión anterior..."
|
||||
ha_042="Restauración exitosa de la versión anterior."
|
||||
ha_043="Error al restaurar la versión anterior. Es posible que debas reinstalar Home Assistant."
|
||||
ha_044="Eliminando el contenedor de Home Assistant..."
|
||||
ha_045="¿Deseas realizar una copia de seguridad antes de eliminar? (s/N): "
|
||||
ha_046="Realizando copia de seguridad..."
|
||||
ha_047="Copia de seguridad creada como imagen: homeassistant-backup"
|
||||
ha_048="¿Deseas eliminar también los directorios de configuración? (s/N): "
|
||||
ha_049="Eliminando directorios de configuración..."
|
||||
ha_050="Home Assistant eliminado correctamente."
|
||||
ha_051="Mostrando logs de Home Assistant (Ctrl+C para salir):"
|
||||
ha_052="Configurando complementos adicionales para Home Assistant..."
|
||||
ha_053="Home Assistant debe estar en ejecución para configurar complementos."
|
||||
ha_054="Iniciando Home Assistant..."
|
||||
ha_055="Complementos disponibles:"
|
||||
ha_056="Selecciona un complemento para instalar (0-5): "
|
||||
ha_057="Instalando MQTT Broker (Mosquitto)..."
|
||||
ha_058="MQTT Broker instalado. Configúralo en Home Assistant."
|
||||
ha_059="Instalando Z-Wave JS..."
|
||||
ha_060="Z-Wave JS instalado. Accede a UI en http://localhost:8091"
|
||||
ha_061="Instalando Zigbee2MQTT..."
|
||||
ha_062="Zigbee2MQTT instalado. Configúralo en Home Assistant."
|
||||
ha_063="Instalando AdGuard Home..."
|
||||
ha_064="AdGuard Home instalado. Configúralo en http://localhost:3000"
|
||||
ha_065="Instalando Node-RED..."
|
||||
ha_066="Node-RED instalado. Accede a http://localhost:1880"
|
||||
ha_067="Operación cancelada."
|
||||
ha_068="Opción no válida."
|
||||
ha_069="Home Assistant OS en Podman"
|
||||
ha_070="Uso: %s {install|start|stop|restart|status|update|remove|logs|addons}"
|
||||
ha_071="Comandos:"
|
||||
ha_081="Este script debe ejecutarse desde una carpeta de proyecto."
|
||||
ha_082="La carpeta de proyectos es: %s"
|
||||
ha_083="¿Deseas crear la carpeta de proyectos %s? (s/N): "
|
||||
ha_084="Carpeta de proyectos creada. Por favor, crea un proyecto dentro y ejecuta este script desde ahí."
|
||||
ha_085="Por favor, navega a un directorio dentro de %s para ejecutar este script."
|
||||
ha_072=" install - Instala Home Assistant en un contenedor Podman"
|
||||
ha_073=" start - Inicia el contenedor de Home Assistant"
|
||||
ha_074=" stop - Detiene el contenedor de Home Assistant"
|
||||
ha_075=" restart - Reinicia el contenedor de Home Assistant"
|
||||
ha_076=" status - Muestra el estado del contenedor de Home Assistant"
|
||||
ha_077=" update - Actualiza Home Assistant a la última versión"
|
||||
ha_078=" remove - Elimina el contenedor de Home Assistant"
|
||||
ha_079=" logs - Muestra los logs en tiempo real"
|
||||
ha_080=" addons - Configura complementos adicionales"
|
||||
|
||||
# Mensajes para fjadmin_install.sh
|
||||
fjmsg_000="INSTALADOR DE FORGEJO CLI"
|
||||
fjmsg_001="Instalando Forgejo CLI"
|
||||
|
|
|
@ -1,12 +0,0 @@
|
|||
version: "3.8"
|
||||
|
||||
services:
|
||||
ollama:
|
||||
image: docker.io/ollama/ollama:latest
|
||||
container_name: ollama
|
||||
privileged: true
|
||||
ports:
|
||||
- "11434:11434"
|
||||
volumes:
|
||||
- ../../data:/root/.ollama
|
||||
restart: unless-stopped
|
Loading…
Reference in a new issue