Categorías

Ruta de aprendizaje Principiante

Self-hosting con Docker: de cero a producción

El camino guiado para montar tu propia infraestructura con Docker: instala el motor, domina redes, volúmenes, secretos, healthchecks y límites de recursos, y añade un panel, un proxy inverso, SSO y una capa de seguridad.

  • 29 recursos
  • 22 visitas
  • ~219 min
  • 19 guías + 10 labs

Esta ruta de aprendizaje enseña a levantar y mantener tu propia infraestructura de self-hosting con Docker, desde la instalación del motor hasta un stack en producción con proxy inverso, SSO y protección WAF. Está pensada para cualquiera que quiera dejar de depender de servicios de terceros y alojar sus propias aplicaciones en un servidor propio o VPS.

Qué vas a poder hacer

Al terminar sabrás desplegar y aislar servicios en contenedores, conectar varios contenedores mediante redes Docker, persistir datos con volúmenes, gestionar secretos sin exponerlos en el código y proteger tus stacks con healthchecks, límites de recursos y actualizaciones automáticas. El nivel es principiante: no hace falta experiencia previa con contenedores, aunque ayuda tener nociones básicas de la línea de comandos de Linux.

Cómo se construye la ruta

El recorrido empieza por la instalación de Docker en Ubuntu 24.04 y los fundamentos de redes bridge y personalizadas. A partir de ahí se suman volúmenes y bind mounts para no perder datos al reiniciar contenedores, variables de entorno y secretos en Docker Compose, y healthchecks con políticas de reinicio para servicios más fiables. Con esa base ya puedes instalar Portainer para gestionar contenedores desde un panel visual, montar un registro privado de imágenes y poner Traefik delante de tus servicios como proxy inverso con certificados automáticos. Los últimos pasos cierran el círculo con Coolify como plataforma de despliegue, Authentik para inicio de sesión único y CrowdSec como cortafuegos comunitario que bloquea IPs maliciosas en tiempo real.

Son 30 pasos que, seguidos en orden, llevan de un servidor recién instalado a una infraestructura con panel, proxy, SSO y seguridad activa: el stack típico que usan miles de homelabs y pequeños proyectos en producción.

Cómo Instalar

Cómo instalar Docker en Ubuntu 24.04

Docker es la plataforma de contenedores más extendida. Esta guía explica cómo instalarlo en Ubuntu 24.04 LTS desde el repositorio oficial, con la clave GPG firmada en /etc/apt/keyrings y el plugin de Compose incluido.

Herramientas

Redes en Docker: bridge, host y redes personalizadas

Docker ofrece seis tipos de red: bridge, host, none, overlay, macvlan e ipvlan. La red bridge por defecto conecta contenedores por IP, pero sin resolución de nombres. Una red bridge personalizada añade un DNS interno para que los servicios se localicen por su nombre, y es la opción recomendada para casi cualquier despliegue.

Herramientas

Cómo funcionan las redes en Docker (bridge y personalizadas)

Docker conecta los contenedores a una red bridge por defecto, pero esa red no resuelve nombres: solo funciona por IP. Al crear una red personalizada con docker network create, Docker activa un DNS interno y cada contenedor puede localizar a los demás por su nombre, quedando aislado del resto de redes.

Herramientas

Volúmenes y bind mounts en Docker: persistencia de datos

Un contenedor pierde sus datos cuando lo borras, salvo que los guardes fuera. Docker ofrece dos vías: los volúmenes con nombre, que gestiona él mismo en /var/lib/docker/volumes, y los bind mounts, que enlazan una carpeta del host. Aquí verás cuándo usar cada uno, cómo montarlos en Compose y cómo hacer copias de seguridad.

Herramientas

Cómo persisten los datos en Docker con volúmenes y bind mounts

Un contenedor es efímero, pero sus datos no tienen por qué serlo. Un volumen de Docker vive fuera del contenedor, gestionado por Docker, mientras que un bind mount usa directamente una ruta del host. En este laboratorio creamos un volumen con nombre, escribimos datos desde un contenedor, lo eliminamos por completo y leemos esos mismos datos desde uno nuevo.

Herramientas

Copia de seguridad y restauración de volúmenes en Docker

