[IMPROVED] Mover directorio de Ollama a ~/.ollama

- Actualizar rutas para usar ~/.ollama como directorio estándar
- Mejorar manejo de múltiples formatos de volúmenes en el archivo compose
- Actualizar documentación en README.md para reflejar la nueva ubicación
- Agregar más detalles sobre directorios en el directorio home del usuario

🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
Mauro Rosero P. 2025-04-01 17:32:43 -05:00
parent 3eb5cfc7c5
commit 0b68ca3e18
Signed by: mrosero
GPG key ID: 83BD2A5F674B7E26
2 changed files with 23 additions and 20 deletions

View file

@ -44,8 +44,8 @@ bin/update.sh
Durante la instalación y uso, MRDevs Tools crea varios directorios importantes:
- `~/devs/bin/`: Scripts y herramientas ejecutables
- `~/devs/ollama/`: Configuración y datos para Ollama AI
- `~/devs/sounds/`: Archivos de sonido para notificaciones
- `~/.ollama/`: Configuración y datos para Ollama AI
- `~/.vosk/`: Modelos para reconocimiento de voz local
- `~/.cortana/`: Configuración y tokens para Claude Code
- `~/.developer/`: Tokens y configuraciones para herramientas de desarrollo
@ -78,7 +78,7 @@ Durante la instalación y uso, MRDevs Tools crea varios directorios importantes:
| `bin/sora_enable.sh` | Activa el alias 'sora' para Aider permanentemente |
| `bin/sora_disable.sh` | Desactiva el alias 'sora' para Aider |
| `bin/ai_token.sh` | Gestiona tokens de múltiples proveedores de IA vía SOPS |
| `bin/ollama_up.sh` | Inicia el servicio Ollama (IA local) con podman-compose. Crea y configura `~/devs/ollama/` |
| `bin/ollama_up.sh` | Inicia el servicio Ollama (IA local) con podman-compose. Crea y configura `~/.ollama/` |
| `bin/ollama_down.sh` | Detiene el servicio Ollama (IA local) |
| `bin/ollama.sh` | Cliente para interactuar con Ollama (auto-inicia el servicio si es necesario) |
| `bin/nodered.sh` | Administra Node-RED con soporte para ejecución, monitoreo y gestión completa del servicio |
@ -451,9 +451,13 @@ devs/
│ ├── msg/ # Archivos de mensajes multilingües
│ └── config/ # Configuraciones y parámetros
│ └── *.gitignore # Plantillas de .gitignore específicas por tipo de proyecto
├── ollama/ # Configuración y datos de Ollama (IA local)
│ └── data/ # Almacenamiento persistente para modelos de Ollama
└── sounds/ # Archivos de audio para notificaciones
~/ (Directorio de usuario)
├── .ollama/ # Configuración y datos de Ollama (IA local)
├── .vosk/ # Modelos para reconocimiento de voz
├── .cortana/ # Configuración de Claude Code
└── .developer/ # Tokens y configuraciones de desarrollo
```
### Componentes Principales

View file

@ -55,8 +55,8 @@ source "${BIN_HOME}/${BIN_BASE}/${BIN_LIBS}/base.lib"
load_messages "${BIN_HOME}/${BIN_BASE}" "${BIN_MESG}" "${BIN_LANG}" "head"
title="${head_000} ${head_002}"
# Create the directory for Ollama in the development directory
mkdir -p "${BIN_HOME}/ollama"
# Create the directory for Ollama in the user's home directory
mkdir -p "${HOME}/.ollama"
# Check if we should use podman or docker (prefer podman)
if command -v podman >/dev/null 2>&1; then
@ -83,27 +83,26 @@ fi
echo "Using ${COMPOSE_CMD} to start Ollama service..."
# Copy compose file if it doesn't exist in the new location
if [ ! -f "${BIN_HOME}/ollama/podman-compose.yml" ] && [ -f "${BIN_HOME}/${BIN_BASE}/ollama/podman-compose.yml" ]; then
cp "${BIN_HOME}/${BIN_BASE}/ollama/podman-compose.yml" "${BIN_HOME}/ollama/"
if [ ! -f "${HOME}/.ollama/podman-compose.yml" ] && [ -f "${BIN_HOME}/${BIN_BASE}/ollama/podman-compose.yml" ]; then
cp "${BIN_HOME}/${BIN_BASE}/ollama/podman-compose.yml" "${HOME}/.ollama/"
fi
# Change to the directory containing the compose file
cd "${BIN_HOME}/ollama"
cd "${HOME}/.ollama"
# Create a subdirectory for Ollama data
mkdir -p "${BIN_HOME}/ollama/data"
# Update the compose file to use ollama/data directory
if [ -f "${BIN_HOME}/ollama/podman-compose.yml" ]; then
# Update the volume mount to use ollama/data instead of data
sed -i 's|../../data:/root/.ollama|../ollama/data:/root/.ollama|g' "${BIN_HOME}/ollama/podman-compose.yml"
sed -i 's|${BIN_HOME}/data:/root/.ollama|${BIN_HOME}/ollama/data:/root/.ollama|g' "${BIN_HOME}/ollama/podman-compose.yml"
# Update the compose file to use the default Ollama directory
if [ -f "${HOME}/.ollama/podman-compose.yml" ]; then
# Update any old volume paths to use the standard location
sed -i 's|../../data:/root/.ollama|.:/root/.ollama|g' "${HOME}/.ollama/podman-compose.yml"
sed -i 's|${BIN_HOME}/data:/root/.ollama|${HOME}/.ollama:/root/.ollama|g' "${HOME}/.ollama/podman-compose.yml"
sed -i 's|./data:/root/.ollama|.:/root/.ollama|g' "${HOME}/.ollama/podman-compose.yml"
sed -i 's|../ollama/data:/root/.ollama|.:/root/.ollama|g' "${HOME}/.ollama/podman-compose.yml"
# Start Ollama service with compose
${COMPOSE_CMD} -f podman-compose.yml up -d
else
# Create a basic compose file if none exists
cat > "${BIN_HOME}/ollama/podman-compose.yml" <<EOF
cat > "${HOME}/.ollama/podman-compose.yml" <<EOF
version: '3'
services:
ollama:
@ -112,7 +111,7 @@ services:
ports:
- "11434:11434"
volumes:
- ./data:/root/.ollama
- .:/root/.ollama
restart: unless-stopped
privileged: true
EOF
@ -132,7 +131,7 @@ if ! ${CONTAINER_CMD} container exists ollama 2>/dev/null || ! ${CONTAINER_CMD}
${CONTAINER_CMD} run -d --name ollama \
--privileged \
-p 11434:11434 \
-v "${BIN_HOME}/ollama/data:/root/.ollama" \
-v "${HOME}/.ollama:/root/.ollama" \
--restart unless-stopped \
docker.io/ollama/ollama:latest
fi