# Cómo instalar Odysseus AI en un VPS Linux

**URL:** <https://forum.boxtoplay.com/t/como-instalar-odysseus-ai-en-un-vps-linux/31794>\
**Category:** VPS\
**Tags:** español, vps\
**Created:** [Juin 16, 2026, 4:37 UTC](https://forum.boxtoplay.com/t/como-instalar-odysseus-ai-en-un-vps-linux/31794 "2026-06-16T16:37:19Z")\
**Posts on this page:** 1\
**Page:** 1

<div class="post-metadata">

**Author:** ![BoxToPlay-helper](https://forum.boxtoplay.com/user_avatar/forum.boxtoplay.com/boxtoplay-helper/32/5468_2.png) [@BoxToPlay-helper](https://forum.boxtoplay.com/u/BoxToPlay-helper)\
**Post date:** [Juin 16, 2026, 4:37 UTC](https://forum.boxtoplay.com/t/como-instalar-odysseus-ai-en-un-vps-linux/31794/1 "2026-06-16T16:37:19Z")

</div>

![Cómo instalar Odysseus AI en un VPS Linux](https://forum.boxtoplay.com/uploads/default/original/2X/5/529bb8fb7b2d46ad5d58fb052b1f8b1d3dac8f4b.jpeg)

### Instalar Odysseus AI en un servidor VPS Linux

En esta guía vamos a instalar **Odysseus AI** en un **servidor VPS Linux** con Docker Compose y después lo publicaremos correctamente detrás de un reverse proxy HTTPS. El objetivo es obtener un workspace IA privado, autoalojado, capaz de centralizar chat, agentes, documentos, memoria, búsqueda web, notas, tareas, calendario, correo y herramientas locales.

[Odysseus](https://github.com/pewdiepie-archdaemon/odysseus) es un proyecto open source presentado como un workspace IA self-hosted, local-first y privacy-first. Puede hablar con modelos locales o APIs compatibles, usar herramientas de agente, apoyarse en ChromaDB para la memoria, lanzar SearXNG para la búsqueda web y conectarse a Ollama, vLLM, llama.cpp, OpenRouter, OpenAI u otros endpoints. Si has seguido nuestra guía para [instalar Hermes Agent](https://www.boxtoplay.com/es/news/como-instalar-el-agente-ia-hermes-en-un-vps-linux-31782), puedes ver Odysseus como un enfoque más orientado a interfaz web y workspace completo, mientras que Hermes se acerca más a un agente autónomo accesible desde terminal o mensajería.

Odysseus todavía es joven. El repositorio oficial indica que la rama `dev` contiene los cambios más recientes, pero puede ser inestable, mientras que `main` es la rama más estable y curada. Para un VPS que quieres mantener limpio, instalaremos `main` por defecto.

* * *

### 1. Qué tendrás al final

Al terminar este tutorial, tendrás:

- Una instancia Odysseus funcionando con Docker Compose.
- Una interfaz web protegida con autenticación.
- ChromaDB, SearXNG y ntfy arrancados con la stack oficial.
- Acceso HTTPS mediante NGINX, sin exponer directamente los puertos internos.
- Una base lista para conectar Ollama, una API compatible con OpenAI o un servidor remoto de modelos.
- Comandos de backup, actualización, diagnóstico y hardening.

Odysseus escucha por defecto en el puerto de aplicación `7000`. La stack Docker también expone servicios internos como SearXNG, ChromaDB y ntfy. Lo importante es no abrir todos esos puertos al público: la interfaz Odysseus debe ser el único punto de entrada para el usuario, idealmente detrás de HTTPS.

* * *

### 2. Requisitos recomendados

Antes de empezar, prepara:

- Un **servidor VPS Linux** con acceso SSH y permisos sudo.
- Ubuntu 22.04, Ubuntu 24.04 o Debian 12 para seguir los comandos tal como están escritos.
- Al menos **2 GB de RAM** para probar la interfaz con modelos mediante API.
- Preferiblemente **4 GB a 8 GB de RAM** si también quieres búsqueda, documentos y algunos tratamientos locales.
- Más RAM y eventualmente GPU si quieres servir modelos locales reales en el mismo VPS.
- Un dominio o subdominio, por ejemplo `odysseus.example.com`, si quieres un acceso HTTPS limpio.

Si usas un VPS pequeño sin GPU, no pasa nada. Odysseus puede funcionar muy bien como interfaz privada conectada a un proveedor externo o a un servidor remoto de modelos. La GPU empieza a ser útil sobre todo si quieres descargar y servir modelos localmente con Cookbook, llama.cpp, vLLM o un runtime similar.

Actualiza primero el sistema:

```bash
sudo apt update && sudo apt upgrade -y
sudo apt install -y curl git ca-certificates gnupg openssl ufw

```

* * *

### 3. Instalar Docker en el VPS

Odysseus recomienda Docker para la instalación en servidor. Si Docker ya se usa en producción en tu VPS, revisa el impacto antes de reemplazar paquetes existentes. En una máquina nueva, usa esta secuencia.

```bash
sudo apt remove -y $(dpkg --get-selections docker.io docker-compose docker-compose-v2 docker-doc podman-docker containerd runc 2>/dev/null | cut -f1)
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
sudo systemctl enable --now docker

```

Comprueba que Docker y Docker Compose están disponibles:

```bash
docker --version
docker compose version

```

Si necesitas más detalles sobre Docker, puedes leer nuestra guía dedicada: [Instalar Docker en Linux, guía práctica para empezar](https://www.boxtoplay.com/es/news/instalar-docker-en-linux-guia-practica-para-empezar-31748).

* * *

### 4. Descargar los archivos de despliegue de Odysseus

La instalación oficial de Odysseus se basa en el repositorio Git del proyecto. Este repositorio contiene el `docker-compose.yml` completo, la configuración de SearXNG, los scripts GPU y los archivos necesarios para arrancar los servicios usados por Odysseus.

Instala estos archivos en `/opt/odysseus` y devuelve la propiedad del directorio a tu usuario actual para no gestionarlo todo como root.

```bash
sudo apt update
sudo apt install -y git openssl
cd /opt
sudo git clone --branch main https://github.com/pewdiepie-archdaemon/odysseus.git
sudo chown -R "$USER:$USER" /opt/odysseus
cd /opt/odysseus

```

Para este tutorial VPS, quédate en `main`. También existe el tag `dev`, pero sigue la rama de desarrollo y puede cambiar más rápido.

* * *

### 5. Preparar el archivo `.env`

Copia el archivo de ejemplo:

```bash
cp .env.example .env

```

Después añade una configuración explícita para un primer despliegue detrás de reverse proxy. El puerto de Odysseus seguirá vinculado a `127.0.0.1`, así que no quedará expuesto directamente a Internet.

```bash
ADMIN_PASSWORD=$(openssl rand -hex 24)
SECRET_KEY=$(openssl rand -hex 32)
cat <<EOF >> .env
APP_BIND=127.0.0.1
APP_PORT=7000
AUTH_ENABLED=true
LOCALHOST_BYPASS=false
SECURE_COOKIES=false
ODYSSEUS_ADMIN_USER=admin
ODYSSEUS_ADMIN_PASSWORD=$ADMIN_PASSWORD
SECRET_KEY=$SECRET_KEY
ALLOWED_ORIGINS=http://localhost:7000,http://127.0.0.1:7000
FASTEMBED_CACHE_PATH=/app/data/fastembed_cache
EOF
printf 'Contraseña admin inicial: %s\n' "$ADMIN_PASSWORD"

```

Guarda la contraseña mostrada en un gestor de contraseñas. Podrás cambiarla después desde la interfaz de Odysseus.

Puntos importantes:

- `AUTH_ENABLED=true` mantiene la página protegida por login.
- `LOCALHOST_BYPASS=false` evita un bypass pensado solo para desarrollo local.
- `APP_BIND=127.0.0.1` impide exponer directamente el puerto de la aplicación en la red pública.
- `SECURE_COOKIES=false` es temporal hasta activar HTTPS.
- `FASTEMBED_CACHE_PATH=/app/data/fastembed_cache` mantiene la caché FastEmbed en el volumen persistente `data/`. Sin este path explícito, Odysseus puede mostrar errores `No embedding lanes available` al inicializar la memoria, el RAG y el índice de herramientas.

* * *

### 6. Arrancar Odysseus con Docker Compose

Arranca la stack oficial. En el primer arranque, Docker construye la imagen de Odysseus desde las fuentes y también lanza ChromaDB, SearXNG y ntfy.

```bash
docker compose up -d --build

```

Esta primera ejecución puede tardar varios minutos, sobre todo en un VPS pequeño. Los arranques siguientes serán más rápidos porque Docker reutiliza las capas ya construidas.

Comprueba el estado de los contenedores:

```bash
docker compose ps

```

Consulta los logs de la aplicación:

```bash
docker compose logs --tail=120 odysseus

```

Si no has definido `ODYSSEUS_ADMIN_PASSWORD`, Odysseus genera una contraseña temporal en el primer arranque. Puedes encontrarla con:

```bash
docker compose logs odysseus | grep -Ei 'password|admin'

```

En este punto, la interfaz debería responder localmente desde el VPS:

```bash
curl -I http://127.0.0.1:7000

```

También puedes probar con un túnel SSH desde tu ordenador:

```bash
ssh -L 7000:127.0.0.1:7000 usuario@direccion-del-vps

```

Después abre `http://localhost:7000` en tu navegador local. Es una forma práctica de probar sin exponer la aplicación.

Cuando el servicio está arrancado, la página de login aparece con el usuario `admin` creado durante el primer arranque.

 ![Página de login de Odysseus protegida con autenticación](https://forum.boxtoplay.com/uploads/default/original/2X/3/39a85aa2e8b70a0af0ea4eb0384d95e6442af5df.png)

* * *

### 7. Poner Odysseus detrás de NGINX y HTTPS

Para un acceso web limpio, usa un subdominio y un reverse proxy. En los ejemplos, sustituye `odysseus.example.com` por tu dominio real. Antes de lanzar Certbot, asegúrate de que el DNS del subdominio ya apunta a la IP del VPS y de que el puerto `80` es accesible desde Internet.

Instala NGINX y Certbot:

```bash
sudo apt install -y nginx certbot python3-certbot-nginx

```

Crea la configuración NGINX:

```bash
sudo tee /etc/nginx/sites-available/odysseus.conf > /dev/null <<'EOF'
server {
    listen 80;
    server_name odysseus.example.com;

    client_max_body_size 100m;

    location / {
        proxy_pass http://127.0.0.1:7000;
        proxy_http_version 1.1;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
        proxy_set_header X-Forwarded-Proto $scheme;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "upgrade";
        proxy_read_timeout 3600;
        proxy_send_timeout 3600;
    }
}
EOF

```

Activa el sitio, verifica la sintaxis y recarga NGINX:

```bash
sudo ln -s /etc/nginx/sites-available/odysseus.conf /etc/nginx/sites-enabled/odysseus.conf
sudo nginx -t
sudo systemctl reload nginx

```

Genera el certificado HTTPS:

```bash
sudo certbot --nginx -d odysseus.example.com

```

Cuando HTTPS esté activo, actualiza `.env` para activar cookies seguras y permitir el origen público:

```bash
cd /opt/odysseus
sed -i '/^SECURE_COOKIES=/d;/^ALLOWED_ORIGINS=/d' .env
cat <<'EOF' >> .env
SECURE_COOKIES=true
ALLOWED_ORIGINS=https://odysseus.example.com,http://localhost:7000,http://127.0.0.1:7000
EOF
docker compose up -d

```

Abre `https://odysseus.example.com` e inicia sesión con el usuario `admin` y la contraseña generada antes.

* * *

### 8. Configurar el firewall del VPS

Antes de activar o modificar UFW, comprueba siempre su estado para evitar perder el acceso SSH:

```bash
sudo ufw status

```

Autoriza SSH para mantener el acceso administrativo y después abre el tráfico web:

```bash
sudo ufw allow OpenSSH
sudo ufw allow 80/tcp
sudo ufw allow 443/tcp

```

La regla `OpenSSH` sirve únicamente para conservar tu acceso SSH de administración o para mantener el túnel SSH utilizado para pruebas en este tutorial, y no es necesaria para el funcionamiento de Odysseus.

Si UFW todavía no está activo, actívalo solo después de añadir la regla SSH:

```bash
sudo ufw enable
sudo ufw status verbose

```

Si tu sistema no utiliza UFW, puedes configurar el equivalente mínimo con `iptables`. Esta regla SSH también sirve para conservar tu acceso de administración o el túnel de este tutorial (ten en cuenta que debes adaptar el puerto por defecto `22` si tu servicio SSH escucha en otro puerto):

```bash
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT

```

No publiques directamente en Internet puertos internos como `7000`, `8080`, `8091`, `8100`, `11434` o `8000-8020`. Déjalos en localhost, dentro de Docker, detrás de un VPN, con Tailscale o detrás de un reverse proxy controlado.

* * *

### 9. Primer recorrido por la interfaz Odysseus

Después de iniciar sesión, llegas a la pantalla de chat. En este punto la instalación está arrancada, pero Odysseus todavía no podrá responder hasta que configures al menos un proveedor de modelo.

 ![Pantalla de inicio de Odysseus tras iniciar sesión](https://forum.boxtoplay.com/uploads/default/original/2X/5/522abeedd742e4bf34b4ff6e8a457cf18da8f46f.png)

Revisa tres ajustes antes de lanzar un agente:

1. Cambia la contraseña admin si has usado una temporal.
2. Comprueba que el registro abierto está desactivado si la instancia no está pensada para varios usuarios.
3. Añade tu primer proveedor de modelo desde los ajustes.

La pantalla de bienvenida puede sugerir escribir `/setup`, pero según la versión instalada la orden sola puede responder `Unknown subcommand`. El atajo útil es empezar por la ayuda o por el asistente de endpoints:

```plaintext
/setup --help
/setup endpoint

```

También puedes ir directamente a **Settings \> Add Models**. Es el método más claro para un primer despliegue, porque separa modelos locales, APIs externas y pruebas de conexión.

 ![Añadir un proveedor de modelo en los ajustes de Odysseus](https://forum.boxtoplay.com/uploads/default/original/2X/d/de1ccf4b70ddd94f101c5c5df6bf4508a4604c59.png)

Odysseus puede funcionar de varias formas:

- Con una API compatible con OpenAI, OpenRouter, DeepSeek, Anthropic, Groq, Gemini o un proveedor equivalente para empezar rápido.
- Con Ollama en el mismo VPS o en otra máquina privada.
- Con un endpoint vLLM, llama.cpp u otro servidor compatible con OpenAI.
- Con Cookbook para detectar el hardware, descargar modelos y preparar un runtime adaptado.

Si configuras un servidor de modelo local desde Docker, recuerda que `localhost` visto desde el contenedor no es necesariamente el host VPS. Para Ollama instalado en el mismo VPS, usa `http://host.docker.internal:11434/v1`, como se explica en la sección siguiente.

Los demás módulos ya se abren en una instancia recién instalada. Library almacena documentos, resultados de investigación y conversaciones archivadas.

 ![Library de Odysseus vacía después de una instalación nueva](https://forum.boxtoplay.com/uploads/default/original/2X/b/b34d17c7d4166922b558044e79fef9cdf528de74.png)

Brain agrupa la memoria a largo plazo y los skills. Empieza a ser realmente útil cuando hay un modelo y un backend de embeddings funcionales.

 ![Módulo Brain y memoria a largo plazo en Odysseus](https://forum.boxtoplay.com/uploads/default/original/2X/2/25ecfca21c9348f96ae5509473e79c39b466e26d.png)

Deep Research prepara búsquedas web multi-etapa, con elección del motor de búsqueda, número de rondas, endpoint y modelo.

 ![Panel Deep Research en Odysseus](https://forum.boxtoplay.com/uploads/default/original/2X/1/119e0f3281daae7a65684775ad0584921ac3a60c.png)

Odysseus también incluye **Compare** , un panel para enviar el mismo prompt a varios modelos y comparar las respuestas, incluso en modo blind test cuando hay varios modelos disponibles.

 ![Comparación de modelos en Odysseus](https://forum.boxtoplay.com/uploads/default/original/2X/f/f6ae973e5d9b69a402ea60591ae7a72f9f646aae.png)

La zona **Calendar** ofrece un calendario local-first con vistas semana, mes, año y agenda. La sincronización CalDAV se configura después desde los ajustes de integración.

 ![Calendario integrado en Odysseus](https://forum.boxtoplay.com/uploads/default/original/2X/7/7ac3e92fa071a1221362326e156d44ad193dc471.png)

El módulo **Tasks** lista tareas programadas y automatizaciones internas: sesiones, email, memoria, documentos, investigaciones y skills. También permite ver qué jobs están activos o en pausa.

 ![Tareas programadas y automatizaciones en Odysseus](https://forum.boxtoplay.com/uploads/default/original/2X/9/929877c65e8a5e7d32c901bdcc6580606c292110.png)

El módulo **Email** también forma parte de las funcionalidades destacadas, pero necesita una configuración IMAP/SMTP en **Settings \> Integrations** antes de ser útil. En una instancia nueva, es normal no ver correos hasta conectar una cuenta.

Para un VPS pequeño, empieza con un proveedor externo o un servidor remoto de modelos. En una máquina más potente fuera de un VPS BoxToPlay con GPU, podrás probar después la descarga y ejecución de modelos locales.

* * *

### 10. Conectar Ollama a Odysseus

Si Ollama se ejecuta en el mismo VPS que Docker, Odysseus debe poder alcanzarlo desde el contenedor. El repositorio recomienda esta URL en Odysseus:

```plaintext
http://host.docker.internal:11434/v1

```

Ollama debe escuchar más allá de su propio loopback. En un servidor systemd, crea un override:

```bash
sudo mkdir -p /etc/systemd/system/ollama.service.d
sudo tee /etc/systemd/system/ollama.service.d/override.conf > /dev/null <<'EOF'
[Service]
Environment="OLLAMA_HOST=0.0.0.0:11434"
EOF
sudo systemctl daemon-reload
sudo systemctl restart ollama

```

No abras el puerto `11434` en el firewall público. El objetivo es únicamente que el contenedor Odysseus pueda contactar Ollama mediante la ruta local host/Docker.

También puedes preconfigurar la URL en `.env`:

```bash
cd /opt/odysseus
sed -i '/^OLLAMA_BASE_URL=/d' .env
cat <<'EOF' >> .env
OLLAMA_BASE_URL=http://host.docker.internal:11434/v1
EOF
docker compose up -d

```

Después añade o verifica el proveedor correspondiente en los ajustes de modelos de Odysseus.

* * *

### 11. Activar opciones GPU si tu VPS lo permite

En un VPS BoxToPlay, puedes saltarte esta parte: nuestras ofertas VPS actuales no se venden con GPU. Las opciones siguientes no funcionarán en un VPS BoxToPlay estándar. Solo aplican a un servidor Linux que tenga realmente una GPU NVIDIA o AMD, con passthrough Docker compatible.

En un servidor Linux solo CPU, Cookbook puede detectar de todos modos la RAM, los núcleos CPU y sugerir modelos `llama.cpp` compatibles o marginales. Es útil para estimar qué puede ejecutarse localmente antes de descargar nada.

 ![Cookbook de Odysseus detecta el hardware y sugiere modelos compatibles](https://forum.boxtoplay.com/uploads/default/original/2X/9/9e43a68b1d64f824ccbd088e7157d3fa461e5451.png)

Para NVIDIA, empieza con un diagnóstico sin cambios:

```bash
cd /opt/odysseus
scripts/check-docker-gpu.sh

```

Para mostrar los comandos de instalación necesarios sin ejecutarlos:

```bash
scripts/check-docker-gpu.sh --print-install-commands

```

Para instalar el runtime NVIDIA y activar el overlay después de validar el passthrough:

```bash
sudo scripts/check-docker-gpu.sh --install-nvidia-toolkit --enable-nvidia-overlay
docker compose up -d --build

```

Para AMD/ROCm, lanza el diagnóstico:

```bash
cd /opt/odysseus
scripts/check-docker-amd-gpu.sh

```

Después añade el overlay y el GID del grupo `render` a `.env` si el diagnóstico lo pide:

```bash
RENDER_GID=$(getent group render | cut -d: -f3)
sed -i '/^COMPOSE_FILE=/d;/^RENDER_GID=/d' .env
cat <<EOF >> .env
COMPOSE_FILE=docker-compose.yml:docker/gpu.amd.yml
RENDER_GID=$RENDER_GID
EOF
docker compose up -d --build

```

Un punto importante: ver la GPU dentro del contenedor no garantiza que llama.cpp o vLLM ya usen CUDA o ROCm. El passthrough Docker y las dependencias del runtime de modelos son dos temas distintos.

* * *

### 12. Hacer backup de Odysseus correctamente

Los datos importantes están en `data/`, `.env` y, según tu uso, `logs/`. Antes de una actualización o cambio importante, crea un archivo comprimido.

```bash
cd /opt/odysseus
tar --exclude='data/huggingface' --exclude='data/local' -czf "$HOME/odysseus-backup-$(date +%F).tar.gz" .env data logs

```

Los directorios `data/huggingface` y `data/local` pueden crecer mucho si descargas modelos o instalas motores locales. Hazles backup aparte si también quieres restaurar modelos y dependencias pesadas.

Para enviar el archivo a otro servidor:

```bash
scp "$HOME/odysseus-backup-$(date +%F).tar.gz" usuario@backup.example.com:/home/usuario/backups/

```

Nunca compartas públicamente `.env`, `data/`, logs, exports, uploads o capturas que contengan claves API.

* * *

### 13. Actualizar Odysseus

Haz un backup antes de actualizar. Con la instalación oficial desde el repositorio Git, descarga los últimos archivos y reconstruye la stack:

```bash
cd /opt/odysseus
git checkout main
git pull --ff-only
docker compose up -d --build
docker compose logs --tail=120 odysseus

```

Luego revisa la interfaz y los providers configurados. Si usas `dev`, espera cambios más frecuentes y conserva una copia reciente antes de cada actualización.

* * *

### 14. Diagnóstico de problemas frecuentes

Si la interfaz no responde, revisa primero los contenedores:

```bash
cd /opt/odysseus
docker compose ps
docker compose logs --tail=120 odysseus

```

Si el puerto `7000` ya está ocupado, elige otro puerto local:

```bash
cd /opt/odysseus
sed -i '/^APP_PORT=/d' .env
cat <<'EOF' >> .env
APP_PORT=7001
EOF
docker compose up -d

```

Después cambia el `proxy_pass` de NGINX a `http://127.0.0.1:7001`.

Si SearXNG bloquea el arranque o queda en error:

```bash
docker compose logs --tail=120 searxng
docker compose restart searxng odysseus

```

Si ChromaDB parece no estar disponible:

```bash
docker compose logs --tail=120 chromadb
docker compose restart chromadb odysseus

```

Si los logs de Odysseus muestran `FastEmbed init failed`, `No such file or directory: ''` o `No embedding lanes available`, comprueba que `.env` contiene el path de caché FastEmbed usado en esta guía:

```bash
cd /opt/odysseus
grep '^FASTEMBED_CACHE_PATH=' .env

```

El valor esperado es:

```bash
FASTEMBED_CACHE_PATH=/app/data/fastembed_cache

```

Después reinicia el contenedor:

```bash
docker compose up -d odysseus
docker compose logs --tail=120 odysseus

```

En el primer arranque, FastEmbed puede descargar un pequeño modelo ONNX desde Hugging Face. Una advertencia sobre peticiones Hugging Face no autenticadas es normal si no has definido `HF_TOKEN`.

Si has perdido la contraseña admin inicial, lo más limpio es definir un nuevo `ODYSSEUS_ADMIN_PASSWORD` antes del uso real. Si la instancia ya contiene usuarios y datos, gestiona la recuperación desde la interfaz de administración o la documentación del proyecto para no sobrescribir tu configuración.

Si pierdes la contraseña de administrador después de la configuración inicial, puedes restablecer la autentificación deteniendo el servicio y eliminando el archivo `data/auth.json` (lo que reiniciará el proceso de inicialización en el próximo arranque):

```bash
cd /opt/odysseus
docker compose down
mv data/auth.json data/auth.json.bak
docker compose up -d

```

* * *

### 15. Buenas prácticas de seguridad

Odysseus puede manejar herramientas potentes: shell, archivos, documentos, correo, calendario, modelos, webhooks, tokens y MCP. Trátalo como una consola de administración.

- Mantén `AUTH_ENABLED=true` cuando la instancia sea accesible por red.
- Mantén `LOCALHOST_BYPASS=false` fuera del desarrollo local.
- Activa `SECURE_COOKIES=true` en cuanto el acceso pase por HTTPS.
- No expongas directamente ChromaDB, SearXNG, ntfy, Ollama, vLLM, llama.cpp ni APIs de modelos.
- Limita las cuentas admin y revisa los privilegios de usuarios no admin.
- Activa 2FA si tu versión y configuración lo permiten.
- No pegues claves API en capturas, logs o conversaciones compartidas.
- Haz backup periódico de `.env` y `data/`, y guarda las copias fuera del VPS.

Odysseus está diseñado con privilegios locales avanzados (privileged local capabilities), lo que le permite interactuar directamente con el sistema de archivos y ejecutar comandos a través de su terminal integrada. Trata esta interfaz como una verdadera consola de administración y no concedas acceso a usuarios no autorizados.

Con esta base, Odysseus se convierte en un workspace IA privado que puedes hacer crecer poco a poco: primero una interfaz conectada a un proveedor, después un agente con herramientas, y más adelante un entorno local real con modelos, memoria, búsqueda y automatizaciones.

Para alojar este tipo de workspace en una máquina estable, un **servidor VPS** es una buena base: acceso root, servicios persistentes, reverse proxy, backups y escalado progresivo. En BoxToPlay puedes [probar gratis tu servidor VPS](https://www.boxtoplay.com/es/alquiler-vps/servidor-vps) y construir tu propio entorno IA self-hosted a tu ritmo.