Un volumen Docker guarda datos fuera del contenedor, en una ubicación que gestiona el propio Docker. Para respaldarlo, un contenedor alpine desechable monta el volumen y una carpeta del host, y empaqueta los datos con tar en un .tar.gz. Restaurar es el proceso inverso: extraer ese archivo dentro de un volumen nuevo y comprobar que los datos vuelven intactos.

Herramientas

Cómo montar una app multi-contenedor con Docker Compose

Docker Compose es la herramienta que describe una aplicación multi-contenedor en un único archivo YAML: qué servicios levantar, cómo se conectan en red y qué datos persisten en volúmenes con nombre. En este lab defines un servicio web con Nginx y una caché con Redis, los conectas por nombre de servicio y compruebas todo con curl.

Herramientas

Variables de entorno y secretos en Docker Compose

Docker Compose ofrece tres formas de pasar configuración a un contenedor: la clave environment, el atributo env_file y el archivo .env para interpolar valores. Para datos sensibles no uses variables de entorno; los secretos en Docker Compose se montan como ficheros de solo lectura en /run/secrets/, lejos de los logs y del entorno del proceso.

Herramientas

Gestión de secretos en Docker (sin dejarlos en la imagen)

La gestión de secretos en Docker significa nunca dejar tokens ni contraseñas en ARG, ENV o COPY del Dockerfile, porque quedan grabados en la imagen para siempre. Este lab demuestra la fuga real con docker history y la corrige con BuildKit --secret, un archivo de solo lectura, un env-file acotado y los secrets nativos de Compose.

Herramientas

Healthchecks y políticas de reinicio en Docker Compose

Un healthcheck es un comando que Docker ejecuta de forma periódica dentro del contenedor para decidir si el servicio está sano; su estado pasa de starting a healthy o unhealthy. Combinado con una política de reinicio (no, always, on-failure o unless-stopped) y con depends_on y la condición service_healthy, evita que una aplicación arranque antes que su base de datos.

Herramientas

Perfiles (profiles) en Docker Compose

Los perfiles de Docker Compose etiquetan servicios para que solo arranquen cuando activas su perfil con --profile o COMPOSE_PROFILES. Los servicios sin perfil se ejecutan siempre; los marcados quedan en reposo hasta que los pides. Así conviven en un mismo archivo la base, las herramientas de depuración y los extras opcionales sin ficheros duplicados.

Herramientas

Límites de recursos (CPU y RAM) y logs en Docker

Docker no limita por defecto la CPU ni la RAM de un contenedor: uno solo puede agotar el servidor. En Compose se acotan con deploy.resources.limits (cpus, memory) o los atajos mem_limit y cpus, y los logs se controlan con el controlador local, que rota a 20 MB y 5 ficheros por defecto.

Cómo Instalar

Cómo instalar Portainer con Docker Compose v2

Portainer es la UI web de referencia para gestionar contenedores Docker, stacks de Compose y clusters Swarm/Kubernetes. Guía paso a paso con compose.yaml moderno, HTTPS en el puerto 9443, volumen nombrado y configuración opcional con Traefik.

Instalar Portainer con Docker Compose v2

Instala Portainer en Docker paso a paso: volumen persistente, contenedor con la UI en el puerto 9443 y acceso web verificado. Cada paso se comprueba.

Cómo Instalar

Cómo instalar Komodo con Docker y gestionar varios hosts

Komodo es una aplicación web en Rust que gestiona contenedores, stacks de compose y builds en tantos servidores como quieras. Se instala con un compose oficial que levanta MongoDB, el servidor Core en el puerto 9120 y el agente Periphery, y cada máquina adicional se añade con una clave de alta.

Herramientas

Komodo vs Portainer vs Dockge: qué gestor de Docker elegir en 2026

Dockge edita tus ficheros compose y los deja intactos en disco; Portainer es la consola generalista y madura, con roles y GitOps reservados a la edición Business, gratuita hasta tres nodos; Komodo despliega desde Git sobre varios servidores sin reservar nada de pago, a cambio de pedir una base de datos y un agente por máquina.

Herramientas

Multi-stage builds en Docker: imágenes más pequeñas y seguras

