Skip to content
BotServBotServ
Self-HostingServerDockerProxmoxIA local

Fundamentos de Self-Hosting

Qué es Self-Hosting, sus ventajas y cómo comenzar. Server, Docker, Proxmox e IA local explicados.

S

schutzgeist

12 min read
Fundamentos de Self-Hosting

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 usoHardware recomendadoCostos aproximados
Servicios pequeños (notas, RSS)Raspberry Pi 4/5, 4-8 GB RAM80-150 euros
Nextcloud, bases de datos pequeñasMini-PC con N100, 16 GB RAM, 512 GB SSD200-400 euros
IA local hasta modelos de 13BPC con RTX 3060 12GB, 32 GB RAM600-900 euros
Estación de trabajo con IA, RAG, múltiples usuariosPC con RTX 4090, 64 GB RAM, 2 TB NVMe2000-3500 euros
Multi-GPU, modelos grandesEstación de trabajo con 2-4 GPUs, 128 GB RAM4000-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.yml que 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:

  1. 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.
  2. 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.
  3. 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í:

  1. 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.
  2. Instala el sistema operativo: Copia Ubuntu Server 24.04 LTS al NVMe, activa SSH, actualiza el sistema (apt update && apt upgrade).
  3. Instala Docker: curl -fsSL https://get.docker.com | sh instala Docker y Docker Compose.
  4. Define los servicios: Crea una docker-compose.yml con Nextcloud, Ollama y Caddy como Reverse Proxy.
  5. Asegura la red: Activa el firewall UFW, abre solo puerto 443 y 22 (SSH, idealmente solo en LAN).
  6. Configura TLS: Caddy obtiene automáticamente certificados Let’s Encrypt para tu dominio.
  7. 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 -d mensual 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 .env que 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

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?

Self-Hosting es ejecutar software y servicios en tu propio hardware, en lugar de alquilarlos a un proveedor de nube. Posees la infraestructura, controlas el software y eres responsable de los datos.

¿Qué hardware necesito para Self-Hosting?

Para servicios pequeños, una Raspberry Pi o un mini PC es suficiente. Si despliegas IA local, necesitas una GPU con suficiente VRAM; para modelos grandes, una estación de trabajo con varias GPUs. La elección depende de los servicios que planeas ejecutar.

¿Necesito Linux para Self-Hosting?

Linux es la opción estándar por ser gratuito, estable y eficiente en recursos. Windows es posible, pero menos común en servidores. La mayoría de contenedores Docker y herramientas de IA están optimizados principalmente para Linux.

¿Es seguro el Self-Hosting?

El Self-Hosting es tan seguro como lo protejas. Con Firewall, Reverse Proxy, VPN, TLS y actualizaciones regulares, un servidor autohospedado suele ser más seguro que un servicio en la nube, porque tienes control total. Sin estas medidas, se convierte en un blanco fácil.

¿Cuánto cuesta el Self-Hosting?

El costo inicial depende de la infraestructura: desde 80 euros por una Raspberry Pi hasta varios miles de euros por una estación de trabajo con IA. Durante la operación, pagas electricidad y posiblemente una suscripción de dominio. Los gastos en nube desaparecen una vez que amortizas el hardware.

¿Debo usar Docker o Proxmox?

No son mutuamente excluyentes. Proxmox es la capa de virtualización donde ejecutas máquinas virtuales y contenedores. Dentro de esas máquinas virtuales corre Docker. Para un servidor individual, Docker directo en Linux es suficiente. Si necesitas varios sistemas aislados en un único host, Proxmox vale la pena.

¿Puedo alojar IA local yo mismo?

Sí, alojar IA local es uno de los casos de uso más importantes para Self-Hosting. Con Ollama ejecutas modelos como Llama, Mistral o Gemma en tu propio hardware. Open WebUI proporciona una interfaz de chat; AnythingLLM permite RAG con tus propios documentos.

¿Qué tan importante son los Backups en Self-Hosting?

Los Backups son obligatorios. Un fallo de disco duro, una actualización incorrecta o un error de configuración pueden resultar en pérdida de datos. Como mínimo, debes respaldar regularmente los volúmenes, bases de datos y configuraciones en una ubicación diferente.

¿Cómo accedo a mis servicios desde fuera?

La forma más segura es usar una VPN como Tailscale o WireGuard. Te conectas cifrado a tu red doméstica y accedes a todos los servicios sin exponerlos a Internet. Alternativamente, un Reverse Proxy con TLS permite que servicios específicos sean públicamente accesibles.

¿Cómo empiezo como principiante?

Comienza con un mini PC o una computadora vieja, instala Ubuntu Server, configura Docker y aloja tu primer servicio, como Nextcloud u Ollama. Aprende gradualmente cómo funcionan los contenedores, la red y los Backups antes de agregar más servicios.

Referencias y lecturas adicionales

Volver al blog
Share:

Entradas relacionadas