Fundamentos de Self-Hosting
Qué cubre este artículo
- Qué significa realmente self-hosting y en qué se diferencia de la nube.
- Las ventajas y responsabilidades que asumes al administrar tus propios servicios.
- El hardware, sistema operativo y software que necesitas para comenzar.
- Cómo se relacionan Docker, Proxmox y Linux, y dónde entra en juego la IA local.
- Los obstáculos típicos que enfrentan los principiantes y cómo evitarlos.
Introducción: Self-Hosting explicado claramente
Self-hosting significa ejecutar software y servicios en tu propio hardware en lugar de alquilarlos a un proveedor de nube. En vez de usar una base de datos en AWS, una herramienta de chat en Slack o una IA en OpenAI, instalas estos servicios en tu propio servidor en casa o en tu propio centro de datos. Mantienes control total sobre los datos, la configuración y los costos.
Este artículo está dirigido a principiantes que consideran self-hosting por primera vez. No necesitas conocimientos profundos de administración de sistemas, pero sí debes estar dispuesto a familiarizarte con Linux, contenedores y conceptos básicos de redes. Si deseas aprender programación, encontrarás tutoriales sobre Python, C# y más en IRC-Coding.de. Los temas de seguridad se tratan en IRC-Security.de.
¿Por qué necesito self-hosting?
Imagina que usas un servicio en la nube para tus notas, contactos o modelos de IA. Un día el proveedor cambia los precios, descontinúa una función o cierra tu cuenta. Tus datos desaparecen o solo puedes acceder a ellos pagando tarifas altas. Esto sucede con más frecuencia de lo que crees.
Self-hosting resuelve este problema porque mantienes soberanía sobre tus datos. Decides dónde se almacenan, quién tiene acceso y cuánto tiempo se conservan. Esto es especialmente importante para información sensible como datos de clientes, datos de salud o documentos internos.
También está el factor costo. Una pequeña instancia de GPU en la nube fácilmente cuesta varios cientos de euros al mes. Un servidor propio con tarjetas GPU de segunda mano se amortiza en pocos meses y después funciona solo con el costo de la electricidad. Quien ejecuta IA local con Ollama de todas formas no puede evitar self-hosting, porque los modelos deben ejecutarse en hardware propio.
Self-Hosting en pocas palabras
Self-hosting es el modelo operativo en el que instalas software en tu propio hardware y te haces responsable de él. Puede ser una Raspberry Pi bajo tu escritorio, una PC antigua en el sótano o un rack de servidores completo. El software generalmente se ejecuta en contenedores que incluyen todas las dependencias y se administran fácilmente.
La idea central es: eres dueño del hardware, controlas el software, tú eres responsable de los datos. Nadie puede desactivarte una función desde afuera ni acceder a tus datos, siempre y cuando asegures correctamente tus sistemas.
¿Para quién es self-hosting?
Self-hosting está dirigido a varios grupos:
- Particulares que no quieren entregar sus datos a grandes corporaciones y disfrutan experimentando.
- Pequeñas y medianas empresas que necesitan cumplir con GDPR y reducir costos de nube.
- Desarrolladores que construyen IA local, pipelines de RAG o flujos de trabajo con agentes y necesitan infraestructura propia.
- Aficionados que experimentan con Home Assistant, Nextcloud y chatbots personalizados.
Experiencia previa con Linux es útil pero no obligatoria. Si nunca has usado una línea de comandos, primero deberías trabajar a través de los conceptos básicos de un tutorial de Linux. La curva de aprendizaje es pronunciada pero gratificante.
Términos importantes en self-hosting
- Docker - Plataforma de contenedores que empaqueta software en entornos aislados. Útil para: casi cualquier servicio que quieras alojar.
- Proxmox VE - Plataforma de virtualización para máquinas virtuales y contenedores en un único host. Útil para: cuando quieres ejecutar múltiples sistemas aislados en un servidor.
- Linux - Sistema operativo en el que se ejecutan la mayoría de servidores. Útil para: como base para cualquier servidor de self-hosting.
- Ollama - Servidor de modelos local para IA. Útil para: cuando quieres ejecutar IA local.
- Tailscale - Servicio VPN para acceso remoto seguro. Útil para: cuando quieres acceder a tus servicios desde fuera de casa.
- Reverse Proxy - Servicio que redirecciona solicitudes externas a servicios internos. Útil para: cuando quieres hacer múltiples servicios accesibles a través de un dominio.
- Kubernetes - Orquestación de contenedores para despliegues grandes. Útil para: cuando necesitas administrar muchos contenedores en varios servidores.
Hardware para empezar
El hardware determina qué puedes alojar. Un servidor simple de notas funciona con una Raspberry Pi de 4 GB de RAM. Para IA local con modelos de 7B necesitas una GPU con al menos 8 GB de VRAM, para modelos más grandes necesitas más.
| Caso de uso | Hardware recomendado | Costos aproximados |
|---|---|---|
| Servicios pequeños (notas, RSS) | Raspberry Pi 4/5, 4-8 GB RAM | 80-150 euros |
| Nextcloud, bases de datos pequeñas | Mini-PC con N100, 16 GB RAM, 512 GB SSD | 200-400 euros |
| IA local hasta modelos de 13B | PC con RTX 3060 12GB, 32 GB RAM | 600-900 euros |
| Estación de trabajo con IA, RAG, múltiples usuarios | PC con RTX 4090, 64 GB RAM, 2 TB NVMe | 2000-3500 euros |
| Multi-GPU, modelos grandes | Estación de trabajo con 2-4 GPUs, 128 GB RAM | 4000-8000 euros |
Lo importante no es solo la capacidad de procesamiento sino también la confiabilidad. Un servidor generalmente funciona 24/7, así que necesitas alimentación estable, enfriamiento adecuado e idealmente un SAI (Sistema de Alimentación Ininterrumpida) que cubra cortes breves de energía. Encontrarás más detalles en el artículo Planificación de un cluster de IA.
Sistema operativo: ¿Cuál Linux para self-hosting?
La mayoría de servidores de self-hosting funcionan con Linux porque es gratuito, estable y eficiente en recursos. Tres distribuciones han demostrado ser especialmente útiles:
- Ubuntu Server - Amigable para principiantes, comunidad enorme, ciclos de soporte largos. Excelente para tu primer servidor.
- Debian - Aún más ligero que Ubuntu, extremadamente estable. Estándar en muchos servidores profesionales.
- Proxmox VE - Basado en Debian pero incluye una interfaz web para virtualización. Ideal si quieres ejecutar múltiples máquinas virtuales o contenedores en un host.
Para cargas de trabajo pura de IA sin virtualización, Ubuntu o Debian son suficientes. Una vez que quieras separar múltiples servicios adecuadamente, Proxmox vale la pena porque puedes crear una máquina virtual o contenedor LXC separado para cada propósito. El artículo Proxmox LXC vs. VM te ayuda a decidir.
Docker: El estándar para Self-Hosting
Docker es la tecnología más importante para Self-Hosting porque empaqueta software en contenedores. Un contenedor incluye el programa, todas las bibliotecas y la configuración en un paquete único. Ya no instalas paquetes individuales en el sistema, sino que inicias un contenedor que lo trae todo consigo.
Ventajas de Docker:
- Aislamiento: Cada servicio se ejecuta en su propio entorno sin afectar a los demás.
- Actualizaciones sencillas: Un contenedor nuevo reemplaza al antiguo y el sistema permanece limpio.
- Portabilidad: Un contenedor funciona en cualquier lugar donde esté instalado Docker.
- Reproducibilidad: La configuración se define en una
docker-compose.ymlque puedes versionar.
El punto de entrada típico es simple: creas una docker-compose.yml, defines tus servicios e inicias todo con docker compose up -d. Encontrarás más detalles en el artículo Docker Compose optimizar.
services:
ollama:
image: ollama/ollama:latest
ports:
- "11434:11434"
volumes:
- ollama-data:/root/.ollama
deploy:
resources:
reservations:
devices:
- driver: nvidia
count: 1
capabilities: [gpu]
volumes:
ollama-data:
Este ejemplo inicia Ollama en Docker con soporte GPU. El volumen ollama-data almacena los modelos de forma persistente para que sigan disponibles después de un reinicio.
Redes y seguridad en Self-Hosting
Quien aloja servicios por su cuenta también debe protegerlos. Un servidor directamente conectado a Internet se convierte en blanco de ataques en cuestión de minutos. Tres reglas fundamentales ayudan:
- No expongas todos los puertos hacia el exterior. Solo los servicios que deben ser accesibles desde fuera (por ejemplo, un servidor web en puerto 443) pueden estar disponibles desde Internet. Todo lo demás permanece en la red local.
- Usa un Reverse Proxy. Un Reverse Proxy como Nginx o Caddy recibe solicitudes del exterior y las redirige a servicios internos. Así tienes un punto centralizado para cifrado TLS y control de acceso.
- VPN para acceso remoto. En lugar de exponer servicios directamente a Internet, utiliza una VPN como Tailscale o WireGuard. De este modo accedes a tus servicios de forma cifrada desde cualquier lugar sin exponerlos públicamente.
Quien procesa datos sensibles debe además gestionar Secrets correctamente, configurar un Firewall y crear Backups regulares. El artículo Fundamentos de operación segura lo cubre en detalle.
IA local y Self-Hosting
La IA local es uno de los casos de uso más importantes para Self-Hosting. En lugar de utilizar ChatGPT, Claude o Gemini, ejecutas tus propios modelos en tu propio hardware. Esto tiene varias ventajas:
- Privacidad: Ningún dato sale de tu red.
- Costes: Después de la inversión en hardware, solo pagas electricidad.
- Independencia: Sin límites de API, sin aumentos de precios, sin cierres.
- Personalización: Puedes ajustar modelos, adaptar prompts del sistema e integrar herramientas propias.
Componentes típicos de un stack local de IA:
- Ollama como servidor de modelos.
- Open WebUI como interfaz de chat.
- AnythingLLM para RAG con tus propios documentos.
- n8n para automatización de flujos con IA.
- Base de datos vectorial como Chroma o Qdrant para embeddings.
Si quieres construir agentes de IA, necesitas además un framework como LangGraph o CrewAI y posiblemente un servidor MCP para que el agente acceda a herramientas. Todo esto idealmente se ejecuta en contenedores en tu servidor.
Ejemplo práctico: Un pequeño servidor de Self-Hosting
Imagina que quieres configurar un servidor para Nextcloud, Ollama y un Reverse Proxy. El proceso se vería así:
- Obtén el hardware: Un Mini-PC con CPU N100, 16 GB de RAM y 1 TB NVMe es suficiente para Nextcloud y modelos de IA pequeños. Para modelos más grandes necesitarás una GPU dedicada.
- Instala el sistema operativo: Copia Ubuntu Server 24.04 LTS al NVMe, activa SSH, actualiza el sistema (
apt update && apt upgrade). - Instala Docker:
curl -fsSL https://get.docker.com | shinstala Docker y Docker Compose. - Define los servicios: Crea una
docker-compose.ymlcon Nextcloud, Ollama y Caddy como Reverse Proxy. - Asegura la red: Activa el firewall UFW, abre solo puerto 443 y 22 (SSH, idealmente solo en LAN).
- Configura TLS: Caddy obtiene automáticamente certificados Let’s Encrypt para tu dominio.
- Configura Backups: Un trabajo cron realiza backups nocturnos de los volúmenes en un disco externo.
Después de una tarde de trabajo tienes un servidor completamente funcional que proporciona Nextcloud para archivos, Ollama para IA local y una conexión cifrada desde el exterior. Los costes operativos constan solo de electricidad (algunos euros al mes) y el dominio.
Errores comunes en Self-Hosting
- Puertos no verificados: Muchos principiantes abren todos los puertos por frustración para “hacerlo funcionar de una vez”. Eso es un riesgo de seguridad masivo. Es mejor configurar correctamente el Reverse Proxy.
- Sin Backups: Un fallo de disco sin backup significa pérdida de datos. Al menos los volúmenes y configuraciones deben estar en otro lugar. Ver Docker Volume Backup.
- Demasiados servicios con poco hardware: Una Raspberry Pi con 4 GB de RAM no puede ejecutar IA local y Nextcloud simultáneamente. Evalúa realista lo que tu hardware puede hacer.
- Actualizaciones descuidadas: El software auto hospedado también necesita actualizaciones. Un
docker compose pull && docker compose up -dmensual mantiene todo al día. - Secrets en texto plano: Las contraseñas y claves de API no deben estar en la
docker-compose.yml. Usa Docker Secrets o un archivo.envque no suba a Git. - Sin monitoreo: Si no sabes que el disco está lleno o que un contenedor ha fallado, te enteras del incidente cuando los usuarios se quejan. Docker Monitoring ayuda.
Enlaces adicionales e información sobre Self-Hosting
- Fundamentos de Docker - Cómo funcionan los contenedores y cómo usarlos.
- Instalación de Proxmox - Configura virtualización en un host.
- Fundamentos de Linux - Ubuntu, Debian y administración de sistemas.
- Redes y Tailscale - Acceso remoto seguro a tus servicios.
- IA local con Ollama - Ejecuta modelos de IA en tu propio hardware.
- Operación segura - Firewall, Secrets y privacidad para Self-Hosting.
Puntos clave:
- Self-Hosting significa control sobre tus datos, software y costes.
- Docker es el estándar para empaquetar y ejecutar servicios.
- La seguridad comienza con un firewall, un Reverse Proxy y una VPN.
- La IA local es uno de los casos de uso más importantes para Self-Hosting.
- Los backups y actualizaciones no son opcionales, son obligatorios.
Preguntas frecuentes: Fundamentos del Self-Hosting
¿Qué es exactamente el Self-Hosting?
¿Qué hardware necesito para Self-Hosting?
¿Necesito Linux para Self-Hosting?
¿Es seguro el Self-Hosting?
¿Cuánto cuesta el Self-Hosting?
¿Debo usar Docker o Proxmox?
¿Puedo alojar IA local yo mismo?
¿Qué tan importante son los Backups en Self-Hosting?
¿Cómo accedo a mis servicios desde fuera?
¿Cómo empiezo como principiante?
Referencias y lecturas adicionales
- Docker Documentación - Docs oficiales de Docker.
- Proxmox VE Wiki - Virtualización con Proxmox.
- Ubuntu Server Guide - Documentación oficial de Ubuntu Server.
- Selfhosted Podcast - Podcast semanal sobre Self-Hosting.
- Ollama GitHub - Servidor de modelos local.