Un multi-stage build en Docker encadena varias etapas FROM en un mismo Dockerfile: una compila con el compilador completo y la etapa final, mínima (Alpine, scratch o distroless), solo copia el binario resultante con COPY --from=build. La imagen de producción queda mucho más pequeña y con menor superficie de ataque.

Herramientas

Cómo montar un registro privado de imágenes Docker

Un registro privado Docker es tu propio almacén de imágenes: la imagen oficial registry escucha en el puerto 5000, guarda las capas en un volumen y, con autenticación htpasswd en formato bcrypt y HTTPS tras un proxy inverso, te permite hacer push y pull de imágenes sin depender de Docker Hub ni de sus límites de descarga.

Herramientas

Cómo montar un registro Docker privado y autoalojado

Un registro Docker privado es el servidor que guarda y sirve tus propias imágenes de contenedor en vez de Docker Hub. En este laboratorio levantas la imagen oficial registry:3, etiquetas y subes una imagen alpine, la recuperas tras borrarla en local y la proteges con htpasswd y TLS.

Cómo Instalar

Cómo instalar Traefik con Docker Compose

Traefik es un proxy inverso que descubre automáticamente los contenedores Docker mediante etiquetas y renueva sus certificados TLS con Let's Encrypt sin intervención manual. Para instalarlo con Docker Compose se define su configuración estática en traefik.yml, se generan credenciales de autenticación básica para el panel y se levanta el contenedor conectado a una red Docker dedicada.

Herramientas

Proxy inverso con Traefik y Docker (enrutado real por Host)

Traefik con Docker es un proxy inverso que lee el socket de Docker y convierte las etiquetas de cada contenedor en reglas de enrutado automáticas. En este laboratorio lo levantas junto a dos backends y compruebas con curl que cada nombre de host llega al contenedor correcto, sin tocar ningún fichero de rutas.

Herramientas

Watchtower: actualizar contenedores Docker automáticamente

Watchtower es un contenedor que vigila los registros Docker, detecta cuando hay una imagen más reciente, la descarga y recrea tu contenedor con las mismas opciones. Se configura con un pequeño docker-compose.yml, sondea cada 24 horas por defecto y puede limitarse por etiquetas o quedarse solo en modo aviso.

Cómo Instalar

Cómo instalar Coolify en Docker (guía paso a paso 2026)

Coolify es una plataforma de despliegue autohospedada que funciona sobre Docker: gestiona aplicaciones Git, bases de datos y certificados SSL desde un panel web propio. Se instala con un script oficial que levanta Docker y los contenedores de Coolify en 2 a 5 minutos sobre Ubuntu 24.04 o Debian 13, sin pasos manuales adicionales.

Cómo Instalar

Cómo instalar Authentik para SSO auto-alojado

Authentik es uno de los proyectos de identidad auto-alojada más sólidos del panorama open source. Guía práctica de instalación con Docker Compose, arquitectura sin Redis desde 2025.10 y los puntos de fricción reales en la primera instalación.

Cómo Instalar

Cómo instalar Pocket ID para tener SSO con passkeys en el homelab

Pocket ID es un proveedor OpenID Connect que solo admite passkeys, así que no guarda contraseñas de nadie. Se despliega con un contenedor, un puerto y un fichero de entorno, exige HTTPS porque WebAuthn no funciona sin contexto seguro, y deja tus aplicaciones detrás de un inicio de sesión único.

Herramientas

Pocket ID vs Authelia vs Authentik: qué SSO elegir para tu homelab

Authelia protege aplicaciones desde el proxy inverso, Pocket ID es un proveedor OIDC certificado que solo admite passkeys y Authentik añade SAML, LDAP, SCIM y RADIUS a cambio de PostgreSQL, Redis y 2 GB de RAM. Elegir SSO para tu homelab consiste en decidir cuál de esos tres mecanismos necesitas.

Cómo Instalar

Cómo instalar CrowdSec como WAF comunitario

CrowdSec sustituye a fail2ban separando la detección (agente + LAPI) del bloqueo (bouncers): instala el agente con el script oficial en Debian o Ubuntu, activa las collections adecuadas, añade un bouncer para Traefik o el firewall y, si quieres, la remediación con captcha de Cloudflare Turnstile y la blocklist comunitaria compartida entre miles de instalaciones.